For loops กับการสร้างสรรค์โปรแกรม

จับภาพหน้าจอ 2559-05-06 เวลา 11.43.40

คำสั่ง For

           คำสั่งวนซ้ำ เป็นคำสั่งใช้แก้ปัญหาโจทย์ในลักษณะที่มีการทำงานเดิมซ้ำกันหลาย ๆ ครั้งซึ่งเขียนในรูปแบบของผังงานได้ดังรูจับภาพหน้าจอ 2559-05-06 เวลา 12.07.05

คําสั่ง for เป็นคำสั่งวนซ้ำในลักษณะที่รู้จำนวนรอบของการวนซ้ำที่แน่นอน โดยแบ่งรูปแบบหลักออกเป็นสามส่วนได้แก่

ส่วนที่ใช้กำหนดค่าเริ่มต้นของการวนซ้ำ

ส่วนนที่ตรวจเงื่อนไขการวนซ้ำ

ส่วนนของการจัดการค่าตัวนับของการวนซ้ำ

จับภาพหน้าจอ 2559-05-06 เวลา 12.07.15ขั้นตอนของการทำงานเมื่อพบคําสั่ง for มีดังนี้

1. ทำคำสั่งในการกาํหนดค่าตัวนับ

2. ตรวจสอบเงื่อนไขการวนซ้ำหากเป็นเท็จจะหยุดและออกจากการทาํงานของคาํสั่งforไปทำงานคำสั่งหลังจากนั้น

3. กรณเงื่อนไขการวนซํ้าเป็นจริงจะทําคำสั่งในขอบเขตของ for นั้นคือภายใต้เครื่อง { } จนกระทั่งหมด และไปทำ คำสั่งจัดการค่าตัวนับ ซึ่งอาจจะเป็นการเพิ่มค่าหรือลดค่าตัวนับ หลังจากนั้นจะ กลับไปตรวจสอบเงื่อนไขการวนซ้ำในขั้นตอนท่ี 2 ทําเช่นนี้เรื่อยไปจนกระทั่งเงื่อนไขการวนซํ้าเป็น เท็จ

หากคำสั่งที่ต้องทำในการวนซำ้มีเพียง 1 คําสั่ง รูปแบบการเขียนจะเขียนเครื่องหมาย { } ครอบคําสั่ง นั้นไว้หรือ ไม่ก็ ได้ แต่ถ้ามีคำสั่งที่ต้องทำซํ้ามากกว่า 1 คําสั่ง จะต้องมีเครื่องหมาย { } แสดงขอบเขตของการทำวนซ้ำเสมอ

ตัวอย่างโค้ด

จับภาพหน้าจอ 2559-05-06 เวลา 12.07.23

หน้าตาเอาท์พุต

จับภาพหน้าจอ 2559-05-06 เวลา 12.07.36

          ในการทํางานของคาํสั่งforสิ่งสาํคัญที่ผู้ใช้จะต้องรู้คือทําอย่างไรจึงจะวนทําซํ้าได้เท่ากับจาํนวนรอบ ที่ต้องการ จากตัวอย่างที่ข้างต้น มีการใช้ตัวแปร i เป็น ตัวนับ จำนวนรอบของการทาํ ซํ้า ในที่นี้ต้องการให้มีการทํา ซ้ำทั้งหมด 5 รอบ ไล่ขั้นตอนการทํางานของโปรแกรมได้ดังนี้

  1. กำหนดให้ i มีค่าเริ่มต้นที่ 0
  2. แล้วตรวจสอบว่า i มีค่าน้อยกว่า 5 เงื่อนไขเป็นจริง มีรับข้อมูลตัวแรกและทําการบวกเลขที่รับเข้ามานั้นเก็บไว้ในตัวแปร sum
  3. เพิ่มค่า i ขึ้น 1 เพราะฉะนั้น i มีค่าเท่ากับ 1
  4. แล้วตรวจสอบว่า i มีค่าน้อยกว่า 5 เงื่อนไขเป็นจริง มีรับข้อมูลตัวที่ 2 และทำการบวกเลขที่รับเข้ามานั้นเก็บไว้ในตัวแปร sum
  5. เพิ่มค่า i ขึ้น 1 เพราะฉะนั้น i มีค่าเท่ากับ 2
  6. แล้วตรวจสอบว่า i มีค่าน้อยกว่า 5 เงื่อนไขเป็นจริง มีรับข้อมูลตัวที่ 3 และทำการบวกเลขที่รับเข้ามานั้นเก็บไว้ในตัวแปร sum
  7. เพิ่มค่า i ขึ้น 1 เพราะฉะนั้น i มีค่าเท่ากับ 3
  8. แล้วตรวจสอบว่า i มีค่าน้อยกว่า 5 เงื่อนไขเป็นจริง มีรับข้อมูลตัวที่ 4 และทำการบวกเลขที่รับเข้ามานั้นเก็บไว้ในตัวแปร sum
  9. เพิ่มค่า i ขึ้น 1 เพราะฉะนั้น i มีค่าเท่ากับ 4
  10. แล้วตรวจสอบว่า i มีค่าน้อยกว่า 5 เงื่อนไขเป็นจริง มีรับข้อมูลตัวที่ 5 และทำการบวกเลขที่รับเข้ามานั้นเก็บไว้ในตัวแปร sum
  11. เพิ่มค่า i ขึ้น 1 เพราะฉะนั้น i มีค่าเท่ากับ

12.ตรวจสอบเงื่อนไข i มีค่าน้อยกว่า5พบว่าเงื่อนไขเป็นเท็จ ก็จะจบการทํางานภายในคาํสั่งfor

พิจารณาค่าของการวนซ้ำต่อ ไปน้ี ว่าค่าเริ่มต้นของตัวนับการทำ ซํ้าเป็นเท่าใด ทำซํ้าทั้งหมดกี่รอบ และค่าสุด ท้ายของตัวนับที่ออกจากการทำซํ้าเป็นเท่าใด จากตาราง

จับภาพหน้าจอ 2559-05-06 เวลา 12.51.26

จะเหน็ว่าคำสั่งส่วนต่างๆของคาํสั่งforสามารถเขียนนได้หลายรูปแบบแต่สุดท้ายที่ต้องการคือการ ควบคมุ จำนวนรอบของการทําซํ้าให้ได้เท่ากับจำนวนที่ผู้เขียนโปรแกรมต้องการ

สิ่งที่ต้องระวังในการเขียนคือ

for(i=0;i<5;i++);

printf(“Hello\n”);

การใส่เครื่องหมาย ; ต่อท้ายคำสั่ง for เครื่องหมาย ; เป็นคาํสั่งที่เรียกว่า NullStatement นับเป็น คำสั่ง 1 คำสั่ง โดยที่คําสั่งนี้จะไม่ทําอะไรเลย เพราะฉะนั้นในตัวอย่างดังกล่าว จะมีการวนทําซํ้าโดยไม่ทำอะไรเลย 5 รอบ แล้วจึงพิมพ์ข้อความ Hello เพียงข้อความเดียว แทนที่จะพิมพ์ข้อความ Hello 5 ครั้ง

วีดีโออธิบาย

YouTube Preview Image

 

Woranan Ruksanit
at GlurGeek.Com
นักศึกษาคณะวิศวกรรมศาสตร์ สาขาวิศวกรรมคอมพิวเตอร์ ชั้นปีที่4
มหาวิทยาลัยกรุงเทพ

Leave a Reply

Copyright © 2021 GlurGeek.Com. All Rights Reserved.