โครงสร้างควบคุม 1. โครงสร้างควบคุมแบบวนทางเลือก 1.1 คำสั่ง if 2. โครงสร้างควบคุมแบบวนซ้ำ 2.1 คำสั่ง while 2.2 คำสั่ง do… while 2.3 คำสั่ง for http://itd.htc.ac.th/st_it50/it5016/nidz/Web_C/unit7.html
โครงสร้างควบคุมแบบวนซ้ำ
คำสั่งวนลูป ความหมายของลูป(loop) ลูป(loop)ในที่นี้มีความหมายว่า การวนซ้ำ ซึ่งการวนซ้ำในทาง ภาษาคอมพิวเตอร์ คือ การทำคำสั่งหรือชุดคำสั่งนั้นซ้ำกันหลายๆครั้ง
Pre-test Loop การกระทำ การกำหนดค่า 1 จำนวนครั้งในการตรวจสอบ Pre-test Loop การกระทำ การกำหนดค่า 1 จำนวนครั้งในการตรวจสอบ n+1 จำนวนครั้งในการทำคำสั่ง n จำนวนครั้งในการปรับปรุง n จำนวนครั้งที่น้อยที่สุดในการวน 0 Post-Test loop การกระทำ การกำหนดค่า 1 จำนวนครั้งในการตรวจสอบ n จำนวนครั้งในการทำคำสั่ง n จำนวนครั้งในการปรับปรุง n จำนวนครั้งที่น้อยที่สุดในการวน 1 n คือ จำนวนของการวนซ้ำ
คำสั่ง while คำสั่ง while จะใช้เงื่อนไขเป็นตัวควบคุมลูป ลูป while นี้จะเป็นลูปแบบ pre-test loop ซึ่งจะทำการตรวจสอบเงื่อนไขก่อนที่จะไปทำคำสั่งในลูป ผังการทำงานและชุดคำสั่งเบื้องต้นของ while
int main() { int a; a = 1; while(a<=10) { printf(“ a= %d \n”,a); a = a+1; } printf(“End of job”); }
scanf(“%d”,&a); scanf(“%d”,&b); while (a>b) { b=b+1; a=a-1; printf(“a= %d”,a); printf(“b= %d”,b); } printf(“End of job”);
int count = 1,sum=0; float average; while(count<=5) { scanf (“%d”,&data); sum = sum+data; count = count+1; } average=sum/5; printf(“%.2f”,average);
จากผังงาน ให้แก้ไขและเขียนโปรแกรมเพิ่มเติม โดยให้แสดงผลว่ามีเลขคี่และเลขคู่อย่างละกี่จำนวน
สรุป คำสั่ง while ต้องมีอย่างน้อย 3 ส่วนคือ 1 ส่วนกำหนดค่า 2 ส่วนเงื่อนไข 3. ส่วนปรับเปลี่ยนค่า
แบบฝึกหัด 1. จงเขียนผังงานและโปรแกรม รับค่าจำนวนเต็ม 1 จำนวน แล้วแสดงผลเป็นสูตรคูณ (โดยใช้ pre-test loop ) ตัวอย่าง Enter number : 5 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 : 5*12 = 60 End of job…. Thanks.
แบบฝึกหัด 2. จากข้อ 1 กำหนดให้รับเฉพาะค่า 2-12 เท่านั้น (ถ้าไม่ใช้ 2-12 ต้องรับเลขใหม่ ตัวอย่าง Enter number : 15 Enter number : 5 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 : 5*12 = 60 End of job…. thanks.
แบบฝึกหัด 3. จงเขียนผังงานและโปรแกรมแสดงการหาผลบวกของเลข 1 ถึง 100 ออกมาบนจอภาพ 4. จงเขียนโปรแกรมเปลี่ยนค่าองศาเซลเซียส ให้เป็นองศาฟาเรนไฮท์ จาก 0 ถึง 20 องศา โดยให้เพิ่มค่าองศาเซลเซียสขึ้นครั้งละ 1 ให้แสดงเป็นค่าองศาเซลเซียสและองศาพาเรนไฮท์ ทุกครั้ง ดังนี้ Celsius Fahrenheit 0 32.00 1 33.00 2 35.00 3 37.40 (แสดงถึง 20 68.00)
คำสั่ง do…while เป็นลูปแบบ Post-Test Loop ซึ่งลูปแบบนี้จะมีคำสั่งก่อนที่จะไปทำการตรวจสอบตัวควบคุมลูป
แบบฝึกหัด 1. จงเขียนผังงานและโปรแกรม รับค่าจำนวนเต็ม 1 จำนวน แล้วแสดงผลเป็นสูตรคูณ (โดยใช้ post-test loop ) ตัวอย่าง Enter number : 5 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 : 5*12 = 60 End of job…. Thanks.
แบบฝึกหัด 2. จากข้อ 1 กำหนดให้รับเฉพาะค่า 2-12 เท่านั้น (ถ้าไม่ใช้ 2-12 ต้องรับเลขใหม่ ตัวอย่าง Enter number : 15 Enter number : 5 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 : 5*12 = 60 End of job…. Thanks.
แบบฝึกหัด 3. จากข้อ 1 กำหนดให้รับค่าเฉพาะเลข 2-12 เท่านั้น (ถ้าไม่ใช้ 2-12 ต้องรับเลขใหม่ และโปรแกรมจะจบการทำงานเมื่อ รับค่า ศูนย์ ตัวอย่าง Enter number : 15 Enter number : 5 พิมพ์สูตรคูณของ 5 Enter number : 10 พิมพ์สูตรคูณของ 10 Enter number : 0 End of job…. thanks.