Loops
จีราวัฒน์ ศิรยศลักษณ์ 650710534
LOOPS
การ LOOP คือการวนซ้ำของระบบหรือสั่งให้ทำงานวนตามจำนวนครั้งที่ต้องการ โดยที่เงื่อนไขส่วนใหญ่ในคำสั่งควรเป็นจริงเพื่อสั่งให้ทำงานวนซ้ำภายใน loop
ลูปส่วนใหญ่แบ่งออกเป็น 2 ประเภท
Entry Controlled Loops (ลูปที่ตรวจสอบเงื่อนไขก่อนเข้า)
เป็นลูปประเภทที่จะตรวจสอบเงื่อนไขก่อนที่จะทำคำสั่งภายในลูป เช่น หากเงื่อนไขไม่ตรงตามที่กำหนดตั้งแต่ต้น ลูปข้างในก็จะไม่ทำงานเลย เช่น For loop และ While loop
ตัวอย่างลูป for

ตัวอย่างลูป while

Exit Controlled Loops (ลูปที่ตรวจสอบเงื่อนไขหลังออก)
เป็นลูปประเภทที่จะทำคำสั่งภายในลูปก่อนแล้วจึงค่อยตรวจสอบเงื่อนไขของลูปหลังจากทำงานแต่ละรอบของลูป ดังนั้น จะทำงานภายในลูปก่อน 1 รอบเสมอ ไม่ว่าเงื่อนไขจะเป็นจริงหรือไม่ ตัวอย่างเช่น do-while
ตัวอย่างลูป do-while

Infinite loop
ลูปนี้เป็นลูปที่ไม่รู้จบ จะทำคำสั่งซ้ำไปเรื่อยๆ ไม่ว่าเงื่อนไขจะเป็นเท็จหรือจริง จบกว่าจะมีแรงจากภายนอกเพื่อยุติกันทำงาน
การใช้ลูปอนันต์จะมีประโยชน์ก็ต่อเมื่อ เราต้องการให้วนซ้ำการทำงานตราบเท่าที่โปรแกรมของเราทำงาน เช่นการเคลื่อนไวของอนิเมชั่น คุณอาจจะต้องการให้อนิเมชั่นวิ่งวนซ้ำเพื่อตรวจสอบ กรณีนี้การใช้ลูปอนันต์จึงจำเป็น
ตัวอย่างลูปอนันต์
Nested loops
หมายถึงลูปที่มีลูปข้างในอีกที เราจึงเรียกว่า nested loops
ตัวอย่างลูปซ้อน
การซ่อนไม่จำเป็นต้องใช้ตัววนเดียวกันก็ได้ เราสามารถใส่ for loop ไว้ข้างใน while loop หรือ do-while loop ไว้ข้างใน for loop ก็ได้ ตามตัวอย่างข้างล่าง
Compare with other language C / JAVA / PYTHON
For loops
ใน C มีการเปลี่ยนตรงส่วนของการแสดงผลโดยใช้
printf()
เพื่อแสดงผลใน Java รูปแบบคล้ายกับ C แต่ใช้
System.out.println()
สำหรับแสดงผลส่วนใน Python จะใช้ฟังก์ชัน
range()
สำหรับการสร้างลำดับตัวเลข และใช้print()
สำหรับการแสดงผล และไม่มีเครื่องหมายปีกกา ( {} ) ใช้การเว้นเยื้อง (indentation) แทน
While loops
ทั้ง 3 ภาษา C# C java มีความคล้ายกัน
ส่วน Python ใช้การเยื้องบรรทัดและใช้ตัวดำเนินการ
+=
แทนi++
เนื่องจาก Python ไม่มีรูปแบบ++
หรือ--
do-while loops
Python ไม่มี
do-while
loop โดยตรง แต่สามารถจำลองได้ด้วยwhile
และใช้คำสั่งbreak..
Summary of Comparing
ภาษา C : เป็นโครงสร้างพื้นฐานมากที่สุด ใช้
for
,while
, และdo-while
โดยต้องจัดการตัวแปรและลำดับการเพิ่มค่าเองภาษา Java : คล้ายกับ C แต่มีความสามารถเพิ่มขึ้น เช่น
for-each
loop (เนื้อหาถัดไป)ภาษา Python : ใช้งานง่ายสุด มีการจัดการตัวแปรภายในโครงสร้าง loop และมี
for
ที่สามารถใช้งานกับลิสต์หรือคอลเลกชันอื่น ๆ ได้ โดยไม่ต้องระบุลำดับขั้นตอนไปเอง
video presentation
Slide presentation
Source แหล่งที่มา
C#
C
Java
Python
Last updated