เกี่ยวกับรายวิชา
หน่วยการเรียนรู้ที่ 1
ปฏิทินกิจกรรม
คำสั่งทำซ้ำ (Looping)
การเขียนโปรแกรมควบคุมทิศทางแบบวนซ้ำ (Loop) ในภาษาซี หมายถึง การทำคำสั่งซ้ำๆ กันหลายครั้งตามเงื่อนไขที่กำหนดไว้ ในการตรวจสอบเงื่อนไข จะมีรูปแบบของการตรวจสอบเงื่อนไขอยู่ 2 แบบ คือ
1. ตรวจสอบก่อนการวนซ้ำ รูปแบบนี้จะตรวจสอบเงื่อนไขว่าเป็นจริงหรือเป็นเท็จ ถ้าเป็นจริงก็จะไปทำงานตามคำสั่งที่กำหนดไว้ และเมื่อทำงานเสร็จก็จะกลับมาทำการตรวจสอบเงื่อนไขอีกครั้ง ทำเช่นนี้ไปเรื่อยๆจนกระทั่งเงื่อนไขได้ค่าเป็นเท็จ ก็จบการวนซ้ำ
2. ตรวจสอบหลังการวนซ้ำ รูปแบบนี้จะทำคำสั่งก่อน ทำคำสั่งเสร็จแล้วจึงค่อยมาตรวจสอบเงื่อนไขว่าเป็นจริงหรือเป็นเท็จ ถ้าเป็นจริงก็จะกลับไปทำคำสั่งเดิมอีกครั้ง ทำเช่นนี้ไปเรื่อยๆ จนกว่าเงื่อนไขที่ได้เป็นเท็จ
องค์ประกอบพื้นฐานของการวนซ้ำมี ดังนี้
1. การกําหนดค่าเริ่มต้นของตัวแปรต่าง ๆ ก่อนวนซ้ำ
2. เงื่อนไขที่จะให้ทําวนซ้ำ (จะอยู่ก่อนหรืออยู่ด้านหลังคําสั่งที่อยากทําก็ได้)
3. งานที่ต้องการทําวนซ้ำ
4. การปรับค่าตัวแปรเงื่อนไขการวนซ้ำ (คือการเปลี่ยนค่าตัวแปรที่เกี่ยวพันกับเงื่อนไขที่จะให้ทําหรือจบการวนซ้ำ)
คำสั่งเพื่อการวนรอบหรือเพื่อการทำซ้ำ เป็นคำสั่งที่สั่งให้เครื่องคอมพิวเตอร์ประมวลผลเหตุการณ์ที่ต้องการทำซ้ำ ๆ มากกว่าหนึ่งครั้งโดยการตรวจสอบเงื่อนไข ซึ่งประกอบด้วย
• ฟังก์ชัน for
• ฟังก์ชัน while
• ฟังก์ชัน do…while
• ฟังก์ชัน break
• ฟังก์ชัน continue
• ฟังก์ชัน for
ฟังก์ชันในการวนรอบแบบ for คือ การวนรอบทำซ้ำจนกว่าค่าของตัวแปรที่ตั้งจะครบตามเงื่อนไขที่ต้องการ โดยการที่จะเพิ่มหรือลดค่าทีละหนึ่งไปเรื่อย ๆ ถ้าเงื่อนไขเป็นจริงจะทำตามประโยคคำสั่งภายในเครื่องหมายปีกกา เมื่อตรวจสอบเงื่อนไขแล้วพบว่าเงื่อนไขเป็นเท็จก็จะหยุดการทำงานแล้วออกไปทำประโยคคำสั่งหลังเครื่องหมายปีกกาปิด ซึ่งมีรูปแบบการใช้งานดังนี้
for (initialization; condition; increment or decrement) |
จากรูปแบบของฟังก์ชัน for มีรายละเอียดดังนี้
- Initialization การกำหนดค่าเริ่มต้นให้กับตัวแปรที่ต้องการใช้กำหนดและตรวจสอบเงื่อนไข
- Condition นิพจน์หรือเงื่อนไขที่กำหนดเพื่อตรวจสอบ
- Increment เพิ่มค่าให้กับตัวแปร
- Decrement ลดค่าให้กับตัวแปร รูปแบบ for(กำหนดค่าตัวแปร;ตรวจสอบเงื่อนไข;เพิ่มหรือลดค่าตัวแปร)
{
ประโยคคำสั่ง 1 ;
ประโยคคำสั่ง 2 ;
|
|
ประโยคคำสั่ง n ;
}
ลักษณะการทำงานของคำสั่ง for สามารถเขียนเป็นแผนผังได้ดังนี้
ตัวอย่างที่ 1. แสดงการใช้คำสั่ง for เพื่อวนแสดงตัวเลข 1 ถึง 10 ออกแสดงที่จอภาพ
#include<stdio.h>
#include<conio.h>
main()
{
int num;
clrscr( );
for (num=1; num<=10; num++)
printf( "%3d\n", num); /* end for */
printf("\n\nPress any key back to program...");
getch();
}
ผลลัพธ์ที่ได้จากโปรแกรม
คำอธิบายโปรแกรม
จากโปรแกรมตัวอย่าง สามารถอธิบายการทำงานของโปรแกรมที่สำคัญๆ ได้ดังนี้
บรรทัดที่ 7 คำสั่ง for (num = 1; num <=10; num++) จะเริ่มทำงานโดยการกำหนดค่าเริ่มต้นตัวแปร num เป็น 1 จากนั้นทดสอบเงื่อนไข num <= 10 จริงหรือเท็จ ถ้าเป็นจริงจะทำงานตามคำสั่งบรรทัดที่ 8 ถ้าเป็นเท็จออกจาก for ไปทำคำสั่งบรรทัดที่ 9
บรรทัดที่ 8 ฟังก์ชัน printf( ) เพื่อพิมพ์ค่าของตัวแปร num ในแต่ละรอบของการทำงาน และขึ้นบรรทัดใหม่ด้วย ออกแสดงที่จอภาพ
บรรทัดที่ 9 ฟังก์ชัน printf( ) แสดงข้อความให้กดคีย์ใดๆ เพื่อกลับสู่โปรแกรม
บรรทัดที่ 10 หยุดรอรับค่าใดๆ จากคีย์บอร์ด เช่น ถ้ากด enter ก็จะกลับสู่โปรแกรม
เกี่ยวกับครูผู้สอน
นางสาวรัชนีกร พัดมณีรัตน์
วิทยาฐานะ ครูชำนาญการพิเศษ
โรงเรียนท่าวุ้งวิทยาคาร
สพม. 5 จังหวัดลพบุรี