ฟั งก์ช่ันวนรอบการทางาน ครูศริ พิ ไิลย พรหมแพทย์
ฟั งก์ช่ันวนรอบการทางาน เป็นฟังกช์ ่นั ท่ีใชใ้ นการส่งั ใหค้ อมพิวเตอรท์ างานชุดคาส่งั เดิม หรอื ทางานซา้ มากกวา่ หน่งึ ครงั้ โดยการตรวจสอบเง่ือนไข การ ทาซา้ มี 2 ลกั ษณะ คอื ◼ แบบมีจานวนรอบท่ีแน่นอน เช่น ตอ้ งการใหพ้ ิมพต์ ัวอักษร a จานวน 1000 ครงั้ ขนึ้ บนหนา้ จอ แบบนีจ้ ะใช้ คาส่งั for ◼ แบบใชเ้ ง่ือนไขเป็นตวั ตดั สินใจวา่ จะทาซา้ ตอ่ ไปหรือไม่ ตอ้ งการ ใหโ้ ปรแกรมทาไปเรอ่ื ยๆ ในขณะท่ีเง่ือนไขยงั เป็นจรงิ อยู่ เช่น ให้ รบั รหัสผ่านไปเร่ือยๆ จนกว่าจะใส่ถูก ซ่ึงจะไม่มีจานวนรอบท่ี แน่นอนตายตวั ลกั ษณะนีจ้ ะมี 2 คาส่งั คอื do..while และ while
ฟั งก์ชั่น while รูปแบบ while(เง่ือนไข) { ประโยคคาส่งั 1; ประโยค... คาส่งั 2; ประโยคคาส่งั n; }
ผังการทางาน Start เงอ่ื นไข No Yes Stop ประโยคคำส่ัง
ตัวอย่างโปรแกรม แสดงจานวนนับ 1-12 { int count = 1; while(count<=12) { printf(“%d\\n”,count); count++; } }
ตัวอย่างโปรแกรม { int count=1; while(count<=10) { printf(“Hello %d \\n”,count); count++; } }
แบบฝึ กหัด
ฟั งก์ช่ัน do_while รูปแบบ do { ประโยคคาส่งั 1; ประโยค... คาส่งั 2; ประโยคคาส่งั n; } while(เง่ือนไข);
ผงั การทางาน Start ประโยคคำส่ัง Yes เงอื่ นไข No End
ตัวอย่างโปรแกรม { char out; do { printf(“\\n Do you want to exit ?[Y]es or [N]o :”); out=getche(); }while(out!=‘Y’); }
ตัวอย่างโปรแกรม แสดงจานวนนับ 1-12 { int count = 1; do{ printf(“%d\\n”,count); count++; } while(count<=12); }
แบบฝึ กหดั
ฟั งก์ช่ัน for ◼ ใชใ้ นกรณีท่ีเราตอ้ งการทาซา้ โดยทราบจานวนครงั้ ท่ี แนน่ อน เชน่ 20 ครงั้ 30 ครงั้ ◼ การใชง้ านจะกาหนดลงไปเลยวา่ ตอ้ งการใหท้ าก่ีครงั้ และ จะตอ้ งสรา้ งตวั แปร ขนึ้ มาเป็นตวั นบั (counter) โดยมากจะ กาหนดใหเ้ ป็นตวั แปรแบบจานวนเตม็ (integer) ◼ ตวั นบั จะเป็นตวั คอยบอกวา่ ครบตามจานวนท่ีตอ้ งการรยึ งั ถา้ ยงั ไมค่ รบกจ็ ะวนไปเรอ่ื ยๆ จนกวา่ จะครบ
รูปแบบ for(กาหนดตวั แปร;ตรวจสอบเง่ือนไข;เพ่มิ หรอื ลดคา่ ตวั แปร) { ประโยคคาส่งั 1; ประโยค... คาส่งั 2; ประโยคคาส่งั n; }
ผังการทางาน Start End กาหนดคา่ ตวั แปร No เง่ือนไข Yes ประโยคคาส่งั เพิ่ม / ลด คา่ ตวั แปร
ตัวอย่างโปรแกรม { int count; printf(“Begin\\n”); for(count=0;count<10;count++) printf(“Hello\\n”); printf(“End\\n”); }
ตัวอย่างโปรแกรม แสดงจานวนนับ 1-12 { int i; for(i=1;i<=12;i++) printf(“%d\\n”,i); }
ตัวอย่างโปรแกรม สตู รคณู { int mother=6; int count; printf(“Begin\\n”); for (count =1;count<=12;count++) { pintf(“%3d x %3d = %3d\\n”,mother,count,mother *count); } printf(“End\\n”); }
แบบฝึ กหัด
แบบฝึ กหัด
การออกจากการวนรอบ การวนรอบโดยใชฟ้ ังกช์ ่นั while, do_while หรอื for โปรแกรมจะตอ้ งทางานตามเง่ือนไขจนกว่าจะเป็นจริง แต่ เราสามารถจะทาให้โปรแกรมกระโดดออกจากลูปไปยัง บรรทดั ท่ีอยหู่ ลงั ปีกกาของลปู ทนั ที ◼ ฟังกช์ ่นั break ◼ ฟังกช์ ่นั continue
ฟั งก์ช่ัน break เม่ือโปรแกรมทางานมาถึงบรรทดั ท่ีมีฟังกช์ ่ัน break จะทาการออกจากการวนรอบทนั ที รูปแบบ break;
int i=1; char ans='y'; while(ans!='n'|| ans!='N'){ printf(“Print number : %d\\n”,i); printf(“Do you want to continue?(Y/N)”); ans=getche(); printf(“\\n”); i++; if(ans==‘n’|| ans= =‘N’) break; }
แบบฝึ กหดั
ฟั งก์ช่ัน continue ฟังกช์ ่นั continue จะทางานโดยขา้ มบางคาส่ังซง่ึ อยู่ ภายในลปู เพ่อื เรม่ิ ตน้ การทางานในรอบถดั ไป รูปแบบ continue;
float sum,ave,num; int n=0,i; sum=0; printf(\"Input 10 number(Less than10) for average\\n\"); for(i=1;i<=10;++i) { printf(\"Enter number %d= \",i); scanf(\"%f\",&num); if(num>10) continue; sum=sum+num; n=n+1; } ave=sum/n; printf(\"Average number between 1-10 is %10.4f\\n\",ave);
แบบฝึ กหดั
ฟั งก์ช่ัน kbhit() ใช้ตรวจสอบการกดแป้นพิมพ์ โดยถ้ามีการกด แปน้ พิมพ์ จะมีคา่ เท่ากบั 1 ถา้ ไม่มีการกดแปน้ พิมพจ์ ะมีค่า เทา่ กบั 0 รูปแบบ ฟังกช์ ่นั ตรวจสอบเง่ือนไข(kbhit()) { ประโยคคาส่งั ; }
{ int count; for(count=1;count<30000&&!kbhit();count++) { printf(\"%d \\n\",count); } }
Search
Read the Text Version
- 1 - 29
Pages: