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

กลุ่��ม 4

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

สั่มาชิ�ก

1) นายธนภั�ทร เหลื องร�ตน�วั�ฒนะ เลืขท��10

2) น.ส.จาร�ภัา พรหมมงคลื เลืขท�� 28

3) น.ส.จ�ฑามาศ อ�ครเดชพงศา เลืขท�� 29

4) น.ส.หท�ยชนก ห#วัยหงส�ทอง เลืขท�� 32

5) น.ส.ศ$ร$วัรรณ พงศโอสธ� เลืขท�� 33

6) น.ส.ส$ร$กาญจน� พานะก$จ เลืขท�� 34

7) น.ส.ส�ดาร�ตน� ก(าจรก$ตต$ค�ณ เลืขท�� 35

ช�)นม�ธยมศ*กษาปี-ท�� 6/2

โรงเร�ยนเฉลื$มพระเก�ยรต$สมเด/จพระศร�นคร$นทร�

กาญจนบุ�ร�

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

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

หั�วขี�อ

1. เทคน$คการเข�ยนน$พจน�คณ$ตศาสตร�2. ค(าส��งควับุค�มวันซ้ำ()าแบุบุ for

3. ค(าส��งควับุค�มวันซ้ำ()าแบุบุ while

4. กรณ�ศ*กษา การใช#ค(าส��งควับุค�มวันซ้ำ()า

จุ�ดประสั่งคำ"

1. วั$เคราะห�น$พจน�คณ$ตศาสตร�ในร4ปีแบุบุย5อตามท��ก(าหนดให# แลื#วัเข�ยนผลืลื�พธ�ได#

2. เข�ยนน$พจน�คณ$ตศาสตร�ในร4ปีแบุบุย5อตามท��ก(าหนดให#3. วั$เคราะห�โปีรแกรมท��ใช#ค(าส��งควับุค�มวันซ้ำ()าแบุบุค(าส��ง for , while ,

do-while แลื#วัเข�ยนผลืการท(างานได#4. วั$เคราะห�โปีรแกรมท��ใช#ค(าส��งควับุค�มวันซ้ำ()าแบุบุค(าส��ง for , while ,

do-while แลื#วัเข�ยนข#อผ$ดพลืาดได#5. วั$เคราะห�ข#อผ$ดพลืาดโปีรแกรมท��ใช#ค(าส��งควับุค�มวันซ้ำ()าแบุบุค(าส��ง for

, while , do-while แลื#วั แก#ไขให#ถู4กต#องได#

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

1. เทคำน�คำการเขี�ยนน�พจุน"คำณิ�ตศาสั่ตร"

จากบุทท��ผ5านมาได#แนะน(าการเข�ยนสมการค(านวัณ ลื�กษณะน$พจน�คณ$ตศาสตร�โดยใช#ส�ญลื�กษณ�ต�วัด(าเน$นงานท��ม�ให#เลื อกใช#งานได#หลืากหลืายร4ปีแบุบุ ส(าหร�บุในหน5วัยเร�ยนน�)ม�ข#อเสนอแนะเพ$�มเต$ม ด#านเทคน$ควั$ธ�เข�ยนน$พจน� แลืะใช#ต�วัด(าเน$นการอ�กร4ปีแบุบุเพ �อเข�ยนน$พจน�แบุบุย5อด�งน�)

1.1 ต�วด�าเน�นการเพ��มคำ�า (Increment Operator)

ภัาษาซ้ำ�ม�ส�ญลื�กษณ� ด�งน�)

ตาราง 4.1 ส�ญลื�กษณ�ต�วัด(าเน$นการเพ$�มค5า

ต�วด�าเน�นการ ศ�พท"เฉพาะ คำวามหัมาย++ increment เพ$�มค5าอ�ก

1

ต�วอย�างคำ�าสั่��ง เข�ยนน$พจน�โดยใช#ต�วัด(าเน$นการเพ$�มค5า อย45ต(าแหน5งหลื�งต�วัแปีรท��ก(าหนดให# b=3 ;

อธิ�บาย 1.เปีร�ยบุได#ก�บุการเข�ยนค(าส��ง 2 บุรรท�ดค อ a = b ; (

หมายถู*ง a = 3)

b = b + 1 ; ( หมายถู*ง b =

3 + 1)

2.ค(าตอบุค อ a เก/บุค5า 3 ส5วัน b เก/บุค5า 4

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

a=b++

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

อธิ�บาย 1. เปีร�ยบุได#ก�บุการเข�ยนค(าส��ง 2 บุรรท�ดค อ

b = b + 1 ; ( หมายถู*ง b = 3 + 1)

a = b ; ( หมายถู*ง a = 4 )

2.ค(าตอบุค อ a เก/บุค5า 4 ส5วัน b เก/บุค5า 4

1.2 ต�วด�าเน�นการลุ่ดคำ�า ( decrement operator )

ภัาษาซ้ำ�ม�ส�ญลื�กษณ� ด�งน�)ตาราง 4.2 ส�ญลื�กษณ�ต�วัด(าเน$นการลืดค5า

ต�วด�าเน�นการ ศ�พท"เฉพาะ คำวามหัมาย-- decrement ลืดค5าอ�ก 1

ต�วอย�างคำ�าสั่��ง เข�ยนน$พจน�โดยใช#ต�วัการด(าเน$นการลืดค5าอย45ต(าแหน5งหลื�งต�วัแปีร ก(าหนดให# b = 3

อธิ�บาย 1. เปีร�ยบุได#ก�บุการเข�ยนค(าส��ง 2 บุรรท�ดค อ

a = b ; ( หมายถู*ง a = 3)

b = b - 1 ; ( หมายถู*ง b = 3 - 1)

2.ค(าตอบุค อ a เก/บุค5า 3 ส5วัน b เก/บุค5า 2

ต�วอย�างคำ�าสั่��ง เข�ยนน$พจน�โดยใช#ต�วัการด(าเน$นการลืดค5าอย45ต(าแหน5งหน#าต�วัแปีร

a = b- - ;

a = - - b ;

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

อธิ�บาย 1. เปีร�ยบุได#ก�บุการเข�ยนค(าส��ง 2 บุรรท�ดค อ

b = b - 1 ; ( หมายถู*ง b = 3 - 1)

a = b ; ( หมายถู*ง a = 2 )

2. ค(าตอบุค อ a เก/บุค5า 2 ส5วัน b เก/บุค5า 2

1.3 ต�วด�าเน�นการก�าหันดคำ�า  (compound 

assignment operators)

ภัาษาซ้ำ�ม�ส�ญลื�กษณ�ด�งน�)

ตารางท�� 4.3 ส�ญลื�กษณ�ต�วัด(าเน$นการก(าหนดค5า

สั่�ญลุ่�กษณิ"  (symbol)

ต�วด�าเน�นการ  (operators)

ต�วอย�าง

= Assignment a=b+= Addition a+=b  หมายถู*ง 

(a=a+b)-= Subtraction a-=b  หมายถู*ง 

(a=a-b)*= Multiplication a*=b  หมายถู*ง 

(a=a*b)/= Division a/=b  หมายถู*ง 

(a=a/b)%= Remainder a%=b  หมายถู*ง 

(a=a%b)&= bitwise  AND a&=b  หมายถู*ง 

(a=a&b)|= bitwise 

Inclusive  ORa|=b  หมายถู*ง 

(a=a|b)

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

^= bitwise  exclusive  OR

a^=b  หมายถู*ง  (a=a^b)

<<= right  shift a<<2  หมายถู*ง  (a=a<<2)

>>= left  shift a>>3  หมายถู*ง  (a=a>>3)

1.4 ประสั่�ทธิ�ภาพพจุน"แบบย�อ

ต�วัอย5างต5อไปีน�)แสดงให#เห/นวั5า การเข�ยนน$พจน�แบุบุย5อสามารถูให#ปีระส$ทธ$ภัาพการท(างานเท�ยบุเท5าก�บุการเข�ยนน$พจน�แบุบุยาวั

ต�วัอย5างโปีรแกรมท�� 4.1 แสดงปีระส$ทธ$ภัาพน$พจน�ท�ใช#ต�วัด(าเน$นการก(าหนดค5า#include <stdio .h>

/* project_loop//operatorl.c */main ( ){int a = 2 , = 4 ;printf ( “---------------------- \n\n ”) ;printf ( “ * operator *\n ”) ;printf ( “---------------------- \n\n”) ;printf ( a = -> %d \n “ , a ) ;

printf ( “ a = a + 1 -> %d \n\n ” , a ) ;printf (“ b = -> %d \n “ , b ) ;

b + = 1 ;

printf ( “ b + = 1 -> %d \n ” , b ) ;printf ( “---------------------- \n\n ”) ;}

a = a + 1 ;

---------------------------------------------------------------------- * Operator *---------------------------------------------------------------------- a = --> 2 a = a+1 --> 3 b = --> 4 b + = 1 --> 5--------------------------------------------------------------------

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

ร4ปีท�� 4.1 ผลืทดสอบุโปีรแกรมต�วัอย5างท�� 4.1

อธิ�บาย แสดงให#เห/นวั5าการเข�ยนน$พจน� a = a + 1 ; ก�บุ a + = 1 ;

ย5อมได#ผลืเหม อนก�น

ต�วอย�างโปรแกรมท�� 4.2 แสดงปีระส$ทธ$ภัาพน$พจน�ท��ใช#ต�วัด(าเน$นการเพ$�มค5า

#include <stdio .h>/* project_loop//operatorl.c */main ( ){int a = 2 , = 4 ;printf ( “---------------------- \n\n ”) ;printf ( “ * operator *\n ”) ;printf ( “---------------------- \n\n”) ;printf ( a = -> %d \n “ , a ) ;printf (“ b = -> %d \n “ , b ) ;printf (“ \n “) ;

printf (“ a = b + + \n “) ;printf ( “ a = %d \n ” , a ) ;printf ( “ b = %d \n ” , b ) ;printf (“ \n “) ;

printf (“ b = + + a \n “) ;printf ( “ a = %d \n ” , a ) ;printf ( “ b = %d \n ” , b ) ;printf ( “-------------------------------- \n\n ”) ;}

a = b ++ ;

b = ++a ;

---------------------------------------------------------------------- * Operator *---------------------------------------------------------------------- a = --> 2 b = --> 4 a = b ++ a = 4 b = 5

b = a ++

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

ร/ปท�� 4.2 ผลืการทดสอบุโปีรแกรมต�วัอย5างท�� 4.2

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

บุรรท�ดด�งน�)a = b ; (น(าค5า b ไปีไวั#ในหน5วัยควัามจ(า a ด�งน�)น a

= 4)

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

อธิ�บาย ค(าส��ง b = ++ a ; ค อa = a + 1 ; ( ปี:จจ�บุ�น a ม�ค5า 4 จ*งน(าค5า 4 + 1 ด�ง

น�)น a = 5 )

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

= 5 )

1.5 น�พจุน"ก�บการแปลุ่งชิน�ดขี�อม/ลุ่ โดยท��วัไปี ผลืการค(านวัณจากน$พจน�ระบุบุจะวั$เคราะห�แลืะเปีลื��ยนค5าให# โดยย*ดเกณฑ�เปีลื��ยนค5าไปีขอบุเขตข#อม4ลืท��ใหญ5กวั5า เร�ยกวั5าเปีลื��ยนค5าแบุบุ

---------------------------------------------------------------------- * Operator *---------------------------------------------------------------------- a = --> 2 b = --> 4 a = b ++ a = 4 b = 5

b = a ++

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

implicit type conversion

กรณ�ท��ต#องการเปีลื��ยนแปีลืงผลืการค(านวัณจากน$พจน�ไปีให#ชน$ดข#อม4ลืท��ต#องการ ต#องเข�ยนค(าส��งเพ$�มเต$มในน$พจน� เร�ยกวั5าการเปีลื��ยนแปีลืงค5าแบุบุ explicit type conversion

ต�วัอย5างโปีรแกรมท�� 4.3 แสดงปีระส$ทธ$ภัาพน$พจน�แปีลืงชน$ดข#อม4ลื

#include < stdio . h >/ * file name job6 */main ( )

{

Const char line [ 40 ] = “______________________________” ;printf ( “ % s \n\n “ , line) ;printf ( “ * Implicit type conversion * \n “) ;printf ( “ % s \n\n “ , line) ;

printf ( “ 10 + 3.17 = % . 2f \n\n “ , result1) ;printf ( “ % s \n\n “ , line) ;printf ( “ * Explict type conversion * \n “) ;printf ( “ % s \n\n “ , line) ;

printf ( “(int) (10 + 3.17 ) = % . 2d \n “ , result2 ) ;printf ( “ % s \n\n “ , line) ;}

Int value1 = 10 , result2 ; float value 2 = 3.17 , result ;

result 1 = value1 + value2 ;

result 2 = (int) ( value1 + value2 ) ;

-----------------------------------------------------------------------------------* Implicit type conversion * ----------------------------------------------------------------------------------10 + 3.17 =13.1710 / 3 = 3.00----------------------------------------------------------------------------------* Explict type conversion *<int > <10 + 3.17 > = 13----------------------------------------------------------------------------------Press any key to continue

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

ร/ปท�� 4.3 ผลืทดสอบุโปีรแกรมต�วัอย5าง ท� 4.3

อธิ�บาย

1. จากค(าส��งน$พจน� result 1 = value1 + value 2 ;

ระบุบุจะน(าค5า 10 + 3.17 ได# 13.17 แลื#วัเก/บุในหน5วัยควัามจ(า result 1 การแปีลืงชน$ดข#อม4ลื ระบุบุจะวั$เคราะห�แลืะเปีลื��ยนแปีลืงค5าให#อ�ตโนม�ต$ โดยย*ดเกณฑ�เปีลื��ยนค5าขอบุเขตข#อม4ลืท��ใหญ5กวั5า ด�งน�)นจ*งเปี;นทศน$ยม เพราะขอบุเขตกวั#างกวั5าจ(านวันเต/ม

2.จากค(าส��งน$พจน� result 1 = value / 3 ;

ระบุบุจะวั$เคราะห�แลืะเปีลื��ยนค5าให# โดยย*ดลื�กษณะเคร �องหมายน��นค อ หากจ(านวันใดก/ตามใช#เคร �องหมาย / แลืะส��งแสดงผลืด#วัยส�ญลื�กษณ�ควับุค�ม % .2f เคร �องหมายจะเปีลื��ยนเปี;นชน$ดทศน$ยม

3. จากค(าส��งน$พจน� result 2 = (int) ( value1 +

value2 ) ;

ระบุบุจะน(าค5า 10 + 3.17 ได# 13.17 แลื#วัถู4กค(าส��ง int ()

แปีลืงเปี;นจ(านวันเต/ม จ*งเก/บุค5า 13 ในหน5วัยควัามจ(า result 1

2. คำ�าสั่��งคำวบคำ�มวนซ้ำ��าแบบ for

ประสั่�ทธิ�ภาพคำ�าสั่��ง : ควับุค�มการท(างานวันซ้ำ()า ลื�กษณะท��ต#องแจ#งจ(านวันรอบุการท(างาน อาจปี<อนจ(านวันผ5านทางแปี<นพ$มพ�จ�ดเก/บุลืงต�วัแปีร หร อเข�ยนค(าส��งก(าหนดรอบุการท(างานคงท��ในโปีรแกรม ด�งน�)นในส5วันของค(าส��งต#องการค5า 3 ค5า ค อ ค5าเร$�มต#นน�บุรอบุ ค5าส$)นส�ดรอบุ แลืะอ�ตราเพ$�มแต5ลืะรอบุ

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

ข#อควัรจ(า : ต�วัแปีรท��ใช#ในค(าส��ง for ต#องเปี;นต�วัแปีรปีระเภัทจ(านนเต/มเท5าน�)น

2.1 ร/ปแบบคำ�าสั่��งแลุ่ะแนวทางการเขี�ยนผั�งงานคำ�าสั่��ง for

ร/ปแบบ การใช#ค(าส��ง for

ข#อควัรจ(า : กรณ�ม� 1 ค(าส��งในกระบุวันการวันซ้ำ()าไม5ต#อง {} ก�)นขอบุเขต

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

2.2 แนวทางการใชิ�คำ�าสั่��ง for กรณิ�ก�าหันดการวนซ้ำ��าเป2นคำ�าคำงท��

ว�ตถุ�ประสั่งคำ" จงเข�ยนงานวันซ้ำ()าจ(านวัน 5 รอบุ เพ �อปี<อนช �อน�กเร�ยนแต5ลืะรอบุให#ระบุบุพ$มพ�ลื(าด�บุรอบุอ�ตโนม�ต$ด#วัย

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

statemmnt ( s ) ;

}

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

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

ร4ปีท�� 4.4 ผลืทดสอบุโปีรแกรมต�วัอย5างท�� 4.4

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

2. ลื(าด�บุท��แสดงอ�ตโนม�ต$ ใช#ปีระโยชน�จากค5า n ท��เพ$�มค5ารอบุลืะ 1

3. หากค5า n มากกวั5า 6 จะออกจากการวันซ้ำ()าไปีท(างานค(าส��งหลืงปี-กกาปี=ด

4. กระบุวันการด(าเนอนงานวันซ้ำ()าอย45ภัายใต#เคร �องหมาย {} 1

#include < stdio . h>/* project_loop // ex_for1.cpp */main ( ){char name [ 30 ] ; int n ;printf (“ Report Data \n “ ) ;Printf ( “ **************************************** \n\n “) ;

Printf ( “ **************************************** \n “ ) ;printf ( “ \n end program …………..\n “ ) ;}

for ( n = 1 ; n < 6 ; n++ ) { printf (“ No. => %d “ , n ) ; printf ( “ Name is = > “ ) ; scanf ( “ %s “ , name ) ; }

Report Data****************************************************NO. => 1 Name is => ANANNO. => 2 Name is => SOMJITNO. => 3 Name is => UILAINO. => 4 Name is => RUNGNO. => 5 Name is => TEERA****************************************************

End program ………………………….Press any key to continue

ANANSOMJITUILAIRUNGTEERA

ผ4#ใช#ระบุบุงานปี<อนข#อม4ลืจ(านวัน 5 ราย เพราะควับุค�มกรท(างานด#วัย

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

For ( n = 1 ; n < 6 ; n++){

Printf ( No . => %d , n ) ;

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

เท5าน�)น ระบุบุตรวัจสอบุระบุบุเง �อนไขการท(างานท�� for น��น ค อ n ม�ค5าเปี;น 1 แต5ไม5เก$น 6 แลืะเพ$�มค5าอ�ตโนม�ต$ n = n+1

2.3 แนวทางการใชิ�คำ�าสั่��ง for กรณิ�ก�าหันดการวนซ้ำ��าเป2นต�วแปร

ว�ตถุ�ประสั่งคำ" จงเข�ยนงานวันซ้ำ()า เพ �อปี<อนช �อน�กเร�ยน ให#ผ4#ใช#ระบุบุก(าหนดจ(านวันรอบุเอง แต5 ลืะรอบุให#ระบุบุพ$มพ�ลื(าด�บุอ�ตโนม�ต$ด#วัย

ต�วัอย5างโปีรแกรมท�� 4.5 โปีรแกรมระบุบุงาน ใช#ค(าส��งควับุค�มวันซ้ำ()าด#วัย ค(าส��ง for ก(าหนดรอบุการวันซ้ำ()า โดยผ4#ใช#ระบุบุงาน

For ( n = 1 ; n < 6 ; n++){

Printf ( No . => %d , n ) ;

#include < stdio .h >/* project_loop // ex_for2_1.cpp */main ( ){char name [ 30 ] ;

int midterm , final ,score , n ,num ;printf ( “ key loop => “) ; scanf ( “%d” , & num) ;printf ( “ \n Report Score \n “ ) ;printf ( “ ***************************************** \n\n “ ) ;

Printf ( “ **************************************** \n “ ) ;printf ( “ \n end program …………..\n “ ) ;}

For ( n = 1 ; n <= num ; n++) { printf ( “ No. => %d “ , n) printf ( “ Name is => “ ) ; scanf ( “ %s” , name) ; }

Key loop => 3

Report Score****************************************************NO. => 1 Name is => ANANNO. => 2 Name is => SOMJITNO. => 3 Name is => UILAI

ผ4#ใช#ระบุบุงานระบุ�จ(านวันรอบุ

3

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

ร/ปท�� 4.5 ผลืกาทดสอบุโปีรแกรมต�วัอย5างท�� 4.5

อธิ�บาย 1. โปีรแกรมน�)ให#ผ4#ใช#ระบุบุงานปี<อนจ(านวันน�กเร�ยนหร อรอบุท(างาน

2. จากต�วัอย5างปี<อน 3 จ*งวันซ้ำ()าร�บุช �อน�กเร�ยน 3 ราย3. การเข�ยนค(าส��งควับุค�มการวันซ้ำ()าจากต�วัอย5างค อ

3. การคำวบคำ�มคำ�าสั่��งแบบวนซ้ำ��า while

ประสั่�ทธิ�ภาพคำ�าสั่��ง : ควับุค�มการท(างานวันซ้ำ()า กรณ�ระบุบุงานม�ลื�กษณะตรวัจสอบุเง �อนไข ก5อนเข#าส45ส5วันลื(าด�บุงานค(าส��งท��ก(าหนดไวั# การเข�ยนค(าส��ง while ต#องก(าหนดน$พจน�แบุบุตรรกะเปี;นเง �อนไขให#ระบุบุตรวัจสอบุวั5าเง �อนไขม�ค5าในหน5วัยควัามจ(าเปี;น 1 (ค5าจร$ง) หร อค5าท��ได#เปี;น 0 (ค5าเท/จ) กรณ�ค5าน$พจน�ตรรกะเปี;นจร$ง จ*งวันซ้ำ()ากลื�5มค(าส��งภัายในส�ญลื�กษณ� {

} ต5อจาก while เม �อน$พจน�ตรรกะได#ค5าเปี;นเท/จจะด(าเน$นงานค(าส��งหลื�งเคร �องหมายปี-กกาปี=ด { } ของค(าส��ง while

ขี�อคำวรจุ�า > ค อภัายในการวันซ้ำ()าแต5ลืะรอบุ ต#องม�ค(าส��งท��ส5งผลืให#เก$ดการเปีลื��ยนแปีลืงน$พจน�ให#เปี;นเท/จ เพ �อออกจากการวันซ้ำ()าได#

Key loop => 3

Report Score****************************************************NO. => 1 Name is => ANANNO. => 2 Name is => SOMJITNO. => 3 Name is => UILAI

ผ4#ใช#ระบุบุงานปี<อนข#อม4ลื จ(านวันตามท��ระบุ�รอบุ เพราะควับุค�มการท(างานด#วัย for ( n = 1 ; n < num ; n++)

SOMKITLINDAKITTI

Printf ( “ key loop => “ ) ; scanf ( “ %d “ , num)for ( n =1 ; n <= num ; n++){ printf ( “ No. => %d “ , n) printf ( “ Name is => “ ) ; scanf ( “ %s” , name) ; }

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

3.1 ร/ปแบบคำ�าสั่��งแลุ่ะแนวทางการเขี�ยนผั�งงานคำ�าสั่��ง while

ร/ปแบบ การใชิ�คำ�าสั่��ง while

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

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

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

ว�ตถุ�ประสั่งคำ" จงเข�ยนงานเพ �อวันซ้ำ()า ให#ผ4#ใช#ระบุบุปี<อนคะแนนน�กเร�ยน 5 ราย แต5ลืะรอบุให#ระบุบุพ$มพ�ลื(าด�บุรอบุอ�ตโนม�ต$ด#วัย

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

ต�วอย�างโปรแกรม โปีรแกรมระบุบุงาน ควับุค�มการวันซ้ำ()าด#วัยค(าส��ง while วันซ้ำ()าร�บุคะแนนน�กเร�ยน 5 ราย (แต5ม�ข#อผ$ดพลืาด วันไม5ร4 #จบุ)

อธิ�บาย 1. โปีรแกรมน�)ม�ข#อผ$ดพลืาดค อวันซ้ำ()าไปีเร �อย ๆ มากกวั5า 5

รอบุ (ต#องกดแปี<น Ctrl-Break)

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

ตลือดไปี

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

3.โปีรแกรมท��ถู4กต#องแสดงในต�วัอย5างต5อไปี

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

อธิ�บาย 1. หลื�งปีระโยคค(าส��ง while ต#องเข�ยนน$พจน�ตรรกะควับุค�มการวันซ้ำ()า เช5น while

( n <= 5 )

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

<= 5 ) เปี;นเท/จจ*งออกจากการวันซ้ำ()า

3. ด�งน�)น โปีรแกรมน�)ส5วันควับุค�มการวันซ้ำ()าค อ

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

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

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

ว�ตถุ�ประสั่งคำ" จงเข�ยนงานเพ �อวันซ้ำ()า เพ �อปี<อนคะแนนน�กเร�ยนจ(านวัน n ราย ให#ผ4#ใช#ระบุบุระบุ�จ(านวันน�กเร�ยนด#วัยตนเอง แต5ลืะรอบุให#ระบุบุพ$มพ�ลื(าด�บุรอบุอ�ตโนม�ต$ด#วัย

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

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

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

อธิ�บาย 1. ผ4#ใช#ควับุค�มรอบุวันซ้ำ()าด#วัยการระบุ�ทางแปี<นพ$มพ� เช5น 2

หมายถู*งวันซ้ำ()า 2 รอบุ

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

2. ต#องระม�ดระวั�งต�วัแปีรท��เก��ยวัข#องก�บุการควับุค�มจ(านวันรอบุ ต#องเปี;นกลื�5ม จ(านวันเต/ม ในท��น�)ค อ n ใช#เปี;นต�วัน�บุรอบุ แลืะใช#ตรวัจสอบุเปีร�ยบุเท�ยบุก�บุค5า num ท��เก/บุค5าจ(านวันรอบุไวั#

4. คำ�าสั่��งคำวบคำ�มวนซ้ำ��าแบบ do-while

ประสั่�ทธิ�ภาพคำ�าสั่��ง : ควับุค�มการวันซ้ำ()า ลื�กษณะการท(างาน 1 รอบุก5อน แลื#วัจ*งตรวัจสอบุน$พจน�ตรรกะท��ก(าหนดเปี;นเง �อนไขก5อนวันซ้ำ()าในรอบุต5อไปี ท�)งน�)หากค5าน$พจน�ตรรกะ เปี;นจร$ง จะวันซ้ำ()า แต5หากค5าน$พจน� เปี;นเท/จ จะไม5วันซ้ำ()า

ขี�อคำวรจุ�า > ค อ ต#องตรวัจสอบุงานโปีรแกรมวั5าได#เข�ยนค(าส��งงาน เพ �อใช#แปีรเปีลื��ยนน$พจน�ให#เปี;นเท/จหร อไม5 อย5างไรม$ฉะน�)นโปีรแกรมอาจวันไม5ร4 #จบุ

4.1 ร/ปแบบคำ�าสั่��งแลุ่ะแนวทางการเขี�ยนผั�งงานคำ�าสั่��ง do – while

ร/ปแบบ การใช#ค(าส��ง do – while

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

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

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

ว�ตถุ�ประสั่งคำ" จงเข�ยนงานวันซ้ำ()า ให#ผ4#ใช#ระบุบุปี<อนคะแนนน�กเร�ยน 5

ราย แต5ลืะรอบุให#เปี;นระบุบุพ$มพ�ลื(าด�บุอ�ตโนม�ต$

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

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

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

อธิ�บาย 1. โปีรแกรมลื�กษณะน�)จะท(างานระบุบุงานใน { } ก5อนตรวัจสอบุเง �อนไขเสมอ

2. เม �อระบุบุท(างาน 1 รอบุ แลื#วัจ*งตรวัจสอบุเง �อนไข while (n

<= 5) เพ �อ วั$เคราะห�การวันซ้ำ()าหากตราบุใดเง �อนไข เปี;นจร$ง จะวันซ้ำ()า หากเง �อนไข เปี;นเท/จ n > 5 จะเลื$กวันซ้ำ()า

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

3. ค(าส��ง n++ : ค อค(าส��ง n = n + 1 : ใช5เปีลื��ยนแปีลืงค5า n

เพ �อให#ค5า n > 5

4. กระบุวันการวันซ้ำ()า อย45ภัายใต#เคร �องหมาย { } จากต�วัอย5างค อ

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

ว�ตถุ�ประสั่งคำ" จงเข�ยนงานวันซ้ำ()าปี<อนคะแนนน�กเร�ยน ให#ผ4#ใช#ระบุบุจ(านวันน�กเร�ยนด#วัยตนเองแต5ลืะรอบุให#ระบุบุพ$มพ�ลื(าด�บุรอบุอ�ตโนม�ต$

ต�วอย�างโปรแกรม โปีรแกรมระบุบุงานควับุค�มการวันซ้ำ()าด#วัยค(าส��ง do

– while เพ �อวัน ซ้ำ()าร�บุคะแนนน�กเร�ยน n ราย

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

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

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

5.กรณิ�ศ5กษาการใชิ�คำ�าสั่��งคำวบคำ�มวนซ้ำ��า

5.1 กรณ�ศ*กษา ข� )นตอนการสร#างโปีรแกรม ควับุค�มการวันซ้ำ()าด#วัยค(าส��ง for

ค(าส��ง For น�)นจะเปี;นลื4ปีแบุบุ pretest loop ท��ใช#น$พจน� 3 น$พจน� น$พจน�แรกเปี;นการก(าหนดค5า น$พจน�ท�� 2 เปี;นเง �อนไขในการตรวัจสอบุต�วัควับุค�มลื4ปี แลืะส5วันท�� 3 เปี;นการปีร�บุปีร�งค5าของต�วัควับุค�มลื4ปี จะพบุวั5าในต�วัของค(าส��ง for สามารถูม�ค(าส��งได#เพ�ยงหน*�งค(าส��งเท5าน�)นจะต#องใช#ช�ดค(าส��งแบุบุ compound statement แลืะจะพบุอ�กวั5าค(าส��ง for น��นม�การท(างานเหม อน while แต5ค(าส��ง for น�)นจะรวัมการกระท(าท�)งสามอย5างไวั#ในบุรรท�ดเด�ยวัก�นเลืย การเปีร�ยบุเท�ยบุการเข�ยนโปีรแกรมโดยใช#ค(าส��ง for แลืะค(าส��ง while โดยโจทย�ม�อย45วั5าให#ร�บุต�วัเลืขทางค�ย�บุอร�ด 20 ต�วั แลื#วัน(าต�วัเลืขท�)งหมาดมารวัมก�น ซ้ำ*�งจากโปีรแกรมข#างต#นด#านลื5างจะเห/นได#วั5า ค(าส��ง for จะช5วัยให#ผ4#ใช#เข�ยนโปีรแกรมได#ส� )นลืง

โจุทย" จงเข�ยนโปีรแกรมให#ผ4#ใช#ระบุบุก(าหนดรอบุการทงานก5อนแลื#วัจ*งปี<อนช �อน�กเร�ยน คะแนนกลืางภัาค แสดงผลืรวัมคะแนน จ(านวัน n ราย ท�)งน�)ให#ระบุบุพ$มพ�ลื(าด�บุอ�ตโนม�ต$ เม �อส$)นส�ดจ(านวันน�กศ*กษาท��ระบุ�ให#พ$มพ�คะแนนเฉลื��ยของน�กเร�ยนกลื�5มน�)

ก(าหนดการแสดงผลื ด�งน�)key loop =>……………Report Score****************************No. => ……………name is => …………..midterm is => …………..Final is => ……………* Score = ……………***************************** *Average Score is = ………….*****************************

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

ขี��นตอนการสั่ร�างโปรแกรมประย�กต"งาน

1.การวั$เคราะห�ระบุบุงานเบุ )องต#น

1.1 ส$�งท��ต#องการค อ ผลืรวัมคะแนน คะแนนเฉลื��ย

1.2 สมการค(านวัณ

ลื(าด�บุ = ลื(าด�บุ+1

ผลืรวัมคะแนน = คะแนนกลืางภัาค + ปีลืายภัาคคะแนนเฉลื��ย = คะแนนรวัมท�)งกลื�5ม / จ(านวันน�กศ*กษาคะแนนรวัมท�)งกลื�5ม =คะแนนรวัมท�)งกลื�5ม + ผลืรวัมคะแนน

1.3 ข#อม4ลืน(าเข#า จ(านวันน�กศ*กษา คะแนนกลืางภัาค คะแนนปีลืายภัาค

1.4 การแสดงผลืตามโจทย�ก(าหนด

1.5 การก(าหนดค�ณสมบุ�ต$ต�วัแปีร

ข#อม4ลื ช �อหน5วัยควัามจ(า

ชน$ดข#อม4ลื

จ(านวันน�กศ*กษา

num ต�วัเลืขจ(านวันเต/ม

ลื(าด�บุ n ต�วัเลืขจ(านวันเต/ม

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

ช �อน�กศ*กษา name กลื�5มอ�กขระคะแนนกลืาง

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

จ(านวันเต/มคะแนนปีลืาย

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

จ(านวันเต/มผลืรวัมคะแนน score ต�วัเลืข

จ(านวันเต/มคะแนนรวัมท�)ง

กลื�5มsum ต�วัเลืขทศน$ยม

คะแนนเฉลื��ย average ต�วัเลืขทศน$ยม

1.6 ข�)นตอนการท(างาน (action)

1) ปี<อนจ(านวันนน�กศ*กษา (num)

2) ควับุค�มวันซ้ำ()าด#วัยค(าส��ง for (n =1; n<=num ; n+

+)

หากเง �อนไข เปี;นจร$ง ให#ท(าข#อ 2.1-2.6 หากเง �อนไข เปี;นเท/จ ไปีท��ข#อ 3

2.1) พ$มพ�ลื(าด�บุท�� (n)

2.2) ปี<อนข#อม4ลืช �อน�กศ*กษา (name) คะแนนกลืางภัาค (midterm)คะแนนปีลืาย

ภัาค (final)

2.3) ค(านวัณผลืคะแนน (score) = midterm +

final

2.4) พ$มพ� score

2.5) ค(านวัณรวัมท�)งกลื�5ม (sum) = sum + score

2.6) วันซ้ำ()าไปีท(าท��ข#อ 2

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

3) ค(าน(าคะแนนเฉลื��ย (average) = sum / num

4) พ$มพ� average

5) จบุการท(างาน

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

start

ปี<อน num

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

พ$มพ� n

ปี<อน name,midterm,final

Averge = sum / num

พ$มพ�

n > num

n <= num

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

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”) ; }

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

ค(าส��งน�)ปีระกอบุด#วัย 3 ส5วันค อ 1.สั่�วนก�าหันดคำ�าเร��มต�นใหั�ก�บต�วแปร ส5วันน�)เปี;นการก(าหนดค5าเร$�มต#นให#ก�บุต�วัแปีรท��ต#องการใช#งานใน ลื4ปี โดยปีกต$เราจะใช#ต�วัแปีรน�)เปี;นต�วัควับุค�มลื4ปี 2.สั่�วนเง6�อนไขีท��ต�องการตรวจุสั่อบ เปี;นน$พจน�ตรรกะท��ใช#เปี;นเง �อนไขในการท(างานของลื4ปีโดยหากเง �อนไขน�)เปี;นจร$งก/ย�งคงท(างานในลื4ปีต5อไปี แต5หากเง �อนไขเปี;นเท/จจะออกจากการท(างานของลื4ปีไปีท(าค(าส��งท��อย45นอกลื4ปีต5อไปี 3.สั่�วนปร�บคำ�าขีองต�วแปร เปี;นส5วันท��ใช#ปีร�บุค5าของต�วัแปีรท��ใช#ในลื4ปี การท(างานของ for น�)น จะเร$�มจากส5วันแรกค อก(าหนดค5าเร$�มต#นให#ก�บุต�วัแปีรก5อน จากน�)นจะไปีตรวัจสอบุเง �อนไขในส5วันท�� 2 วั5าเปี;นจร$งหร อไม5 ถู#าเปี;นจร$งก/จะเข#าส45การท(างานของลื4ปี (ถู#าเปี;นเท/จจะไม5เข#าส45ลื4ปี แต5จะไปีท(าค(าส��งต5อไปีท��อย45ถู�ดจากลื4ปีเลืย) แลืะเม �อท(างานตามค(าส��งท�)งหมดท��อย45ภัายในลื4ปีแลื#วัก/จะเข#าไปีท(างานในส5วันท��3 ของค(าส��ง for เพ �อปีร�บุค5าของต�วัแปีร แลืะท(าการตรวัจสอบุเง �อนไขใหม5อ�กคร�)ง ซ้ำ*�งท5าเง �อนไขเปี;นจร$งก/ย�งคงอย45ใน ลื4ปีต5อไปี แลืะจะท(าอย5างน�)เร �อยๆจนกระท��งผลืการตรวัจสอบุเง �อนไขเปี;นเท/จจ*งค5อยออกจาก ลื4ปีไปีท(าค(าส��งท��อย45นอกลื4ปีต5อไปี

5.2 กรณ�ศ*กษา ข� )นตอนการสร#างโปีรแกรม ควับุค�มการวันซ้ำ()าด#วัยค(าส��ง while

#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”) ; }

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

เง �อนไข-เท/จ

ออกจากค(าส��ง while

ค(าส��งต5าง ๆ

เปีลื��ยนแปีลืงเง �อนไขในการท(าซ้ำ()า

จร$ง

ก(าหนดเง �อนไขในการท(าซ้ำ()า

while เปี;นค(าส��งท��ใช#ในโครงสร#างควับุค�มแบุบุวันซ้ำ()า (repetition

control structure) ค อ เปี;นค(าส��งให#ม�การท(าซ้ำ()าเปี;นรอบุ ๆ (loop)

ลื�กษณะการท(างานท(านองเด�ยวัก�บุค(าส��ง for แต5ต5างก�นตรงท��ไม5ทราบุจ(านวันรอบุท��แน5นอน เม �อเร$�มต#นจะม�การตรวัจเง �อนไข ถู#าเง �อนไขม�ค5าเปี;นจร$งจะท(าตามค(าส��งท��ม�ท��ม� 1 ค(าส��ง หร อ ช�ดของค(าส��ง แลื#วักลื�บุมาตรวัจสอบุเง �อนไขใหม5 ถู#าเง �อนไขท��เปี;นเท/จจะออกจากค(าส��ง while ในการใช#ค(าส��งน�)ต#องม�ค(าส��งเปีลื��ยนแปีลืงค5าของน$พจน�ท��ใช#เปี;นเง �อนไขให#สามารถูม�ค5าเปี;นเท/จได# หร อม$ค(าส��งให#หย�ดการวันซ้ำ()า ม$ฉะน�)นจะม�ปี:ญหาท��โปีรแกรมท(างานแบุบุวันซ้ำ()าแบุบุไม5ม�ท��ส$)นส�ด (endless loop) ซ้ำ*�งเปี;นการผ$ดพลืาดท��ร�นแรงเพราะจะไม5สามารถูท(าค(าส��งต5อ ๆ ไปีแลืะจบุการท(างานของโปีรแกรมไม5ได#

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

คำ�าสั่��ง while ม�ร/ปแบบ ด�งน�)

while (น$พจน�ทดสอบุเง �อนไข) statement ; หร อ while

(น$พจน�ทดสอบุเง �อนไข)

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

{

ค(าส��งท��1;

ค(าส��งท��2;

...

ค(าส��งส�ดท#าย;

}

โดย while จะท(าการท(าซ้ำ()าต5อไปีเม �อน$พจน�ทดสอบุเง �อนไขให#ผลืลื�พธ�เปี;นจร$ง แลืะท(าต5อจนกระท��งผลืลื�พธ�ของน$พจน�ทดสอบุเง �อนไขเปี;นเท/จ

โจุทย" จงเข�ยนโปีรแกรมในลื�กษณะให#ระบุบุตรวัจสอบุเง �อนไขก5อนเข#าส45รอบุการท(างานวั5า หากรห�สน�กศ*กษาไม5ใช5เลืข 0 (ค5าตรรกะเปี;นจร$ง) ให#วันพ$มพ�ซ้ำ()าลื(าด�บุท�� ปี<อนช �อน�กเร�ยน คะแนนกลืางภัาค คะแนนปีลืายภัาค แสดงผลืรวัมคะแนน จ(านวัน n ราย หากรห�สน�กศ*กษาเปี;นเลืข 0 (ค5าตรรกะเปี;นเท/จ)ให#พ$มพ�คะแนนเฉลื��ยน�กศ*กษากลื�5มน�)

ก(าหนดการแสดงผลืด�งน�)

ขี��นตอนการสั่ร�างโปรแกรมประย�กต"งาน

1.การวั$เคราะห�ระบุบุงานเบุ )องต#น

Report Score===========================Student Id => ……………No. => …………….name is => …………..midterm is => …………..Final is => ……………* Score = ……………=========================== *Average Score is = ………….===========================

กดรห�สเปี;น 0 ออกจากการวันซ้ำ()า

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

1.1 ส$�งท��ต#องการค อ ผลืรวัมคะแนน คะแนนเฉลื��ย

1.2 สมการค(านวัณ

ลื(าด�บุ = ลื(าด�บุ+1

ผลืรวัมคะแนน = คะแนนกลืางภัาค + ปีลืายภัาคคะแนนเฉลื��ย = คะแนนรวัมท�)งกลื�5ม / (ลื(าด�บุส�ดท#าย –

1)

คะแนนรวัมท�)งกลื�5ม =คะแนนรวัมท�)งกลื�5ม + ผลืรวัมคะแนน

1.3 ข#อม4ลืน(าเข#า รห�สน�กศ*กษา จ(านวันน�กศ*กษา คะแนนกลืางภัาค คะแนนปีลืายภัาค

1.4 การแสดงผลืตามโจทย�ก(าหนด

1.5 การก(าหนดค�ณสมบุ�ต$ต�วัแปีร

ข#อม4ลื ช �อหน5วัยควัามจ(า

ชน$ดข#อม4ลื

รห�สน�กศ*กษา id ต�วัเลืขจ(านวันเต/ม

ลื(าด�บุ n ต�วัเลืขจ(านวันเต/ม

ช �อน�กศ*กษา name กลื�5มอ�กขระคะแนนกลืาง

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

จ(านวันเต/มคะแนนปีลืาย

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

จ(านวันเต/มผลืรวัมคะแนน score ต�วัเลืข

จ(านวันเต/ม

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

คะแนนรวัมท�)งกลื�5ม

sum ต�วัเลืขทศน$ยม

คะแนนเฉลื��ย average ต�วัเลืขทศน$ยม

1.6 ข�)นตอนการท(างาน (action)

1) ก(าหนดลื(าด�บุท�� (n) ม�ค5าเปี;น 12) ปี<อนรห�สน�กศ*กษา (id)

3) ควับุค�มวันซ้ำ()าด#วัยค(าส��ง while (id ! = 0)

หากเง �อนไข เปี;นจร$ง ให#ท(าข#อ 3.1-3.8 หากเง �อนไข เปี;นเท/จ ไปีท��ข#อ 4

3.1) พ$มพ�ลื(าด�บุท�� (n)

3.2) ปี<อนข#อม4ลืช �อน�กศ*กษา (name) คะแนนกลืางภัาค (midterm)คะแนนปีลืาย

ภัาค (final)

3.3) ค(านวัณผลืคะแนน (score) = midterm +

final

3.4) พ$มพ� score

3.5) ค(านวัณรวัมท�)งกลื�5ม (sum) = sum + score

3.6) ค(านวัณ n 3.7) ปี<อนรห�สน�กศ*กษา (id)

3.8) วันซ้ำ()าไปีท(าท��ข#อ

4) ค(าน(าคะแนนเฉลื��ย (average) = sum / (num-1)

5) พ$มพ� average

6) จบุการท(างาน

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

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

start

ปี<อน id

พ$มพ� n

ปี<อน name,midterm,final

Score = midterm + final

พ$มพ� score

Averge = sum / num (n-1)

พ$มพ� average

end

no

yes

n =1

While (id !=0)

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

3. ค(าส��งควับุค�มการท(างาน

n = n+1

ปี<อน id

#include <stdio.h>/* file name ex_while4.c*/main (){char name [30] ;int midterm = 0 , final = 0 , score = 0 ,n=1 , id ;float sum = 0 , average = 0 ;printf (“\n Report Score \n“) ; printf(“==========================\n \n”) ;Printf (“student id . => ”) ; scanf (“%d”,& id) ;

while (id ! =0) { 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”) ; printf (“student id . => ”) ; scanf (“%d”,& id) ; } average = sum / (n-1) ;printf end job….. \n” ,) ;printf (“======================\n) ;printf (“* Averge score is = %.2f \n” , averge) ;printf (“======================\n) ;

}

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

คำ�าอธิ�บาย

1. สาเหต�ท��ต#องเข�ยนสมการค5าเฉลื��ย (averge) = คะแนนรวัมท�)งหมด (sum) (จ(านวันนกศ*กษา (n)-1) ; n หมายถู*ง หน5วัยควัามจ(าเก/บุสะสมค5าจ(านวันน�กศ*กษา แต5ในกระบุวันการท(างานม�ข#อส�งเกตวั5า จากต�วัอย5าง n ม�ค5าเปี;น 3 บุวักเพ$�มไปี 1 ราย แต5ผ4#ใช#ระบุบุกดรห�สน�กศ*กษาเปี;น 0 หมายถู*งไม5วันซ้ำ()า ด�งน�)นจ(านวันข#อม4ลืน�กส*กษาท��แท#จร$งน�)นม� 2 รายเท5าน�)น จ*งต#องลืบุไปี 1 จากค5าท��ม�อย45 ท�)งน�)หากใช#สมการคะแนนเฉลื��ย = คะแนนรวัมท�)งกลื�5ม/ ลื(าด�บุส�ดท#าย ผลืลื�พธ ท��ได#จะผ$ด

2. สาเหต�ท��ต#องเข�ยน scanf (“%d”,& id) ; ในโปีรแกรม 2 แห5ง ค อ

เพราะเม �อวันซ้ำ()าไปีรอบุท�� 2 ระบุบุจะไปีท(างานต(าแหน5งบุรรท�ด while ด�งน�)นเพ �อให#การวันซ้ำ()ารอบุถู�ดไปีม��ค5ารห�สน�กศ*กษาไปีใช#ในการตรวัจสอบุเง �อนไข (id ! =0)

Printf (“student id . => ”) ; scanf (“%d”,& id) ;while (id ! =0) { printf ({“No. => %d \n” , n) ; ………. printf (“student id . => ”) ; scanf (“%d”,& id) ; }

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

ต�วอย�างเพ��มเต�ม

โปีรแกรมน�) เร$�มต#น ก(าหนดค5า num เปี;น 0 แลืะให# counter ม�ค5าเปี;น 3 แลื#วั จ*งเข#าส45การท(าซ้ำ()า แบุบุ while เร$�มต#นทดสอบุวั5าเง �อนไข ค อ counter <= 11 เปี;นจร$ง หร อไม5 ถู#าเปี;นจร$ง จะท(าตามค(าส��ง

#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 39: รายงานการเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม. 6 ห้อง2

ค(าส��งต5าง ๆ

จร$ง

ก(าหนดเง �อนไขในการท(าซ้ำ()า

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

แลืะค(าส��ง counter = counter + 2 ซ้ำ*�งเปี;นการเพ$�มค5า ของ counter จากเด$ม แลื#วัตรวัจสอบุเง �อนไข ถู#าเปี;นจร$งก/ท(าต5อไปีซ้ำ()าก�นไปีเร �อยจนกระท��งน$พจน�เง �อนไข เปี;นเท/จ ค อ counter มากกวั5า 11 ซ้ำ*�งค อ เง �อนไข counter <= 11 ม�ค5าเปี;นเท/จ จ*งออกจากการท(าซ้ำ()า ในต�วัอย5างน�)ม�การท(าซ้ำ()า 5 รอบุ ได#ผลืด�งร4ปี

5.3 กรณ�ศ*กษา ข� )นตอนการสร#างโปีรแกรม ควับุค�มการวันซ้ำ()าด#วัยค(าส��ง do-while

do while เปี;นค(าส��งให#ม�การท(าซ้ำ()าเปี;นรอบุ ๆ (loop) ลื�กษณะการท(างานท(านองเด�ยวัก�บุค(าส��ง while แต5ต5างก�นตรงท��ค(าส��งน�)จะม�การท(างานตามค(าส��งไปี 1 รอบุ ก5อนท��จะทดสอบุเง �อนไข ถู#าเง �อนไขท��เปี;นจร$งจะท(างานต5อไปี ถู#าเง �อนไขเปี;นเท/จจ*งจะออกจากค(าส��ง do while ค(าส��งน�)ก/เช5นเด�ยวัก�นจะต#องก(าหนดให#ม�โอกาสท��เง �อนไขเปี;นเท/จได# ม$ฉะน�)นจะม�ปี:ญหาท��โปีรแกรมท(างานแบุบุวันซ้ำ()าแบุบุไม5ม�ท��ส$)นส�ด (endless loop)

กรณ�ท��เง �อนไขเปี;นเท/จเพ�ยงอย5างเด�ยวัจะม�การท(างาน 1 รอบุ ก5อนออกจากการท(าซ้ำ()า

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

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

คำ�าสั่��ง do while ม�ร/ปแบบ ด�งน�)

โดย do while จะท(าการท(าซ้ำ()าต5อไปีเม �อน$พจน�ทดสอบุเง �อนไขให#ผลืลื�พธ�เปี;นจร$ง แลืะท(าต5อจนกระท��งผลืลื�พธ�ของน$พจน�ทดสอบุเง �อนไขเปี;นเท/จ ก/จะออกจากการท(าซ้ำ()า

ต�วอย�าง

Do {

ค(าส��งท��1;

ค(าส��งท��2;

...

ค(าส��งส�ดท#าย;

} while (น$พจน�ทดสอบุเง �อนไข) ;

#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 ;

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

โปีรแกรมน�)ก(าหนด เร$�มต#น ให# counter ม�ค5าเปี;น 3 แลื#วั จ*งเข#าส45การท(าซ้ำ()า แบุบุ do while ท(าตามค(าส��ง printf("\n\tcounter =

%2d my school is %s print round %d. ",counter,word,+

+num); แลืะ counter = counter + 2; ไปีก5อน 1 คร�)ง แลื#วัจ*งทดสอบุวั5าเง �อนไข ค อ counter < 11 เปี;นจร$ง หร อไม5 ถู#าเง �อนไขเปี;นจร$งก/จะท(าซ้ำ()ารอบุต5อไปี เปี;นในลื�กษณะน�)จนกระท��งเง �อนไขเปี;นเท/จ ค อ เม �อ counter เปี;น 13 ผลืการท(างานของโปีรแกรม /* example4_17.c

*/ เปี;นด�งร4ปี

ซ้ำ*�งจะเปี;นได#วั5าผลืการท(างานของโปีรแกรมเหม อนก�บุโปีรแกรมท��ใช#ค(าส��งวันซ้ำ()า while

โจุทย" จงเข�ยนโปีรแกรมในลื�กษณะท(างาน พ$มพ�ลื(าด�บุท�� ปี<อนช �อน�กเร�ยน คะแนนกลืางภัาค คะแนนปีลืายภัาค แสดงผลืรวัมคะแนน แลื#วัสอบุถูามควัามต#องการผ4#ใช#วั5าต#องการวันวั()าหร อไม5 หากค(าตอบุไม5ใช5 (ค5าตรรกะเปี;นจร$ง) ให#วันซ้ำ()า หากค5าตรรกะเปี;นเท/จให#เลื$กวันซ้ำ()าแลืะพ$มพ�คะแนนเฉลื��ยน�กศ*กษากลื�5มน�)

#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 ;

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

ก(าหนดการแสดงผลืด�งน�)

ขี��นตอนการสั่ร�างโปรแกรมประย�กต"งาน

1.การวั$เคราะห�ระบุบุงานเบุ )องต#น

1.1 ส$�งท��ต#องการค อ ผลืรวัมคะแนน คะแนนเฉลื��ย

1.2 สมการค(านวัณ

ลื(าด�บุ = ลื(าด�บุ+1

ผลืรวัมคะแนน = คะแนนกลืางภัาค + ปีลืายภัาคคะแนนเฉลื��ย = คะแนนรวัมท�)งกลื�5ม / (ลื(าด�บุส�ดท#าย –

1)

ผลืรวัมคะแนน = คะแนนกลืางภัาค + คะแนนปีลืายภัาคคะแนนรวัมท�)งกลื�5ม =คะแนนรวัมท�)งกลื�5ม + ผลืรวัมคะแนน

1.3 ข#อม4ลืน(าเข#า รห�สน�กศ*กษา จ(านวันน�กศ*กษา คะแนนกลืางภัาค คะแนนปีลืายภัาค ควัามต#องการ–

วันซ้ำ()า

Report Score===========================No. => …………….name is => …………..midterm is => …………..Final is => ……………* Score = ……………=========================== calculate again y/n => ………….=========================== *Average Score is = ………….===========================

ระบุ�ควัามต#องการวันซ้ำ()า y/n

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

1.4 การแสดงผลืตามโจทย�ก(าหนด

1.5 การก(าหนดค�ณสมบุ�ต$ต�วัแปีร

ข#อม4ลื ช �อหน5วัยควัามจ(า

ชน$ดข#อม4ลื

ควัามต#องการวันซ้ำ()า

ans อ�กขระ

ลื(าด�บุ n ต�วัเลืขจ(านวันเต/ม

ช �อน�กศ*กษา name กลื�5มอ�กขระคะแนนกลืาง

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

จ(านวันเต/มคะแนนปีลืาย

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

จ(านวันเต/มผลืรวัมคะแนน score ต�วัเลืข

จ(านวันเต/มคะแนนรวัมท�)ง

กลื�5มsum ต�วัเลืขทศน$ยม

คะแนนเฉลื��ย average ต�วัเลืขทศน$ยม

1.6 ข�)นตอนการท(างาน (action)

1) ก(าหนดลื(าด�บุท�� (n) ม�ค5าเปี;น 12) ควับุค�มวันซ้ำ()าด#วัยค(าส��ง do

2.1) พ$มพ�ลื(าด�บุท�� (n)

2.2) ปี<อนข#อม4ลืช �อน�กศ*กษา (name) คะแนนกลืางภัาค (midterm)คะแนนปีลืาย

ภัาค (final)

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

2.3) ค(านวัณผลืคะแนน (score) = midterm +

final

2.4) พ$มพ� score

2.5) ค(านวัณรวัมท�)งกลื�5ม (sum) = sum + score

2.6) ค(านวัณ n = n+1

2.7) ปี<อนควัามต#องการวันซ้ำ()า (ans)

2.8) ตรวัจสอบุค(าส��ง while (ans!=’n’)

หากเง �อนไข เปี;นจร$ง ให#ท(าข#อ 2 หากเง �อนไข เปี;นเท/จ ไปีท��ข#อ 3

3) ค(านวัณคะแนนเฉลื��ย (average) = sum / (n-1)

4) พ$มพ� average

5) จบุการท(างาน

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

2.ลื(าด�บุการท(างานด#วัยผ�งงานโปีรแกรมstart

พ$มพ� n

ปี<อน name,midterm,final

Score = midterm + final

พ$มพ� score

sum = sum + score

yes

n =1

While (ans!=’n’)

n = n+1

ปี<อน ans

do

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

3. ค(าส��งควับุค�มการท(างาน

Averge = sum / num (n-1)

พ$มพ� average

end

#include <stdio.h>/* file name ex_do5.c*/main (){char ans ;char name [30] ;int midterm = 0 , final = 0 , score = 0 ,n=1 , id ;float sum = 0 , average = 0 ;printf (“\n Report Score \n“) ; printf(“==========================\n \n”) ;

do { printf (“\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 ; n = n+ 1 printf (“============================\n”) ; printf (“\n calculate again y/n = > “ ) ; ans = getche ( ) ; } while (ans ! = “n”) ; average = sum / (n-1) ;printf (“\n”,) ;printf (“======================\n) ;printf (“* Averge score is = %.2f \n” , averge) ;printf (“======================\n) ; printf end job….. \n” ,) ;

}

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

อธิ�บาย

1. โปีรแกรมน�)ควับุค�มการวันซ้ำ()าด#วัยเง �อนไข

2. ใช#ปีระโยคค(าส��ง ans = getche ( ) ; ร�บุข#อม4ลืแบุบุอ�กขระแลื#วัน(าไปีเก/บุไวั#ในหน5วัยควัามจ(าต�วัแปีร ans

3. น(าค5าในหน5วัยควัามจ(า ans ไปีตรวัจสอบุเง �อนไขจากปีระโยค} while

(ans ! = “n”) ;

หากตราบุใดท��ย�งไม5ปี<อนค5า n หมายถู*งปีระโยคเง �อนไขเปี;นจร$ง โปีรแกรมน�)จะวันซ้ำ()าไปีเร �อย

do { …………………… ans = getche ( ) ; } while (ans ! = “n”) ;

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

สั่ร�ปเน6�อหัา

การสร#างโปีรแกรมปีระย�กต�งานโดยใช#ค(าส��งให#โปีรแกรมท(างานเปี;นลื�กษณะวันซ้ำ()าน�)น เปี;นการใช#งานโดยใช#ปีระโยชน�จากปีระส$ทธ$ภัาพทางตรรกะของระบุบุคอมพ$วัเตอร� ด�งน�)นจ*งต#องใช#ควัามร4 #ควัามสามารถูในเร �องการเข�ยนน$พจน�ทางตรรกะท��เคยศ*กษาจากบุทท��ผ5านมา ส(าหร�บุภัาษาซ้ำ�ม�ค(าส��งให#เลื อกใช#ควับุค�มงานลื�กษณะวันซ้ำ()า 3 แบุบุ ค อ ค(าส��ง for ค(าส��ง while แลืะค(าส��ง do-while

คำ�าสั่��ง for

เหมาะก�บุระบุบุงานท��ระบุ�รอบุการท(างานช�ดเจน การระบุ�รอบุน�)นอาจระบุ�โดยการเข�ยนค(าส��งก(าหนดเปี;นค5าคงท��ในโปีรแกรมหร อก(าหนดผ5านทางการท(างานของต�วัแปีร เพ �อท(างานในร4ปีแบุบุย ดหย�5นให#ผ4#ใช#ระบุบุงานเปี;นผ4#ปี<อนจ(านวันรอบุการท(างานด#วัยตนเอง เม �อระบุบุตรวัจสอบุวั5าครบุจ(านวันรอบุตามท��ก(าหนดแลื#วัจ*งออกจากการวันซ้ำ()า ท�)งน�)ระบุบุจะเพ$�มค5าน�บุรอบุโดยอ�ตโนม�ต$

คำ�าสั่��ง while

ใช#ก�บุระบุบุงานท��ต#องการตรวัจสอบุน$พจน�ตรรกะ ก5อนเข#าส�5กระบุวันการวันซ้ำ()าในเคร �องหมาย { } หากค5าตรรกะท��ได#เปี;นค5าจร$ง จะท(างานวันซ้ำ()าในส5วันควับุค�มวันรอบุ { } หากตรวัจสอบุค5าตรรกะได#ค5าเปี;นเท/จเม �อใด จะไม5เข#าส45กระบุวันการวันซ้ำ()า ท�)งน�)ต#องระม�ดระวั�งวั5าต#องม�ค(าส��งท��สามารถูท(าให#น$พจน�ตรรกะน�)นม�โอกาสเปีลื��ยนแปีลืงค5าเปี;นเท/จได# ม$ฉะน�)นจะเก$ดข#อผ$ดพลืาดออกจากการวันซ้ำ()าไม5ได#

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

คำ�าสั่��ง do – while

ใช#ก�บุระบุบุงานกรณ�ท��ให#เข#าไปีท(างานวันซ้ำ()าในเคร �องหมาย { } 1

รอบุก5อนแลื#วัจ*งตรวัจน$พจน�ตรรกะ หากค5าตรรกะท��ได#เปี;นค5าจร$ง จะวันซ้ำ()าการท(างานต5อไปี หากค5าตรรกะเปี;นค5าเท/จ จะออกจากการวันซ้ำ()า ม�ข#อควัรระวั�งเช5นเด�ยวัก�บุค(าส��ง while ค อจ�ต#องระม�ดระวั�งวั5าม�ค(าส��งท��สามารถูท(าให#น$พจน�ตรรกะน�)นม�โอกาสเปีลื��ยนแปีลืงค5าเปี;นเท/จได# ม$ฉะน�)นจะเก$ดข#อผ$ดพลืาดออกจากการวันซ้ำ()าไม5ได#

อ�กปีระการหน*�งหากต#องการใช#ต�วัแปีรน�บุรอบุการท(างานเปี;นปีระโยคค(าส��งควับุค�มการวันซ้ำ()า จะต#องจ(าไวั#เสมอวั5าต#องก(าหนดชน$ดต�วัแปีรเปี;นกลื�5มจ(านวันเต/ม

คำ�าถุาม (กลุ่��ม 4)

เร6�องการเขี�ยนคำ�าสั่��งคำวบคำ�มแบบวนซ้ำ��า

1.สั่�ญลุ่�กษณิ" “ ++ ” หัมายถุ5งอะไร

ก.เพ$�มค5าคร�)งลืะ 2 ข.เพ$�มค5าคร�)งลื5ะ 1

ค.ลืดค5าท��ลืะ 1 ง.บุวักเพ$�ม 1 ข*)นไปี

2.การประมวลุ่ผัลุ่ขีองน�พจุน"คำณิ�ตศาสั่ตร"จุะท�าการประมวลุ่ผัลุ่ในสั่�วนใดเป2นสั่�วนแรก

ก.ต�วัแรกเสมอ ข.ต�วัใดก/ได#

ค.ส5วันของวังเลื/บุ ง.นอกวังเลื/บุ

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

3.ขี�อคำวามสั่��งโดยใชิ� for ใชิ�ในกรณิ�ท��เราต�องการท�าซ้ำ��าโดยต�องทราบอะไร

ก.จ(านวันคร�)ง ข.จ(าวันต�วัอ�กษร

ค.จ(านวันภัาพ ง.ไม5ม�ข#อใดถู4ก

4.คำ�าสั่��ง while จุะตรวจุสั่อบเง6�อนไขีก�อน ถุ�าพบว�าเง6�อนไขีเป2นจุร�งจุะเป2นอย�างไรต�อไป

ก.จะท(าค(าส��งท��อย45ภัายในลื4ปี(loop) หลื�งจากน�)นจ*งกลื�บุมาตรวัจสอบุเง �อนไขอ�กคร�)ง วันซ้ำ()าเช5นน�)ไปีเร �อยๆ จนกวั5าเง �อนไขจะเปี;นเท/จ

ข.จะไม5ท(าค(าส��งท��อย45ภัายในลื4ปี(loop) แต5จะวันลื4ปี (loop) เม �อเปี;นเท/จ

ค.จะท(าตามค(าส��งท��อย45ภัายในลื4ปี(loop)แต5จะไม5วันลื4ปี(loop)

ง.จะไม5ท(าตามค(าส��งท��อย45ในลื4ปี(loop)แลืะไม5วันตามลื4ปี(loop)

5.คำ�าสั่��ง while แตกต�างจุากคำ�าสั่��ง for อย�างไร

ก.ไม5แตกต5าง

ข.การวันซ้ำ()า

ค.การท(างานหลื�งจากพบุวั5าเปี;นเท/จ

ง.ต5างจากค(าส��ง for เลื/กน#อยตรงท��การวันซ้ำ()าแบุบุน�)ไม5จ(าเปี;นต#องบุอกถู*งจ(านวันรอบุของการวันซ้ำ()า แต5จะวันซ้ำ()าไปีเร �อย ๆ จนกวั5าเง �อนไขจะเปี;นเท/จ

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

6.สั่�ญลุ่�กษณิ" “ - - ” หัมายถุ5งอะไร

ก.เพ$�มค5าคร�)งลืะ 2 ข.เพ$�มค5าคร�)งลื5ะ 1

ค.ลืดค5าท��ลืะ 1 ง..ลืดค5าท��ลืะ 2

ก(าหนด a = 3 , b= 2 จงตอบุค(าถูามต5อไปีน�)ข#อ 7-8

7. a /=b ; หัมายถุ5งอะไร แลุ่ะ คำ�าตอบ a ม�คำ�าเท�าใด

ก. หมายถู*ง  (a=a/b) ค(าตอบุ a ม�ค5า 1ข. หมายถู*ง  (a=a * b) ค(าตอบุ a ม�ค5า 1ค. หมายถู*ง  (a=a-b) ค(าตอบุ a ม�ค5า 1ง. หมายถู*ง  (a=a+ b)ค(าตอบุ a ม�ค5า 5

8. a - =b ; หัมายถุ5งอะไร แลุ่ะ คำ�าตอบ a ม�คำ�าเท�าใด

ก. หมายถู*ง  (a=a/b) ค(าตอบุ a ม�ค5า 1ข. หมายถู*ง  (a=a * b) ค(าตอบุ a ม�ค5า 1ค. หมายถู*ง  (a=a-b) ค(าตอบุ a ม�ค5า 1ง. หมายถู*ง  (a=a+ b) ค(าตอบุ a ม�ค5า 5

9. คำ�าสั่��งคำวบคำ�มวนซ้ำ��าแบบ for ในสั่�วนขีองคำ�าสั่��งต�องการคำ�า ก��คำ�า

ก. 5 ข. 4

ค. 2 ง. 3

10. ขี�อไม�ใชิ�คำ�าสั่��งคำวบคำ�มวนซ้ำ��าแบบ for ในสั่�วนขีองคำ�าสั่��งต�องการคำ�า

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

ก.ค5าเร$�มต#น ข. น$พจน�ตรรกะค.ค5าส$)นส�ดง. ค5าเพ$�มหร อค5าลืด


Recommended