วงแน่นอนเทียบกับวงไม่แน่นอน
การวนซ้ำคือบล็อกของโค้ดที่จะทำซ้ำตามจำนวนที่กำหนดหรือจนกว่าเงื่อนไขบางอย่างจะเป็นไปตามที่กำหนด การวนซ้ำที่แน่นอนคือการวนซ้ำซึ่งทราบจำนวนครั้งที่จะดำเนินการล่วงหน้าก่อนเข้าสู่ลูป ในการวนซ้ำแบบไม่จำกัดจำนวนครั้ง ไม่ทราบจำนวนครั้งที่จะดำเนินการล่วงหน้า และจะดำเนินการจนกว่าจะเป็นไปตามเงื่อนไขบางประการ
วงรอบที่แน่นอนคืออะไร
การวนซ้ำที่แน่นอนคือการวนซ้ำซึ่งทราบจำนวนครั้งที่จะดำเนินการล่วงหน้าก่อนเข้าสู่ลูปโดยทั่วไปแล้ว จำนวนการวนซ้ำจะทำซ้ำผ่านตัวแปรจำนวนเต็ม โดยทั่วไป for loops ถือเป็นการวนซ้ำที่แน่นอน ต่อไปนี้เป็นตัวอย่างของการวนซ้ำที่แน่นอนซึ่งใช้งานโดยใช้ for loop (ในภาษาการเขียนโปรแกรม Java)
for (int i=0; i < num; i++)
{
//เนื้อความของลูป
}
การวนซ้ำด้านบนจะดำเนินการร่างกายหลายครั้งโดยตัวแปร num สามารถกำหนดได้จากค่าเริ่มต้นของตัวแปร i และเงื่อนไขลูป
ในขณะที่ลูปยังใช้สร้างลูปที่แน่นอนได้ดังที่แสดงด้านล่าง (ใน Java)
int i=0;
ในขณะที่(i<num)
{
//เนื้อความของวง
i++;
}
แม้ว่าจะใช้ while loop แต่ก็เป็นการวนซ้ำที่แน่นอน เนื่องจากเป็นที่ทราบล่วงหน้าว่าลูปจะดำเนินการตามจำนวนครั้งที่ระบุโดยตัวแปร num
วนไม่แน่นอนคืออะไร
ในวงไม่สิ้นสุด ไม่ทราบจำนวนครั้งที่จะดำเนินการล่วงหน้า โดยทั่วไป วนซ้ำแบบไม่มีกำหนดจะถูกดำเนินการจนกว่าเงื่อนไขบางอย่างจะสำเร็จ ในขณะที่ลูปและ do-while มักใช้เพื่อนำลูปไม่สิ้นสุดมาใช้ แม้ว่าจะไม่มีเหตุผลเฉพาะเจาะจงสำหรับการไม่ใช้ for ลูปสำหรับการสร้างลูปแบบไม่มีกำหนด แต่การวนซ้ำแบบไม่มีกำหนดก็สามารถจัดระเบียบได้อย่างสวยงามโดยใช้ while ลูป ตัวอย่างทั่วไปบางส่วนที่คุณต้องใช้การวนซ้ำแบบไม่สิ้นสุดคือการเตือนให้อ่านอินพุตจนกว่าผู้ใช้จะใส่จำนวนเต็มบวก อ่านรหัสผ่านจนกว่าผู้ใช้จะใส่รหัสผ่านเดียวกันสองครั้งติดต่อกัน เป็นต้น
Definite Loop และ Indefinite Loop ต่างกันอย่างไร
การวนซ้ำที่แน่นอนคือการวนซ้ำซึ่งทราบจำนวนครั้งที่จะดำเนินการล่วงหน้าก่อนที่จะเข้าสู่ลูป ในขณะที่การวนซ้ำแบบไม่จำกัดจะดำเนินการจนกว่าเงื่อนไขบางอย่างจะเป็นไปตามเงื่อนไขและจำนวนครั้งที่ดำเนินไป การดำเนินการไม่เป็นที่รู้จักล่วงหน้าบ่อยครั้ง การวนซ้ำที่แน่นอนถูกนำมาใช้โดยใช้ for ลูป และ การวนซ้ำแบบไม่ จำกัด ถูกนำมาใช้โดยใช้ while ลูป และ ลูป do-while แต่ไม่มีเหตุผลตามทฤษฎีที่จะไม่ใช้ for loops สำหรับลูปไม่ จำกัด และ while loops สำหรับลูปที่แน่นอน แต่การวนซ้ำแบบไม่มีกำหนดสามารถจัดระเบียบอย่างเรียบร้อยด้วย while ลูป ในขณะที่การวนซ้ำที่แน่นอนสามารถจัดระเบียบอย่างเรียบร้อยด้วยสำหรับลูปได้