710130 11 loop

Page 1

โครงสร้างการท้างานแบบวนซ้า อาจารย์สมเกียรติ ช่อเหมือน สาขาวิชาวิศวกรรมซอฟต์แวร์ คณะวิทยาศาสตร์และเทคโนโลยี (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)


การวนซ้​้าตลอดไป • รูปแบบการแสดงผล * เปรียบเหมือนการให้ท้างานตลอดเวลา ไม่มีหยุด

For loop

Do while loop

while loop


การก้าหนดจ้านวนรอบในการท้างาน - ตัวนับ ให้ท้างาน 15 ครัง - ค่าเริ่มต้น 0001 - โดยกดนับ 1 ครัง เพิ่มค่าทีละ 1 - เงื่อนไขจนกว่าจะครบ 15 ครัง

http://www.priceza.com/s/ราคา/เครื่องนับจ้านวน http://www.sitesbay.com/cprogramming/c-forloop


การก้าหนดเงื่อนไขในการท้างาน • ก้าหนดจุดตรวจตรา ท้าจนกว่าจะเสร็จ ไม่สามารถระบุจ้านวนรอบได้ • หาค่าผลบวกเลขตังแต่ 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 การวนซ้าสามารถท้างานได้ตลอดเวลา หรือก้าหนดจ้านวนรอบที่ชัดเจน ใช้การตรวจตราและเงื่อนไขเพื่อหยุดหรือท้าต่อไปได้ • การวนซ้าสามารถประยุกต์กับการท้างานที่มีการก้าหนดรูปแบบในการ ท้างาน ท้าให้คอมพิวเตอร์ประมวลผลได้แบบอัตโนมัติ


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.