การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม...

55
1. เเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเ 1.1เเเเเเเเเเเเเเเเเเเเเ (Increment Operator) ภภภภภภภภภภภภภภภภภ ภภภภภภ ภภภภภ 4.1 ภภภภภภภภภภภภภภภภภภภภภภภภภภภภภภ เเเเเเเเเเเเเเเ ภภภภภภภภภภภภภภภภภภภภภภภภภภภ ภภภภภภภภภภภ ภภภภภภภภภภภภภภภภภภภภภภภภภภภภภภภ ภภภ b=3 ; เเเเเเ 1.ภภภภภภภภภภภภภภภภภภภภภภภภภภภ 2 เเเเเเเเเเ เเเ เเเเเเเเเเ เเเเเเเเ ++ increment ภภภภภภภภ ภภภ 1 a=b ++

Upload: pookie-pook

Post on 01-Jul-2015

132 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

1. เทคนิ�คการเขียนินิ�พจนิ�คณิ�ตศาสตร�1.1ต�วดำ�าเนิ�นิการเพ��มค�า (Increment Operator)

ภาษาซี�มี�สั�ญลั�กษณ์ ดั�งนี้�� ตาราง 4.1 สั�ญลั�กษณ์ ต�วดั�าเนี้�นี้การเพิ่��มีค่�า

ต�วอย�างค�าส��ง เขี�ยนี้นี้�พิ่จนี้ โดัยใช้#ต�วดั�าเนี้�นี้การเพิ่��มีค่�า อย%�ต�าแหนี้�งหลั�งต�วแปรที่��ก�าหนี้ดัให# b=3 ;

อธิ�บาย 1.เปร�ยบไดั#ก�บการเขี�ยนี้ค่�าสั��ง 2 บรรที่�ดัค่,อ a = b ; ( หมีายถึ.ง a = 3)

b = b + 1 ; ( หมีายถึ.ง b = 3 + 1)

2.ค่�าตอบค่,อ a เก/บค่�า 3 สั�วนี้ b เก/บค่�า 4

 

ต�วดำ�าเนิ�นิการ ศ�พท�เฉพาะ ความหมาย++ increment เพิ่��มีค่�าอ�ก 1

a=b ++

Page 2: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ต�วอย�างค�าส��ง เขี�ยนี้นี้�พิ่จนี้ โดัยใช้#ต�วดั�าเนี้�นี้การเพิ่��มีค่�า อย%�ต�าแหนี้�งหนี้#าต�วแปรที่��ก�าหนี้ดัให# b=3 ;

อธิ�บาย 1. เปร�ยบไดั#ก�บการเขี�ยนี้ค่�าสั��ง 2 บรรที่�ดัค่,อ b = b + 1 ; ( หมีายถึ.ง b = 3 + 1)

a = b ; ( หมีายถึ.ง a = 4 )2.ค่�าตอบค่,อ a เก/บค่�า 4 สั�วนี้ b เก/บค่�า 4

1.2 ต�วดำ�าเนิ�นิการลดำค�า ( decrement operator ) ภาษาซี�มี�สั�ญลั�กษณ์ ดั�งนี้��ตาราง 4.2 สั�ญลั�กษณ์ ต�วดั�าเนี้�นี้การลัดัค่�า

 

a=++b

ต�วดำ�าเนิ�นิการ ศ�พท�เฉพาะ ความหมาย - - decremen

tลัดัค่�าอ�ก 1

Page 3: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ต�วอย�างค�าส��ง เขี�ยนี้นี้�พิ่จนี้ โดัยใช้#ต�วการดั�าเนี้�นี้การลัดัค่�าอย%�ต�าแหนี้�งหลั�งต�วแปร ก�าหนี้ดัให# b = 3

อธิ�บาย 1. เปร�ยบไดั#ก�บการเขี�ยนี้ค่�าสั��ง 2 บรรที่�ดัค่,อ a = b ; ( หมีายถึ.ง a = 3)

b = b - 1 ; ( หมีายถึ.ง b = 3 - 1)

2.ค่�าตอบค่,อ a เก/บค่�า 3 สั�วนี้ b เก/บค่�า 2

ต�วอย�างค�าส��ง เขี�ยนี้นี้�พิ่จนี้ โดัยใช้#ต�วการดั�าเนี้�นี้การลัดัค่�าอย%�ต�าแหนี้�งหนี้#าต�วแปร

อธิ�บาย 1. เปร�ยบไดั#ก�บการเขี�ยนี้ค่�าสั��ง 2 บรรที่�ดัค่,อ b = b - 1 ; ( หมีายถึ.ง b = 3 - 1)

a = b ; ( หมีายถึ.ง a = 2 )

ค่�าตอบค่,อ a เก/บค่�า 2 สั�วนี้ b เก/บค่�า 2

a=b - -

a= - -b

Page 4: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ตารางท� 4.3 สั�ญลั�กษณ์ ต�วดั�าเนี้�นี้การก�าหนี้ดัค่�า

1.3 ต�วดำ�าเนิ�นิการก�าหนิดำค�า  (compound  assignment operators)ภาษาซี�มี�สั�ญลั�กษณ์ ดั�งนี้��

Page 5: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

1.4 ประส�ทธิ�ภาพพจนิ�แบบย�อ ต�วอย�างต�อไปนี้��แสัดังให#เห/นี้ว�า การเขี�ยนี้นี้�พิ่จนี้ แบบย�อสัามีารถึให#ประสั�ที่ธิ�ภาพิ่การที่�างานี้เที่�ยบเที่�าก�บการเขี�ยนี้นี้�พิ่จนี้ แบบยาวที่��ใช้#ต�วดั�าเนี้�นี้การก�าหนี้ดัค่�า

Page 6: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

อธิ�บาย ค่�าสั��ง a = b ++ ; เปร�ยบไดั#ก�บการเขี�ยนี้ค่�าสั��ง 2 บรรที่�ดัดั�งนี้��

