โครงสร้างการทำงานแบบวนซ้ำ อาจารย์สมเกียรติ ช่อเหมือน สาขาวิชาวิศวกรรมซอฟต์แวร์ คณะวิทยาศาสตร์และเทคโนโลยี (tko@webmail.npru.ac.th)
เนื้อหาที่สนใจ โครงสร้างการทำงานแบบวนซ้ำ (Repetition structure) การกำหนดให้วนซ้ำ (Loop) การวนซ้ำตลอดไป การกำหนดจำนวนรอบในการทำงาน การกำหนดเงื่อนไขในการทำงาน การควบคุมสถานะแบบซ้อนภายใน หยุดการทำงานด้วยคำสั่ง break การทำต่อรอบถัดไปด้วยคำสั่ง continue ตัวอย่างการเขียนโปรแกรมวนซ้ำด้วยคำสั่ง for(), while(), do…while() http://1.bp.blogspot.com/-tw1caa8lBus/Vphe8RV3rwI/AAAAAAAAAKM/wAhp-ds7iQM/s1600/8.png
โครงสร้างการทำงานแบบวนซ้ำ (Repetition structure) โครงสร้างการทำงานแบบวนซ้ำ ช่วยเพิ่มประสิทธิภาพในการประมวลผลของคอมพิวเตอร์ ด้วยการทำงานซ้ำ (Loop) ตามเงื่อนไขที่กำหนด รูปแบบการประมวลผลแบบอัตโนมัติ ลักษณะการทำงานของโครงสร้างแบบวนซ้ำมี 3 แบบ For Loop While Loop Do…while การหยุดการทำงานตามเงื่อนไข หรือข้ามการทำงาน เงื่อนไขที่ให้ออกจากลูป https://play.google.com/store/apps/details?id=org.isoron.uhabits http://www.c-sharpcorner.com/UploadFile/97fc7a/retrospection-start-stop-and-continue-methodology-in-agile/
การกำหนดให้วนซ้ำ (Loop) การวนซ้ำขึ้นอยู่กับเงื่อนไขและข้อตกลง ที่ช่วยตัดสินใจว่าวนทำงานซ้ำหรือไม่ กำหนดจุดเริ่มต้นหรือค่าเริ่มต้น การวนซ้ำ ช่วยให้ทำงานซ้ำตามรูปแบบที่กำหนดได้ ใช้ตัวนับ การเพิ่มหรือลดตามรูปแบบทางคณิตศาสตร์ ใช้การกำหนดสถานะ ด้วยตัวแปรสถานะ และปรับเปลี่ยนค่าสถานะ ใช้เวลาเป็นตัวกำหนด เป็นต้น จุดสิ้นสุด ขึ้นกับการตรวจสอบเงื่อนไขทั้งจริงและเท็จ ทำจนเสร็จ (end) หยุดการทำงาน(break) หรือ ทำต่อรอบถัดไป (continue) ทำงานตลอดไป (Forever)
การวนซ้ำตลอดไป รูปแบบการแสดงผล * เปรียบเหมือนการให้ทำงานตลอดเวลา ไม่มีหยุด while loop For loop Do while loop
การกำหนดจำนวนรอบในการทำงาน - ตัวนับ ให้ทำงาน 15 ครั้ง - ค่าเริ่มต้น 0001 - โดยกดนับ 1 ครั้ง เพิ่มค่าทีละ 1 - เงื่อนไขจนกว่าจะครบ 15 ครั้ง http://www.priceza.com/s/ราคา/เครื่องนับจำนวน http://www.sitesbay.com/cprogramming/c-for-loop
การกำหนดเงื่อนไขในการทำงาน กำหนดจุดตรวจตรา ทำจนกว่าจะเสร็จ ไม่สามารถระบุจำนวนรอบได้ หาค่าผลบวกเลขตั้งแต่ 1-100 ที่เท่ากับหรือใกล้เคียงกับ 100 http://www.flaticon.com/
การควบคุมสถานะแบบซ้อนภายใน การตรวจสอบเงื่อนไขภายใน เปลี่ยนแปลงค่าให้ไม่ตรงตามเงื่อนไขการวนซ้ำ รูปแบบการดำเนินการก่อน แล้วจึงตัดสินใจในการวนซ้ำ (x>20) หยุด
หยุดการทำงานด้วย break #include <stdio.h> #include <conio.h> #include <stdlib.h> void main(){ int r ; for(;;){ r= rand() % 25; printf("random=%d\n",r); if(r==0){ printf("random Stop!"); break; } getch();
การทำต่อรอบถัดไปด้วย continue #include <stdio.h> #include <conio.h> #include <stdlib.h> void main(){ int r ; for(;;){ r= rand() % 25; printf("random=%d\n",r); if(r==0){ printf("random continue?"); getch(); continue; }
การแสดงสูตรคูณแม่ 2 ด้วย For Loop รูปแบบ 2xR=O คือ ผลลัพธ์ในแต่ละรอบ ซึ่ง R เริ่มตั้งแต่ 1-12 https://pantip.com/topic/33198618
การวนรับค่าจำนวนเต็มด้วย For Loop รูปแบบการแสดงผลและรับค่าผ่านตัวแปร x[i] โดยวนซ้ำ 10 รอบ
การคำนวณหาผลบวก 1-1,000,000 ด้วย For Loop รูปแบบการบวกและจัดเก็บที่ตัวแปร sum โดยวนซ้ำ 1,000,000 รอบ 1+2+3
การคำนวณหาผลบวกของเลขคู่ตั้งแต่ 1-100 #include <stdio.h> #include <conio.h> void main(){ int sum=0; for(int i=2;i<=100;i+=2){ sum+=i; } printf("summation Even number 1 to 100 =%d",sum); getch();
การคำนวณหาผลบวกของเลขคี่ตั้งแต่ 1-100 #include <stdio.h> #include <conio.h> void main(){ int sum=0; for(int i=1;i<=100;i+=2){ sum+=i; } printf("summation Odd number 1 to 100 =%d",sum); getch();
การรับค่าตามที่กำหนดด้วย while เพื่อหาค่าเฉลี่ย รูปแบบการรับค่าและจัดเก็บค่าผลบวกไว้ที่ตัวแปร sum แล้วหาค่าเฉลี่ย
การแสดงเครื่องหมาย + 1,000,000 ด้วย while รูปแบบการแสดงเครื่องหมาย + แล้วตั้งเงื่อนไขในการหยุดทำงาน เงื่อนไขภายในด้วย if() เชื่อมตัวควบคุมด้วย && ใช้ตัวนับผ่านตัวแปร i
การซ้อนทับของการวนซ้ำแบบตำแหน่ง (x,y) รูปแบบการแสดงตำแหน่งของข้อมูลแบบตาราง ผ่านตัวแปร (i,j)
การแสดงตารางสูตรคูณแม่ 2-12 โดยใช้ลูปซ้อนลูป https://pantip.com/topic/33198618
การแสดงรายการผ่อนชำระผ่านบัตรเครดิต
การแสดงลำดับเลขอนุกรมหลายชั้น
การแสดงลำดับเลขอนุกรมหลายชั้น
การแสดงลำดับแบบมีค่าแตกต่างเป็นชุด
การแสดงผลบวกจากสมการคณิตศาสตร์ด้วยลูป http://math.rwb.ac.th/supapon/theme_93.html
For, while, Do while For(;;){ } While(true) { } do{ } While(true); break;
สรุป การวนซ้ำเป็นโครงสร้างที่จำเป็นในการประมวลผลข้อมูลแบบอัตโนมัติ ช่วยให้ทำงานตามรูปแบบที่กำหนดซ้ำๆ ได้หลายรอบ โครงสร้างการวนซ้ำของภาษาซีประกอบด้วย for, while และ do…while การวนซ้ำสามารถทำงานได้ตลอดเวลา หรือกำหนดจำนวนรอบที่ชัดเจน ใช้การตรวจตราและเงื่อนไขเพื่อหยุดหรือทำต่อไปได้ การวนซ้ำสามารถประยุกต์กับการทำงานที่มีการกำหนดรูปแบบในการทำงาน ทำให้คอมพิวเตอร์ประมวลผลได้แบบอัตโนมัติ