arrows-rotate-reverseFor Loop

พรทิพา บ่างสุวรรณ์ 630710331

for loop คือ

การทำงานซ้ำๆตามจำนวนครั้งหรือเงื่อนไขที่เรากำหนดไว้ในโค้ด โครงสร้างพื้นฐานของ for loop จะมีความแตกต่างไปตาม syntax ของภาษานั้นๆ

โครงสร้าง for loop ใน PHP

for (expression1, expression2, expression3) {
  // code block
}
  • expression1 คือ ค่าเริ่มต้นของการวนซ้ำ(for loop) โดยจะดำเนินการเพียงครั้งเดียวเมื่อการวนซ้ำเริ่มต้น

  • expression2 คือ การสิ้นสุดก็ต่อเมื่อเงื่อนไขเป็น false (เงื่อนไขไม่เป็นไปตามที่กำหนดในลูป) ลูปนั้นจะสิ้นสุดลง

  • expression3 คือ การเพิ่มหรือการลดจะถูกเรียกใช้หลังจบลูปแต่ละครั้ง

Example เปรียบเทียบโค้ดของแต่ละภาษา

<?php  
for ($x = 0; $x <= 10; $x++) {
  echo "Number is: $x <br>";
}
?>

อธิบายการทำงานของ For Loop แต่ละภาษา

  1. PHP บรรทัดสองที่ระบุว่า for ($x = 0 ; $x <= 10 ; $x++) จะมีการทำงานแบบนี้

  • $x = 0 ; กำหนดค่าเริ่มต้นให้กับ $x โดยเริ่มต้นที่ 0 ก่อนที่จะเริ่มการทำงานของลูป

  • $x <= 10 ; เงื่อนไขใช้ในการตรวจสอบว่าจะทำการวนลูปต่อไปหรือไม่ หากเงื่อนไขนี้เป็นจริง (เช่น $x มีค่าน้อยกว่าหรือเท่ากับ 10) ลูปก็จะทำงานต่อไป แต่ถ้าเงื่อนไขเป็นเท็จ ลูปจะหยุดทำงาน

  • $x++ การเพิ่มทีละ 1 หลังจากการทำงานในแต่ละรอบ (เช่น $x จะเพิ่มค่าจาก 0 เป็น 1, ค่าจาก 1 เป็น 2, และเพิ่มไปเรื่อยๆ จนกว่าจะถึง 10)

  1. Python บรรทัดแรกที่ระบุว่า for number in range (0, 11): เมื่อถึงบรรทัดโค้ดนี้แล้ว python จะนับเพิ่มขึ้นทีละ 1 โดยเริ่มจากที่ค่าตั้งแต่เลข 0 และสิ้นสุดเมื่อตัวแปร loop (ตัวแปร number) ถึงค่าที่เราที่ระบุไว้ โดยค่าสุดท้ายจะน้อยกว่า 1 ของค่าที่เราได้ตั้งไว้ใน range ซึ่งได้กำหนดไว้ที่เลข 11 ดังโค้ดข้างต้น

  2. C เริ่มต้นจากบรรทัดที่ห้าระบุว่า for (i = 0; i <= 10; i++) คือการเริ่มต้นการใช้ for loop โดยการที่เราได้กำหนดค่า i = 0 และ i ต้องสิ้นสุดถึงแค่ 10 ส่วน i++ คือการเพิ่มค่าไปเรื่อยๆจนกว่า i จะถึงค่าที่กำหนด

  3. Java โค้ดจะคล้ายกับภาษา C โดยเริ่มต้นจากบรรทัดที่สามระบุว่า for(int i = 0; i <= 10; i++) คือการเริ่มต้นการใช้ for loop โดยการที่เราได้กำหนดค่า i = 0 และ i ต้องสิ้นสุดถึงแค่ 10 ส่วน i++ คือการเพิ่มค่าไปเรื่อยๆจนกว่า i จะถึงค่าที่กำหนด

สรุปความแตกต่างแต่ละภาษา

  1. Python คำสั่งจะแตกต่างกับภาษาอื่นเพราะมักจะใช้สำหรับการวนอ่านค่าภายในออบเจ็ค เช่น ลิสต์หรือออบเจ็คจากฟังก์ชัน range() และไม่จำเป็นต้องประกาศตัวแปร

  2. C ผู้ใช้ต้องกำหนดทุกส่วนของลูปเองไม่ว่าจะเป็น การตั้งค่าเริ่มต้น การตรวจสอบเงื่อนไข และการเพิ่มหรือลดค่า

  3. Java จะคล้ายกับภาษา C แต่จะมี Enhanced for (เป็นการวนซ้ำผ่านอาเรย์) ซึ่งจะเป็นการวนลูปเหมือนกันแต่จะใช้อาเรย์มาเป็นตัวช่วยให้ง่านขึ้น ตัวอย่างโค้ดข้างล่าง

  • int[] numbers = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

    • เป็นการสร้างอาเรย์ของตัวเลขตั้งแต่ 0 ถึง 10 ใช้ประเภทของข้อมูล int เพื่อเก็บตัวเลข

  • for (int item : numbers) { ... }

    • คือ Enhanced for loop ที่ใช้สำหรับการวนซ้ำผ่านอาเรย์ numbers โดยตัวแปร item จะรับค่าอาเรย์ทีละตัว เริ่มจาก 0 ไปจนถึง 10

    • ในลูปนี้จะไม่มีการใช้ตัวแปรดัชนี (index) จะช่วยให้โค้ดสั้นและอ่านเข้าใจได้ง่ายมากขึ้น

  • System.out.println("Number is: " + item);

    • ในแต่ละรอบของการวนลูป คำสั่งนี้จะพิมพ์ค่าตัวแปร item เป็นค่าในอาเรย์ numbers ออกมาจะแสดงข้อความว่า "Number is:" ตามด้วยตัวเลขในแต่ละรอบของโค้ด

จุดเด่นจุดด้อยของแต่ละภาษา

ภาษา
จุดเด่น
จุดด้อย

PHP

- ไม่ต้องกำหนดประเภทของตัวแปร - เหมาะกับการใช้บนเว็ป

- PHP จะมีความซับซ้อนถ้ามีข้อมูลที่ขนาดใหญ่

Python

- ไม่ต้องกำหนดประเภทของตัวแปร - โครงสร้างภาษาเข้าใจง่าย

- ทำงานช้าในงานที่มีความละเอียดสูง

C

- ควบคุมหน่วยความจำได้ละเอียด - ความเร็วในการทำงานสูง

- ต้องระบุชนิดของตัวแปรเสมอ

Java

- โครงสร้างคล้ายภาษา C -ใช้งานได้ง่าย

- ต้องกำหนดประเภทของตัวแปร - ใช้หน่วยความจำเยอะ

Presentation

file-pdf
838KB

Video Clip

Reference

Last updated