a = b ; (นี้�าค่�า b ไปไว#ในี้หนี้�วยค่วามีจ�า a ดั�งนี้��นี้ a = 4)

a = b + 1 ; (นี้�าค่�า 4 + 1 ค่,อ 5 ไปไว#ในี้หนี้�วยค่วามีจ�า b ดั�งนี้��นี้ b = 5)อธิ�บาย ค่�าสั��ง b = ++ a ; ค่,อ

a = a + 1 ; ( ป2จจ3บ�นี้ a มี�ค่�า 4 จ.งนี้�าค่�า 4 + 1 ดั�งนี้��นี้ a = 5 )

a = b + 1 ; (นี้�าค่�า a ไปไว#ในี้หนี้�วยค่วามีจ�า b ดั�งนี้��นี้ a = 5 )

Page 7: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

1.5 นิ�พจนิ�ก�บการแปลงชนิ�ดำขี(อม)ล

โดัยที่��วไป ผลัการค่�านี้วณ์จากนี้�พิ่จนี้ ระบบจะว�เค่ราะห แลัะเปลั��ยนี้ค่�าให# โดัยย.ดัเกณ์ฑ์ เปลั��ยนี้ค่�าไปขีอบเขีตขี#อมี%ลัที่��ใหญ�กว�า เร�ยกว�าเปลั��ยนี้ค่�าแบบ implicit type conversion

กรณ์�ที่��ต#องการเปลั��ยนี้แปลังผลัการค่�านี้วณ์จากนี้�พิ่จนี้ ไปให#ช้นี้�ดัขี#อมี%ลัที่��ต#องการ ต#องเขี�ยนี้ค่�าสั��งเพิ่��มีเต�มีในี้นี้�พิ่จนี้ เร�ยกว�าการเปลั��ยนี้แปลังค่�าแบบ explicit type conversion

Page 8: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ต�วอย�างโปรแกรมีที่�� 4.3 แสัดังประสั�ที่ธิ�ภาพิ่นี้�พิ่จนี้ แปลังช้นี้�ดัขี#อมี%ลั

Page 9: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ร)ปท� 4.3 ผลัที่ดัสัอบโปรแกรมีต�วอย�าง ที่� 4.3อธิ�บาย1. จากค่�าสั��งนี้�พิ่จนี้ result 1 = value1 + value 2 ; ระบบจะนี้�าค่�า 10 + 3.17 ไดั# 13.17 แลั#วเก/บในี้หนี้�วยค่วามีจ�า result 1 การแปลังช้นี้�ดัขี#อมี%ลั ระบบจะว�เค่ราะห แลัะเปลั��ยนี้แปลังค่�าให#อ�ตโนี้มี�ต� โดัยย.ดัเกณ์ฑ์ เปลั��ยนี้ค่�าขีอบเขีตขี#อมี%ลัที่��ใหญ�กว�า ดั�งนี้��นี้จ.งเป6นี้ที่ศนี้�ยมี เพิ่ราะขีอบเขีตกว#างกว�าจ�านี้วนี้เต/มี2.จากค่�าสั��งนี้�พิ่จนี้ result 1 = value / 3 ;ระบบจะว�เค่ราะห แลัะเปลั��ยนี้ค่�าให# โดัยย.ดัลั�กษณ์ะเค่ร,�องหมีายนี้��นี้ค่,อ หากจ�านี้วนี้ใดัก/ตามีใช้#เค่ร,�องหมีาย / แลัะสั��งแสัดังผลัดั#วยสั�ญลั�กษณ์ ค่วบค่3มี % .2f เค่ร,�องหมีายจะเปลั��ยนี้เป6นี้ช้นี้�ดัที่ศนี้�ยมีจากค่�าสั��งนี้�พิ่จนี้ result 2 = (int) ( value1 + value2 ) ;ระบบจะนี้�าค่�า 10 + 3.17 ไดั# 13.17 แลั#วถึ%กค่�าสั��ง int () แปลังเป6นี้จ�านี้วนี้เต/มี จ.งเก/บค่�า 13 ในี้หนี้�วยค่วามีจ�า result 1

Page 10: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

2. ค�าส��งควบค*มวนิซ้ำ�,าแบบ for ประส�ทธิ�ภาพค�าส��ง : ค่วบค่3มีการที่�างานี้วนี้ซี��า ลั�กษณ์ะที่��ต#องแจ#งจ�านี้วนี้รอบการที่�างานี้ อาจป8อนี้จ�านี้วนี้ผ�านี้ที่างแป8นี้พิ่�มีพิ่ จ�ดัเก/บลังต�วแปร หร,อเขี�ยนี้ค่�าสั��งก�าหนี้ดัรอบการที่�างานี้ค่งที่��ในี้โปรแกรมี ดั�งนี้��นี้ในี้สั�วนี้ขีองค่�าสั��งต#องการค่�า 3 ค่�า ค่,อ ค่�าเร��มีต#นี้นี้�บรอบ ค่�าสั��นี้สั3ดัรอบ แลัะอ�ตราเพิ่��มีแต�ลัะรอบ ขี(อควรจ�า : ต�วแปรท�ใช(ในิค�าส��ง for ต(องเป.นิต�วแปรประเภทจ�านิวนิเต/มเท�านิ�,นิ2.1 ร)ปแบบค�าส��งและแนิวทางการเขียนิผั�งงานิค�าส��ง for ร)ปแบบ การใช้#ค่�าสั��ง for  

For ( ต�วแปร = ค่�าเร��มีต#นี้ ; นี้�พิ่จนี้ ตรรกะ ; ค่�าเพิ่��มีหร,อค่�าลัดั ){

statemmnt ( s ) ;}

ขี#อค่วรจ�า : กรณ์�มี� 1 ค่�าสั��งในี้กระบวนี้การวนี้ซี��าไมี�ต#อง {} ก��นี้ขีอบเขีต

Page 11: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ร%ปผ�งงานี้ที่�� 4.1 แนี้วที่างการเขี�ยนี้ผ�งงานี้ค่�าสั��ง for

2.2 แนิวทางการใช(ค�าส��ง for กรณิก�าหนิดำการวนิซ้ำ�,าเป.นิค�าคงท� ว�ตถุ*ประสงค� จงเขี�ยนี้งานี้วนี้ซี��าจ�านี้วนี้ 5 รอบ เพิ่,�อป8อนี้ช้,�อนี้�กเร�ยนี้แต�ลัะรอบให#ระบบพิ่�มีพิ่ ลั�าดั�บรอบอ�ตโนี้มี�ต�ดั#วย

Page 12: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ต�วอย�างโปรแกรมท� 4.4 โปรแกรมีระบบงานี้ใช้#ค่�าสั��งค่วบค่3มีการวนี้ซี��า ดั#วยค่�าสั��ง for ก�าหนี้ดัรอบการวนี้ซี��าค่งที่��

Page 13: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

อธิ�บาย 1. โปรแกรมีวนี้ซี��าค่งที่��จ�านี้วนี้ 5 รอบ จากการเขี�ยนี้ค่�าสั��งก�าหนี้ดัในี้โปรแกรมี

2. ลั�าดั�บที่��แสัดังอ�ตโนี้มี�ต� ใช้#ประโยช้นี้ จากค่�า n ที่��เพิ่��มีค่�ารอบลัะ 1

3. หากค่�า n มีากกว�า 6 จะออกจากการวนี้ซี��าไปที่�างานี้ค่�าสั��งหลังป9กกาป:ดั

4. กระบวนี้การดั�าเนี้�นี้งานี้วนี้ซี��าอย%�ภายใต#เค่ร,�องหมีาย {} 1เที่�านี้��นี้ ระบบตรวจสัอบระบบเง,�อนี้ไขีการที่�างานี้ที่�� for นี้��นี้ ค่,อ n มี�ค่�าเป6นี้ 1 แต�ไมี�เก�นี้ 6 แลัะเพิ่��มีค่�าอ�ตโนี้มี�ต� n = n+1

Page 14: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

2.3 แนิวทางการใช(ค�าส��ง for กรณิก�าหนิดำการวนิซ้ำ�,าเป.นิต�วแปรว�ตถุ*ประสงค� จงเขี�ยนี้งานี้วนี้ซี��า เพิ่,�อป8อนี้ช้,�อนี้�กเร�ยนี้ ให#ผ%#ใช้#

ระบบก�าหนี้ดัจ�านี้วนี้รอบเอง แต� ลัะรอบให#ระบบพิ่�มีพิ่ ลั�าดั�บอ�ตโนี้มี�ต�ดั#วย

ต�วอย�างโปรแกรมีที่�� 4.5 โปรแกรมีระบบงานี้ ใช้#ค่�าสั��งค่วบค่3มีวนี้ซี��าดั#วย ค่�าสั��ง for ก�าหนี้ดัรอบการวนี้ซี��า โดัยผ%#ใช้#ระบบงานี้

Page 15: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ร)ปท� 4.5 ผลักาที่ดัสัอบโปรแกรมีต�วอย�างที่�� 4.5

อธิ�บาย 1. โปรแกรมีนี้��ให#ผ%#ใช้#ระบบงานี้ป8อนี้จ�านี้วนี้นี้�กเร�ยนี้หร,อรอบที่�างานี้2. จากต�วอย�างป8อนี้ 3 จ.งวนี้ซี��าร�บช้,�อนี้�กเร�ยนี้ 3 ราย3. การเขี�ยนี้ค่�าสั��งค่วบค่3มีการวนี้ซี��าจากต�วอย�างค่,อ

Page 16: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

3. การควบค*มค�าส��งแบบวนิซ้ำ�,า while

ประส�ทธิ�ภาพค�าส��ง : ควบค*มการท�างานิวนิซ้ำ�,า กรณิระบบงานิมล�กษณิะตรวจสอบเง4�อนิไขี ก�อนิเขี(าส)�ส�วนิล�าดำ�บงานิค�าส��งท�ก�าหนิดำไว( การเขียนิค�าส��ง while ต(องก�าหนิดำนิ�พจนิ�แบบตรรกะเป.นิเง4�อนิไขีให(ระบบตรวจสอบว�าเง4�อนิไขีมค�าในิหนิ�วยความจ�าเป.นิ 1 (ค�าจร�ง) หร4อค�าท�ไดำ(เป.นิ 0 (ค�าเท/จ) กรณิค�านิ�พจนิ�ตรรกะเป.นิจร�ง จ6งวนิซ้ำ�,ากล*�มค�าส��งภายในิส�ญล�กษณิ� { } ต�อจาก while เม4�อนิ�พจนิ�ตรรกะไดำ(ค�าเป.นิเท/จจะดำ�าเนิ�นิงานิค�าส��งหล�งเคร4�องหมายป8กกาป9ดำ { } ขีองค�าส��ง while

ขี(อควรจ�า > ค4อภายในิการวนิซ้ำ�,าแต�ละรอบ ต(องมค�าส��งท�ส�งผัลให(เก�ดำการเปล�ยนิแปลงนิ�พจนิ�ให(เป.นิเท/จ เพ4�อออกจากการวนิซ้ำ�,าไดำ(

Page 17: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

3.1 ร)ปแบบค�าส��งและแนิวทางการเขียนิผั�งงานิค�าส��ง while ร)ปแบบ การใช(ค�าส��ง while

ขี(อควรจ�า > กรณิ 1 ค�าส��ง ในิกระบวนิการวนิซ้ำ�,า ไม�ต(องม { } ก�,นิขีอบเขีต

ร)ปผั�งงานิท� 4.2 แนิวทางการเขียนิผั�งงานิค�าส��ง while

Page 18: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

3.2 แนิวทางการใช(ค�าส��ง while วนิซ้ำ�,า กรณิท�ก�าหนิดำการวนิซ้ำ�,าเป.นิค�าคงท�

ว�ตถุ*ประสงค� จงเขี�ยนี้งานี้เพิ่,�อวนี้ซี��า ให#ผ%#ใช้#ระบบป8อนี้ค่ะแนี้นี้นี้�กเร�ยนี้ 5 ราย แต�ลัะรอบให#ระบบพิ่�มีพิ่ ลั�าดั�บรอบอ�ตโนี้มี�ต�ดั#วย

ต�วอย�างโปรแกรม โปรแกรมีระบบงานี้ ค่วบค่3มีการวนี้ซี��าดั#วยค่�าสั��ง while วนี้ซี��าร�บค่ะแนี้นี้นี้�กเร�ยนี้ 5 ราย (แต�มี�ขี#อผ�ดัพิ่ลัาดั วนี้ไมี�ร% #จบ)

Page 19: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

อธิ�บาย 1. โปรแกรมีนี้��มี�ขี#อผ�ดัพิ่ลัาดัค่,อวนี้ซี��าไปเร,�อย ๆ มีากกว�า 5 รอบ (ต#องกดัแป8นี้ Ctrl-Break)

2. ขี#อผ�ดัพิ่ลัาดัค่,อ ก�าหนี้ดัเง,�อนี้ไขีว�าให#โปรแกรมีนี้��วนี้ซี��าเร,�อย ๆ ตราบที่�� n <= 5 แต�ไมี�มี�ค่�าสั��ง เปลั��ยนี้แปลังค่�า n ดั�งนี้��นี้ n จ.งมี�ค่�า 1 ตลัอดัไป

3.โปรแกรมีที่��ถึ%กต#องแสัดังในี้ต�วอย�างต�อไป

Page 20: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ต�วอย�างโปรแกรม โปรแกรมีระบบงานี้ ค่วบค่3มีการวนี้ซี��าดั#วยค่�าสั��ง while วนี้ซี��าร�บค่ะแนี้นี้นี้�กเร�ยนี้ 5 ราย (แก#ไขีจากต�วอย�างเก�า)

อธิ�บาย 1. หลั�งประโยค่ค่�าสั��ง while ต#องเขี�ยนี้นี้�พิ่จนี้ ตรรกะค่วบค่3มีการวนี้ซี��า เช้�นี้ while

( n <= 5 )

2. ต#องมี�ค่�าสั��งเปลั��ยนี้แปลังเง,�อนี้ไขีให#เป6นี้เที่/จ เพิ่,�ออกจาการวนี้ซี��าเช้�นี้ ค่�าสั��ง n = n+1 ; เมี,�อค่�า n > 5 สั�งผลัตรรกะในี้ค่�าสั��ง while ( n <= 5 ) เป6นี้เที่/จจ.งออกจากการวนี้ซี��า

Page 21: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

3. ดั�งนี้��นี้ โปรแกรมีนี้��สั�วนี้ค่วบค่3มีการวนี้ซี��าค่,อ

ผัลการทดำสอบโปรแกรมต�วอย�าง

Page 22: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

3.3 แนิวทางการใช(ค�าส��ง while วนิซ้ำ�,า กรณิก�าหนิดำการวนิซ้ำ�,าเป.นิต�วแปร

ว�ตถุ*ประสงค� จงเขี�ยนี้งานี้เพิ่,�อวนี้ซี��า เพิ่,�อป8อนี้ค่ะแนี้นี้นี้�กเร�ยนี้จ�านี้วนี้ n ราย ให#ผ%#ใช้#ระบบระบ3จ�านี้วนี้นี้�กเร�ยนี้ดั#วยตนี้เอง แต�ลัะรอบให#ระบบพิ่�มีพิ่ ลั�าดั�บรอบอ�ตโนี้มี�ต�ดั#วย

ต�วอย�างโปรแกรม โปรแกรมีระบ3งานี้ค่วบค่3มีการวนี้ซี��าดั#วยค่�าสั��ง while ร�บค่ะแนี้นี้ นี้�กเร�ยนี้ n ราย

Page 23: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ผัลทดำสอบโปรแกรมต�วอย�าง

อธิ�บาย 1. ผ%#ใช้#ค่วบค่3มีรอบวนี้ซี��าดั#วยการระบ3ที่างแป8นี้พิ่�มีพิ่ เช้�นี้ 2 หมีายถึ.งวนี้ซี��า 2 รอบ

2. ต#องระมี�ดัระว�งต�วแปรที่��เก��ยวขี#องก�บการค่วบค่3มีจ�านี้วนี้รอบ ต#องเป6นี้กลั3�มี จ�านี้วนี้เต/มี ในี้ที่��นี้��ค่,อ n ใช้#เป6นี้ต�วนี้�บรอบ แลัะใช้#ตรวจสัอบเปร�ยบเที่�ยบก�บค่�า num ที่��เก/บค่�าจ�านี้วนี้รอบไว#

Page 24: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

4. ค�าส��งควบค*มวนิซ้ำ�,าแบบ do-while

ประสั�ที่ธิ�ภาพิ่ค่�าสั��ง : ค่วบค่3มีการวนี้ซี��า ลั�กษณ์ะการที่�างานี้ 1 รอบก�อนี้ แลั#วจ.งตรวจสัอบนี้�พิ่จนี้ ตรรกะที่��ก�าหนี้ดัเป6นี้เง,�อนี้ไขีก�อนี้วนี้ซี��าในี้รอบต�อไป ที่��งนี้��หากค่�านี้�พิ่จนี้ ตรรกะ เป6นี้จร�ง จะวนี้ซี��า แต�หากค่�านี้�พิ่จนี้ เป6นี้เที่/จ จะไมี�วนี้ซี��า

ขี(อควรจ�า > ค4อ ต(องตรวจสอบงานิโปรแกรมว�าไดำ(เขียนิค�าส��งงานิ เพ4�อใช(แปรเปล�ยนินิ�พจนิ�ให(เป.นิเท/จหร4อไม� อย�างไรม�ฉะนิ�,นิโปรแกรมอาจวนิไม�ร)(จบ

Page 25: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

4.1 ร)ปแบบค�าส��งและแนิวทางการเขียนิผั�งงานิค�าส��ง do – while ร)ปแบบ การใช้#ค่�าสั��ง do – while

แนิวทางการเขียนิผั�งงานิค�าส��ง do – while

Page 26: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

4.2 แนิวทางการใช(ค�าส��ง do – while วนิซ้ำ�,า กรณิ ก�าหนิดำการวนิซ้ำ�,าเป.นิค�าคงท�

ว�ตถุ*ประสงค� จงเขี�ยนี้งานี้วนี้ซี��า ให#ผ%#ใช้#ระบบป8อนี้ค่ะแนี้นี้นี้�กเร�ยนี้ 5 ราย แต�ลัะรอบให#เป6นี้ระบบพิ่�มีพิ่ ลั�าดั�บอ�ตโนี้มี�ต�

ต�วอย�างโปรแกรม โปรแกรมีระบบงานี้ ค่วบค่3มีการวนี้ซี��าดั#วยค่�าสั��ง do – while ร�บค่ะแนี้นี้นี้�กเร�ยนี้ 5 ราย

Page 27: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ผัลทดำสอบโปรแกรม

อธิ�บาย 1. โปรแกรมีลั�กษณ์ะนี้��จะที่�างานี้ระบบงานี้ในี้ { } ก�อนี้ตรวจสัอบเง,�อนี้ไขีเสัมีอ

2. เมี,�อระบบที่�างานี้ 1 รอบ แลั#วจ.งตรวจสัอบเง,�อนี้ไขี while (n <= 5) เพิ่,�อ ว�เค่ราะห การวนี้ซี��าหากตราบใดัเง,�อนี้ไขี เป6นี้จร�ง จะวนี้ซี��า หากเง,�อนี้ไขี เป6นี้เที่/จ n > 5 จะเลั�กวนี้ซี��า

3. ค่�าสั��ง n++ : ค่,อค่�าสั��ง n = n + 1 : ใช้�เปลั��ยนี้แปลังค่�า n เพิ่,�อให#ค่�า n > 5

Page 28: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

4. กระบวนี้การวนี้ซี��า อย%�ภายใต#เค่ร,�องหมีาย { } จากต�วอย�างค่,อ

4.3 แนิวทางการใช(ค�าส��ง do – while วนิซ้ำ�,า กรณิก�าหนิดำการวนิซ้ำ�,าเป.นิต�วแปร

ว�ตถุ*ประสงค� จงเขี�ยนี้งานี้วนี้ซี��าป8อนี้ค่ะแนี้นี้นี้�กเร�ยนี้ ให#ผ%#ใช้#ระบบจ�านี้วนี้นี้�กเร�ยนี้ดั#วยตนี้เองแต�ลัะรอบให#ระบบพิ่�มีพิ่ ลั�าดั�บรอบอ�ตโนี้มี�ต�

Page 29: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ต�วอย�างโปรแกรม โปรแกรมีระบบงานี้ค่วบค่3มีการวนี้ซี��าดั#วยค่�าสั��ง do – while เพิ่,�อวนี้ ซี��าร�บค่ะแนี้นี้นี้�กเร�ยนี้ n ราย

ผัลทดำสอบโปรแกรม

Page 30: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

5.กรณิศ6กษาการใช(ค�าส��งควบค*มวนิซ้ำ�,า

• ค�าส��ง for• ค�าส��ง while• ค�าส��ง do-

while

Page 31: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ค�าส��ง For

การที่�างานี้ขีอง for นี้��นี้ จะเร��มีจากสั�วนี้แรกค่,อก�าหนี้ดัค่�าเร��มีต#นี้ให#ก�บต�วแปรก�อนี้ จากนี้��นี้จะไปตรวจสัอบเง,�อนี้ไขีในี้สั�วนี้ที่�� 2 ว�าเป6นี้จร�งหร,อไมี� ถึ#าเป6นี้จร�งก/จะเขี#าสั%�การที่�างานี้ขีองลั%ป (ถึ#าเป6นี้เที่/จจะไมี�เขี#าสั%�ลั%ป แต�จะไปที่�าค่�าสั��งต�อไปที่��อย%�ถึ�ดัจากลั%ปเลัย) แลัะเมี,�อที่�างานี้ตามีค่�าสั��งที่��งหมีดัที่��อย%�ภายในี้ลั%ปแลั#วก/จะเขี#าไปที่�างานี้ในี้สั�วนี้ที่��3 ขีองค่�าสั��ง for เพิ่,�อปร�บค่�าขีองต�วแปร แลัะที่�าการตรวจสัอบเง,�อนี้ไขีใหมี�อ�กค่ร��ง ซี.�งที่�าเง,�อนี้ไขีเป6นี้จร�งก/ย�งค่งอย%�ในี้ ลั%ปต�อไป แลัะจะที่�าอย�างนี้��เร,�อยๆจนี้กระที่��งผลัการตรวจสัอบเง,�อนี้ไขีเป6นี้เที่/จจ.งค่�อยออกจากลั%ปไปที่�าค่�าสั��งที่��อย%�นี้อกลั%ปต�อไป

ค่�าสั��ง for นี้��นี้มี�การที่�างานี้เหมี,อนี้ while แต�ค่�าสั��ง for นี้��นี้จะรวมีการกระที่�าที่��งสัามีอย�างไว#ในี้บรรที่�ดัเดั�ยวก�นี้เลัย

Page 32: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

โจทย� จงเขี�ยนี้โปรแกรมีให#ผ%#ใช้#ระบบก�าหนี้ดัรอบการที่�างานี้ก�อนี้แลั#วจ.งป8อนี้ช้,�อนี้�กเร�ยนี้ ค่ะแนี้นี้กลัางภาค่ แสัดังผลัรวมีค่ะแนี้นี้ จ�านี้วนี้ n ราย ที่��งนี้��ให#ระบบพิ่�มีพิ่ ลั�าดั�บอ�ตโนี้มี�ต� เมี,�อสั��นี้สั3ดัจ�านี้วนี้นี้�กศ.กษาที่��ระบ3ให#พิ่�มีพิ่ ค่ะแนี้นี้เฉลั��ยขีองนี้�กเร�ยนี้กลั3�มีนี้��

key loop =>……………Report Score****************************No. => ……………name is => …………..midterm is => …………..Final is => ……………* Score = ……………***************************** *Average Score is = ………….*****************************

ก�าหนี้ดัการแสัดังผลั ดั�งนี้��

Page 33: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ขี�,นิตอนิการสร(างโปรแกรมประย*กต�งานิ1.การว�เค่ราะห ระบบงานี้เบ,�องต#นี้ 1.1 สั��งที่��ต#องการค่,อ ผลัรวมีค่ะแนี้นี้ ค่ะแนี้นี้เฉลั��ย

1.2 สัมีการค่�านี้วณ์ ลั�าดั�บ = ลั�าดั�บ+1 ผลัรวมีค่ะแนี้นี้ = ค่ะแนี้นี้กลัางภาค่ + ปลัายภาค่ ค่ะแนี้นี้เฉลั��ย = ค่ะแนี้นี้รวมีที่��งกลั3�มี / จ�านี้วนี้นี้�กศ.กษา ค่ะแนี้นี้รวมีที่��งกลั3�มี =ค่ะแนี้นี้รวมีที่��งกลั3�มี + ผลัรวมีค่ะแนี้นี้ 1.3 ขี#อมี%ลันี้�าเขี#า จ�านี้วนี้นี้�กศ.กษา ค่ะแนี้นี้กลัางภาค่ ค่ะแนี้นี้ปลัายภาค่

1.4 การแสัดังผลัตามีโจที่ย ก�าหนี้ดั

Page 34: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ขี(อม)ล ช4�อหนิ�วยความจ�า

ชนิ�ดำขี(อม)ล

จ�านิวนินิ�กศ6กษา

num ต�วเลัขีจ�านี้วนี้เต/มี

ล�าดำ�บ n ต�วเลัขีจ�านี้วนี้เต/มี

ช4�อนิ�กศ6กษา name กลั3�มีอ�กขีระคะแนินิกลาง

ภาคmidterm ต�วเลัขี

จ�านี้วนี้เต/มีคะแนินิปลาย

ภาคผัลfinal ต�วเลัขี

จ�านี้วนี้เต/มีผัลรวมคะแนินิ

score ต�วเลัขีจ�านี้วนี้เต/มี

คะแนินิรวมท�,งกล*�ม

sum ต�วเลัขีที่ศนี้�ยมี

คะแนินิเฉล�ย average ต�วเลัขีที่ศนี้�ยมี

1.5 การก�าหนี้ดัค่3ณ์สัมีบ�ต�ต�วแปร

Page 35: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

1.6 ขี��นี้ตอนี้การที่�างานี้ (action)1) ป8อนี้จ�านี้วนี้นี้�กศ.กษา (num)2) ค่วบค่3มีวนี้ซี��าดั#วยค่�าสั��ง for (n =1;

n<=num ; n++)หากเง,�อนี้ไขี เป6นี้จร�ง ให#ที่�าขี#อ 2.1-2.6 หากเง,�อนี้ไขี

เป6นี้เที่/จ ไปที่��ขี#อ 32.1) พิ่�มีพิ่ ลั�าดั�บที่�� (n)2.2) ป8อนี้ขี#อมี%ลัช้,�อนี้�กศ.กษา (name)

ค่ะแนี้นี้กลัางภาค่ (midterm)ค่ะแนี้นี้ปลัายภาค่ (final)2.3) ค่�านี้วณ์ผลัค่ะแนี้นี้ (score) =

midterm + final2.4) พิ่�มีพิ่ score2.5) ค่�านี้วณ์รวมีที่��งกลั3�มี (sum) = sum

+ score2.6) วนี้ซี��าไปที่�าที่��ขี#อ 2

3) ค่�านี้�าค่ะแนี้นี้เฉลั��ย (average) = sum / num

4) พิ่�มีพิ่ average5) จบการที่�างานี้

Page 36: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

.̈ ε´ µ¦ εµ oª¥´µÃ¦Â¦¤� � � � � � � � � � � � �

start

o°� � num

For (n = 1 ; n <= num ; n++)

¡·¤¡rn

o°� � name,midterm,final

Score = midterm + final

¡·¤¡rscore

sum = sum + score

Averge = sum / num

¡·¤¡raverage

end

n > num

n <= num

2.ลั�าดั�บการที่�างานี้ดั#วยผ�งงานี้โปรแกรมี

Page 37: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

3.ค่�าสั��งค่วบค่3มีการที่�างานี้#include <stdio.h>/* file name ex_for3.cpp*/main (){char name [30] ;int midterm = 0 , final = 0 , score = 0 ,n , num ;float sum = 0 , average = 0 ;printf (“ key loop => “) ; scanf (“%d “,&num) ;Printf (“\n Report Score \n”) ;printf(“*************************\n \n”) ;

for(n = 1;n <= num ; n++) { printf ({“No. => %d \n” , n) ; printf (“Name is => “) ; scanf (“%s”,name) ; printf (“midterm is => “) ; scanf (“%d”&midterm) ; printf (“final is => “) ; scanf (“%d”&final) ; score = midterm =+ final; printf ( “* score = %d\n”,score) ; sum = sum + score ; printf (“*****************\n”) ; } average = sum / num ;printf (“* Averge score is = %.2f \n” , averge) ;printf (“***********************\n) ;

}

Page 38: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ค่�าสั��งนี้��ประกอบดั#วย 3 สั�วนี้ค่,อ 1.สั�วนี้ก�าหนี้ดัค่�าเร��มีต#นี้ให#ก�บต�วแปร สั�วนี้นี้��เป6นี้การก�าหนี้ดัค่�าเร��มีต#นี้ให#ก�บต�วแปรที่��ต#องการใช้#งานี้ในี้ ลั%ป โดัยปกต�เราจะใช้#ต�วแปรนี้��เป6นี้ต�วค่วบค่3มีลั%ป 2.สั�วนี้เง,�อนี้ไขีที่��ต#องการตรวจสัอบ เป6นี้นี้�พิ่จนี้ ตรรกะที่��ใช้#เป6นี้เง,�อนี้ไขีในี้การที่�างานี้ขีองลั%ปโดัยหากเง,�อนี้ไขีนี้��เป6นี้จร�งก/ย�งค่งที่�างานี้ในี้ลั%ปต�อไป แต�หากเง,�อนี้ไขีเป6นี้เที่/จจะออกจากการที่�างานี้ขีองลั%ปไปที่�าค่�าสั��งที่��อย%�นี้อกลั%ปต�อไป 3.สั�วนี้ปร�บค่�าขีองต�วแปร เป6นี้สั�วนี้ที่��ใช้#ปร�บค่�าขีองต�วแปรที่��ใช้#ในี้ลั%ป

Page 39: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ค�าส��ง while

ลั�กษณ์ะการที่�างานี้ที่�านี้องเดั�ยวก�บค่�าสั��ง for แต�ต�างก�นี้ตรงที่��ไมี�ที่ราบจ�านี้วนี้รอบที่��แนี้�นี้อนี้ เมี,�อเร��มีต#นี้จะมี�การตรวจเง,�อนี้ไขี ถึ#าเง,�อนี้ไขีมี�ค่�าเป6นี้จร�งจะที่�าตามีค่�าสั��งที่��มี�ที่��มี� 1 ค่�าสั��ง หร,อ ช้3ดัขีองค่�าสั��ง แลั#วกลั�บมีาตรวจสัอบเง,�อนี้ไขีใหมี� ถึ#าเง,�อนี้ไขีที่��เป6นี้เที่/จจะออกจากค่�าสั��ง while ในี้การใช้#ค่�าสั��งนี้��ต#องมี�ค่�าสั��งเปลั��ยนี้แปลังค่�าขีองนี้�พิ่จนี้ ที่��ใช้#เป6นี้เง,�อนี้ไขีให#สัามีารถึมี�ค่�าเป6นี้เที่/จไดั# หร,อมี�ค่�าสั��งให#หย3ดัการวนี้ซี��า มี�ฉะนี้��นี้จะมี�ป2ญหาที่��โปรแกรมีที่�างานี้แบบวนี้ซี��าแบบไมี�มี�ที่��สั��นี้สั3ดั (endless loop) ซี.�งเป6นี้การผ�ดัพิ่ลัาดัที่��ร3นี้แรงเพิ่ราะจะไมี�สัามีารถึที่�าค่�าสั��งต�อ ๆ ไปแลัะจบการที่�างานี้ขีองโปรแกรมีไมี�ไดั#

Page 40: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

การที่�าซี��าแบบ while อาจเขี�ยนี้ผ�งงานี้ ดั�งร%ป

Page 41: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ค่�าสั��ง while มี�ร%ปแบบ ดั�งนี้��while (นี้�พิ่จนี้ ที่ดัสัอบเง,�อนี้ไขี) statement ;

หร,อ while (นี้�พิ่จนี้ ที่ดัสัอบเง,�อนี้ไขี)

{ค่�าสั��งที่��1;ค่�าสั��งที่��2; ...ค่�าสั��งสั3ดัที่#าย;}

โดัย while จะที่�าการที่�าซี��าต�อไปเมี,�อนี้�พิ่จนี้ ที่ดัสัอบเง,�อนี้ไขีให#ผลัลั�พิ่ธิ เป6นี้จร�ง แลัะที่�าต�อจนี้กระที่��งผลัลั�พิ่ธิ ขีองนี้�พิ่จนี้ ที่ดัสัอบเง,�อนี้ไขีเป6นี้เที่/จ

Page 42: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ต�วอย�าง #include <stdio.h>int counter , num;char word[20] = "Bodindecha";main(){ num = 0; counter = 3; while ( counter <= 11){ printf("\n\tcounter = %2d my school is %s print round %d. ",counter,word,++num); counter = counter + 2 ;

}getch();

Page 43: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

โปรแกรมีนี้�� เร��มีต#นี้ ก�าหนี้ดัค่�า num เป6นี้ 0 แลัะให# counter มี�ค่�าเป6นี้ 3 แลั#ว จ.งเขี#าสั%�การที่�าซี��า แบบ while เร��มีต#นี้ที่ดัสัอบว�าเง,�อนี้ไขี ค่,อ counter <= 11 เป6นี้จร�ง หร,อไมี� ถึ#าเป6นี้จร�ง จะที่�าตามีค่�าสั��ง

printf("\n\tcounter = %2d my school is %s print round %d. ",counter,word,++num);

แลัะค่�าสั��ง counter = counter + 2 ซี.�งเป6นี้การเพิ่��มีค่�า ขีอง counter จากเดั�มี แลั#วตรวจสัอบเง,�อนี้ไขี ถึ#าเป6นี้จร�งก/ที่�าต�อไปซี��าก�นี้ไปเร,�อยจนี้กระที่��งนี้�พิ่จนี้ เง,�อนี้ไขี เป6นี้เที่/จ ค่,อ counter มีากกว�า 11 ซี.�งค่,อ เง,�อนี้ไขี counter <= 11 มี�ค่�าเป6นี้เที่/จ จ.งออกจากการที่�าซี��า ในี้ต�วอย�างนี้��มี�การที่�าซี��า 5 รอบ ไดั#ผลัดั�งร%ป 

Page 44: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2
Page 45: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ค�าส��ง do-while

do while เป6นี้ค่�าสั��งให#มี�การที่�าซี��าเป6นี้รอบ ๆ (loop) ลั�กษณ์ะการที่�างานี้ที่�านี้องเดั�ยวก�บค่�าสั��ง while แต�ต�างก�นี้ตรงที่��ค่�าสั��งนี้��จะมี�การที่�างานี้ตามีค่�าสั��งไป 1 รอบ ก�อนี้ที่��จะที่ดัสัอบเง,�อนี้ไขี ถึ#าเง,�อนี้ไขีที่��เป6นี้จร�งจะที่�างานี้ต�อไป ถึ#าเง,�อนี้ไขีเป6นี้เที่/จจ.งจะออกจากค่�าสั��ง do while ค่�าสั��งนี้��ก/เช้�นี้เดั�ยวก�นี้จะต#องก�าหนี้ดัให#มี�โอกาสัที่��เง,�อนี้ไขีเป6นี้เที่/จไดั# มี�ฉะนี้��นี้จะมี�ป2ญหาที่��โปรแกรมีที่�างานี้แบบวนี้ซี��าแบบไมี�มี�ที่��สั��นี้สั3ดั (endless loop) กรณ์�ที่��เง,�อนี้ไขีเป6นี้เที่/จเพิ่�ยงอย�างเดั�ยวจะมี�การที่�างานี้ 1 รอบ ก�อนี้ออกจากการที่�าซี��า

Page 46: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

การที่�าซี��าแบบ do while อาจเขี�ยนี้ผ�งงานี้ ดั�งร%ป

Page 47: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ค่�าสั��ง do while มี�ร%ปแบบ ดั�งนี้��

Do {ค่�าสั��งที่��1;ค่�าสั��งที่��2;...ค่�าสั��งสั3ดัที่#าย;

} while (นี้�พิ่จนี้ ที่ดัสัอบเง,�อนี้ไขี) ;

Page 48: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ต�วอย�าง

#include <stdio.h>int counter ,num ;char word[20] = "Bodindecha";main()

{ Num = 0;counter = 3;do /* start do while */{ printf("\n\tcounter = %2d my school is %s print round %d. ",counter,word,++num); counter = counter + 2 ;

} while (counter < 11 ); /* end do while */getch();

} /* end main() */

 

Page 49: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

โปรแกรมีนี้��ก�าหนี้ดั เร��มีต#นี้ ให# counter มี�ค่�าเป6นี้ 3 แลั#ว จ.งเขี#าสั%�การที่�าซี��า แบบ do while ที่�าตามีค่�าสั��ง

printf("\n\tcounter = %2d my school is %s print round %d. ",counter,word,++num); แลัะ counter =

counter + 2;

ไปก�อนี้1 ค่ร��ง แลั#วจ.งที่ดัสัอบว�าเง,�อนี้ไขี ค่,อ counter < 11 เป6นี้จร�ง หร,อไมี� ถึ#าเง,�อนี้ไขีเป6นี้จร�งก/จะที่�าซี��ารอบต�อไป เป6นี้ในี้ลั�กษณ์ะนี้��จนี้กระที่��งเง,�อนี้ไขีเป6นี้เที่/จ ค่,อ เมี,�อ counter เป6นี้ 13 ผลัการที่�างานี้ขีองโปรแกรมี เป6นี้ดั�งร%ป

Page 50: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2
Page 51: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

สร*ปเนิ4,อหา การสัร#างโปรแกรมีประย3กต งานี้โดัยใช้#ค่�าสั��งให#โปรแกรมีที่�างานี้เป6นี้ลั�กษณ์ะวนี้ซี��านี้��นี้ เป6นี้การใช้#งานี้โดัยใช้#ประโยช้นี้ จากประสั�ที่ธิ�ภาพิ่ที่างตรรกะขีองระบบค่อมีพิ่�วเตอร ดั�งนี้��นี้จ.งต#องใช้#ค่วามีร% #ค่วามีสัามีารถึในี้เร,�องการเขี�ยนี้นี้�พิ่จนี้ ที่างตรรกะที่��เค่ยศ.กษาจากบที่ที่��ผ�านี้มีา สั�าหร�บภาษาซี�มี�ค่�าสั��งให#เลั,อกใช้#ค่วบค่3มีงานี้ลั�กษณ์ะวนี้ซี��า 3 แบบ ค่,อ ค่�าสั��ง for ค่�าสั��ง while แลัะค่�าสั��ง do-while

Page 52: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ค�าส��ง forเหมีาะก�บระบบงานี้ที่��ระบ3รอบการที่�างานี้

ช้�ดัเจนี้ การระบ3รอบนี้��นี้อาจระบ3โดัยการเขี�ยนี้ค่�าสั��งก�าหนี้ดัเป6นี้ค่�าค่งที่��ในี้โปรแกรมีหร,อก�าหนี้ดัผ�านี้ที่างการที่�างานี้ขีองต�วแปร เพิ่,�อที่�างานี้ในี้ร%ปแบบย,ดัหย3�นี้ให#ผ%#ใช้#ระบบงานี้เป6นี้ผ%#ป8อนี้จ�านี้วนี้รอบการที่�างานี้ดั#วยตนี้เอง เมี,�อระบบตรวจสัอบว�าค่รบจ�านี้วนี้รอบตามีที่��ก�าหนี้ดัแลั#วจ.งออกจากการวนี้ซี��า ที่��งนี้��ระบบจะเพิ่��มีค่�านี้�บรอบโดัยอ�ตโนี้มี�ต�

Page 53: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ค�าส��ง while ใช้#ก�บระบบงานี้ที่��ต#องการตรวจสัอบนี้�พิ่จนี้

ตรรกะ ก�อนี้เขี#าสั3�กระบวนี้การวนี้ซี��าในี้เค่ร,�องหมีาย { } หากค่�าตรรกะที่��ไดั#เป6นี้ค่�าจร�ง จะที่�างานี้วนี้ซี��าในี้สั�วนี้ค่วบค่3มีวนี้รอบ { } หากตรวจสัอบค่�าตรรกะไดั#ค่�าเป6นี้เที่/จเมี,�อใดั จะไมี�เขี#าสั%�กระบวนี้การวนี้ซี��า ที่��งนี้��ต#องระมี�ดัระว�งว�าต#องมี�ค่�าสั��งที่��สัามีารถึที่�าให#นี้�พิ่จนี้ ตรรกะนี้��นี้มี�โอกาสัเปลั��ยนี้แปลังค่�าเป6นี้เที่/จไดั# มี�ฉะนี้��นี้จะเก�ดัขี#อผ�ดัพิ่ลัาดัออกจากการวนี้ซี��าไมี�ไดั#

Page 54: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

ค�าส��ง do -while

ใช้#ก�บระบบงานี้กรณ์�ที่��ให#เขี#าไปที่�างานี้วนี้ซี��าในี้เค่ร,�องหมีาย { } 1 รอบก�อนี้แลั#วจ.งตรวจนี้�พิ่จนี้ ตรรกะ หากค่�าตรรกะที่��ไดั#เป6นี้ค่�าจร�ง จะวนี้ซี��าการที่�างานี้ต�อไป หากค่�าตรรกะเป6นี้ค่�าเที่/จ จะออกจากการวนี้ซี��า มี�ขี#อค่วรระว�งเช้�นี้เดั�ยวก�บค่�าสั��ง while ค่,อจะต#องระมี�ดัระว�งว�ามี�ค่�าสั��งที่��สัามีารถึที่�าให#นี้�พิ่จนี้ ตรรกะนี้��นี้มี�โอกาสัเปลั��ยนี้แปลังค่�าเป6นี้เที่/จไดั# มี�ฉะนี้��นี้จะเก�ดัขี#อผ�ดัพิ่ลัาดัออกจากการวนี้ซี��าไมี�ไดั#

อ�กประการหนี้.�งหากต#องการใช้#ต�วแปรนี้�บรอบการที่�างานี้เป6นี้ประโยค่ค่�าสั��งค่วบค่3มีการวนี้ซี��า จะต#องจ�าไว#เสัมีอว�าต#องก�าหนี้ดัช้นี้�ดัต�วแปรเป6นี้กลั3�มีจ�านี้วนี้เต/มี

Page 55: การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2

จ�ดำท�าโดำยนี้ายธินี้ภ�ที่ร เหลั,องร�ตนี้ ว�ฒนี้ะ เลัขีที่�� 10นี้.สั.จาร3ภา พิ่รหมีมีงค่ลั เลัขีที่�� 28นี้.สั.จ3ฑ์ามีาศ อ�ค่รเดัช้พิ่งศา เลัขีที่�� 29นี้.สั.หที่�ยช้นี้ก ห#วยหงษ ที่อง เลัขีที่�� 32นี้.สั.ศ�ร�วรรณ์ พิ่งศโอสัธิ� เลัขีที่�� 33นี้.สั.สั�ร�กาญจนี้ พิ่านี้ะก�จ เลัขีที่�� 34นี้.สั.สั3ดัาร�ตนี้ ก�าจรก�ตต�ค่3ณ์ เลัขีที่�� 35

ช้��นี้มี�ธิยมีศ.กษาป9ที่�� 6/2