การวนซ้ำ
แนะนำใหม่| English | ความหมาย |
|---|---|
| loop/luːp/ | ลูป |
| repeat/rɪˈpiːt/ | การทำซ้ำ |
| Iteration/ˌɪtəˈreɪʃn/ | การวนซ้ำ |
| until/ʌnˈtɪl/ | จนกว่าจะ |
| infinite loop/ˈɪnfɪnət luːp/ | ลูปไม่สิ้นสุด |
| iterations/ˌɪtəˈreɪʃnz/ | รอบการวนซ้ำ |
ลูปซ้ำการทำงาน
- Iteration ทำซ้ำชุดโค้ดโดยใช้ loop (ลูป).
- ลูปช่วยให้โปรแกรมที่ สั้น สามารถทำงานได้ มาก.
- แทนที่จะเขียนบรรทัดเดิมซ้ำ 100 ครั้ง คุณใช้ลูปวนมัน 100 ครั้งแทน.
- มันคือโครงสร้างพื้นฐานที่สาม ร่วมกับ sequencing และ selection.
การทำซ้ำชุดโค้ดด้วยลูปเรียกว่า ______
Difficulty 1/5 · 100 coins + a small bonus on first completion today
การวนซ้ำ (iteration) ช่วยให้โปรแกรมสั้นๆ ทำงานได้มาก
ลูปช่วยให้โปรแกรมสั้นๆ สามารถทำงานซ้ำซ้อนจำนวนมากได้
Difficulty 1/5 · 100 coins + a small bonus on first completion today
นั่นคือจุดประสงค์หลักของการทำซ้ำ
ลูปสองประเภท
- repeat loop (ลูปซ้ำ) รันชุดโค้ดจำนวนครั้ง คงที่ — "REPEAT 10 TIMES" จะรันสิบครั้ง.
- Condition-controlled loop (ลูปควบคุมด้วยเงื่อนไข) จะรันต่อ until (จนกว่า) เงื่อนไขจะเป็นจริง (หรือ while mientras条件是 true).
- จำนวนครั้งที่วนขึ้นอยู่กับข้อมูล ไม่ใช่จำนวนครั้งที่กำหนดไว้ล่วงหน้า.
จับคู่ลูปแต่ละตัวกับสิ่งที่ควบคุมจำนวนรอบของมัน
Difficulty 2/5 · 140 coins + a small bonus on first completion today
"ทำซ้ำ 10 ครั้ง" มีจำนวนแน่นอน; "จนกว่า" ขึ้นอยู่กับข้อมูล
ลูปที่ไม่สิ้นสุดเกิดขึ้นเมื่อ:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
สิ่งที่อยู่ภายในต้องเคลื่อนที่เข้าใกล้เงื่อนไขการหยุด
ระวัง infinite loop
- อันตรายร้ายแรงคือ ลูปไม่สิ้นสุด — ลูปที่ไม่เคยบรรลุเงื่อนไขการหยุด
- โปรแกรมจะรันไปตลอดกาล.
- เพื่อหลีกเลี่ยงมัน ตรวจสอบให้แน่ใจว่ามีอะไรบางอย่าง ภายใน ลูปที่เคลื่อนที่เข้าหาเงื่อนไขหยุด.
- โดยปกติหมายถึงตัวนับ (counter) ที่เปลี่ยนค่าทุกรอบวน.
ติดตามการวนซ้ำ ท่องผ่านทีละรอบ
ตารางติดตาม (trace table) บันทึกค่าตัวแปรทุกตัวหลังจากการวนซ้ำแต่ละครั้ง สังเกต i ที่เพิ่มขึ้นขณะผลรวมสะสม และสังเกตว่าลูปหยุดเมื่อ i ผ่าน 4
ลูปเพิ่ม 1, 2, 3, 4 ลงในผลรวม (เริ่มต้นที่ 0) ผลรวมสุดท้ายคืออะไร?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
1 + 2 + 3 + 4 = 10.
ในลูปผลรวม บรรทัดใดช่วยให้มันไม่กลายเป็นลูป vô无尽?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
หากไม่มี i = i + 1 ค่า i จะไม่เคยผ่าน 4 และลูปจะทำงานไปตลอดกาล
Trace การวนซ้ำ
- เพื่อเข้าใจลูป ให้ trace ตัวแปรผ่าน iterations ของมัน รอบต่อรอบ.
ผลรวม 1 ถึง 4. เริ่ม sum = 0, i = 1. REPEAT UNTIL i > 4: เพิ่ม i เข้า sum, แล้ว i = i + 1. Trace: sum 1 (i→2), 3 (i→3), 6 (i→4), 10 (i→5). ตอนนี้ 5 > 4, ดังนั้นมันหยุด. ผลรวมสุดท้าย = 10. บรรทัด i = i + 1 คือสิ่งที่ป้องกันไม่ให้มันเป็น infinite loop.
Iteration ทำซ้ำชุดโค้ดด้วย loop, ทำให้โปรแกรมสั้นทำงานได้มาก. Repeat loop รันจำนวนครั้งที่กำหนด; condition-controlled loop รัน until เงื่อนไขเป็นจริง. ระวัง infinite loop — ต้องเคลื่อนที่เข้าหาจุดหยุดเสมอ. Trace ตัวแปรผ่าน iterations (ผลรวม 1..4 = 10).