Iteration: WHILE and REPEAT · การทำซ้ำ: WHILE และ REPEAT
This page needs a recent browser (with SharedArrayBuffer support). Please update Chrome, Edge, Firefox or Safari to the latest version. · หน้านี้ต้องใช้เบราว์เซอร์ล่าสุด (รองรับ SharedArrayBuffer) กรุณาอัปเดต Chrome, Edge, Firefox หรือ Safari เป็นเวอร์ชันล่าสุด
English
WHILE tests first
- A pre-condition loop tests the condition, then maybe runs the body.
- If the condition is already
FALSE, the body never runs. - The block ends at
ENDWHILE.
ไทย
WHILE ทดสอบก่อน
- ลูป pre-condition จะทดสอบเงื่อนไขก่อน แล้วจึงอาจทำงานในบอดี้
- หาก
FALSEเป็นจริงตั้งแต่ต้น บอดี้จะไม่ pernah被执行 - Block สิ้นสุดที่
ENDWHILE
DECLARE N : INTEGER
N ← 3
WHILE N > 0
OUTPUT N
N ← N - 1
ENDWHILE
English
REPEAT runs, then tests
- A post-condition loop runs the body, then tests.
- The body runs at least once.
- The loop stops when the condition becomes
TRUE.
ไทย
REPEAT ทำงานก่อน แล้วค่อยทดสอบ
- ลูป post-condition จะทำงานในบอดี่ก่อน แล้วจึงทดสอบเงื่อนไข
- บอดี่จะถูกทำงานอย่างน้อยหนึ่งครั้ง
- ลูปจะหยุดเมื่อ
TRUEเป็นจริง
DECLARE N : INTEGER
N ← 0
REPEAT
N ← N + 1
OUTPUT N
UNTIL N = 3
English
Watch out
WHILEstops onFALSE.REPEATstops onTRUE. They are opposite tests.- Something inside a
WHILEmust change the condition, or the loop never ends.
ไทย
ระวัง
WHILEหยุดเมื่อFALSEเป็นจริง.REPEATหยุดเมื่อTRUEเป็นจริง. เป็นการทดสอบที่ตรงกันข้ามกัน- สิ่งใดสิ่งหนึ่งใน
WHILEต้องเปลี่ยนเงื่อนไข มิฉะนั้นลูปจะไม่มีวันสิ้นสุด
English
Common mistakes
ENDWHILEcloses aWHILE.UNTILcloses aREPEAT.- A
REPEATthat should stop at 3 must updateNbefore the test.
ไทย
ข้อผิดพลาดที่พบบ่อย
ENDWHILEปิดWHILE.UNTILปิดREPEAT.REPEATที่ควรหยุดที่ 3 ต้องอัปเดตNก่อนการทดสอบ
English
Now you try
- Write one
WHILEand oneREPEAT.
ไทย
ลองดูเลย
- เขียน
WHILEและREPEATอย่างละหนึ่งบรรทัด
Set N to 3. While N is greater than 0, output N and then subtract 1. · ตั้ง N เป็น 3. ในขณะที่ N มากกว่า 0, เอาต์พุต N และจากนั้นลบ 1
Click Run to see the output here. · คลิก Run เพื่อดูผลลัพธ์ที่นี่
Use REPEAT … UNTIL to output 1, 2 and 3. · ใช้ REPEAT … UNTIL เพื่อเอาต์พุต 1, 2 และ 3
Click Run to see the output here. · คลิก Run เพื่อดูผลลัพธ์ที่นี่