บทที่ 5...
TRANSCRIPT
บทท�� 5 ตั�วแปรชุ ดและตั�วแปรกล �มอั�กขระ
1. ประสิ�ทธิ�ภาพการเก�บข�อัม�ลแบบตั�วแปรชุ ด
ตั�วแปรชุ�ดหร�อเร�ยกว�า ตั�วแปรแบบอาร�เรย� ( Array Variable) มี�ลั�กษณะเป�นข้�อมี�ลัโครงสร�างชุน$ดหน%&ง ประกอบไปด�วยข้�อมี�ลัชุน$ดพื้�)นฐานหลัายๆตั�ว รวมีกลั��มีก�น ข้�อมี�ลัแตั�ลัะตั�วน�)นเร�ยกว�า อ�ลั�เมีนตั�( Element ) แลัะทุ�กอ�ลั�เมีนตั�น�)น ตั�องเป�นข้�อมี�ลัชุน$ดเด�ยวก�น
1.1 คำ!าสิ��งก!าหนดล�กษณะตั�วแปรชุ ด
การก-าหนดลั�กษณะข้องตั�วแปรชุ�ด หมีายถึ%ง การก-าหนดว$ธี�การจั�ดเก1บข้�อมี�ลั โดยใชุ�ตัารางข้�อมี�ลั ทุ�&เร�ยกว�ามี$ตั$ ( Dimension ) แบ�งตัามีลั�กษณะการทุ-างานได� 3 ร�ปแบบ ค�อ แบบ 1 มี$ตั$ แบบ 2 มี$ตั$ แลัะแบบ 3
มี$ตั$
1.1.1 คำ!าสิ��งก!าหนดตั�วแปรชุ ดแบบ 1 ม�ตั�ร�ปแบบ
1.1.2 คำ!าสิ��งก!าหนดตั�วแปรชุ ดแบบ 2 ม�ตั�ร�ปแบบ
1.1.3 คำ!าสิ��งก!าหนดตั�วแปรชุ ดแบบ 3 ม�ตั�ร�ปแบบ
อัธิ�บายtype ค�อชุน$ดข้�อมี�ลัพื้�)นฐาน เชุ�น int, float, char
array_name ค�อชุ�&อตั�วแปรชุ�ด [ n ] ค�อจั-านวนตัารางข้�อมี�ลั
type array_name [ r ] ;
type array_name [ r ] [ c ] ;
type array_name [ n ] [ r ] [ c ] ;
[ r ] ค�อจั-านวนแถึวข้องตัารางข้�อมี�ลั[ c ] ค�อจั-านวนคอลั�มีน�ข้องตัารางข้�อมี�ลั
1.2 ล�กษณะตัารางข�อัม�ลในหน�วยคำวามจำ!าตั�วแปรชุ ด
ตัารางข้�อมี�ลัเป�นพื้�)นทุ�&ทุ�&ระบบจัองพื้�)นทุ�&ใชุ�งานด�านจั�ดเก1บข้�อมี�ลัข้องตั�วแปรชุ�ด โดยเลั�ยนแบบการด-าเน$นงานแบบตัารางเมีตัร$กทุางคณ$ตัศาสตัร� อธี$บายลั�กษณะตัารางจั�ดเก1บข้�อมี�ลัแตั�ลัะมี$ตั$ ด�งน�)
1.2.1 ล�กษณะตัารางข�อัม�ลตั�วแปรชุ ดแบบ 1 ม�ตั�ตั�วอย�างค-าส�&ง จัองพื้�)นทุ�& เก1บข้�อมี�ลัเลัข้จั-านวนเตั1มี 5 พื้�)นทุ�& ให�
ตั�วแปรชุ�ดชุ�&อ a ตัารางข้�อมี�ลัแบบ 1 มี$ตั$
แสดงลั�กษณะตัารางข้�อมี�ลัในตั�วแปรชุ�ด 1 มี$ตั$
a [ 0 ]ข้�อมี�ลั ...
a [ 1 ]ข้�อมี�ลั ...
a [ 2 ]ข้�อมี�ลั ...
a [ 3 ]ข้�อมี�ลั ...
a [ 4 ]ข้�อมี�ลั ...
1.2.2 ล�กษณะตัารางข�อัม�ลตั�วแปรชุ ดแบบ 2 ม�ตั�ตั�วอย�างค-าส�&ง จัองพื้�)นทุ�&เก1บข้�อมี�ลัเลัข้จั-านวนเตั1มี ให�ตั�วแปรชุ�ดชุ�&อ
a ตัารางข้�อมี�ลัข้นาดพื้�)นทุ�& 2 แถึว 4 คอลั�มีน�
แสดงลั�กษณะตัารางข้�อมี�ลัในตั�วแปรชุ�ด 2 มี$ตั$ ข้นาด 2 แถึว 4
คอลั�มีน�
คอลั�มีน� 0 คอลั�มีน� 1
คอลั�มีน� 2 คอลั�มีน� 3
int a [ 5 ] ;
int a [ 2 ] [ 4 ] ;
3)
ล�กษณะตัารางข�อัม�ลตั�วแปรชุ ดแบบ 3 ม�ตั�
ตั�วอย�างค-าส�&ง จัองพื้�)นทุ�&เก1บข้�อมี�ลัเลัข้จั-านวนเตั1มี ให�ตั�วแปรชุ�ดชุ�&อ a
ตัารางข้�อมี�ลัข้นาดพื้�)นทุ�& 2 แถึว 2 คอลั�มีน� 2 ตัารางข้�อมี�ลั
แสดงลั�กษณะตัารางข้�อมี�ลัในตั�วแปรชุ�ด 3 มี$ตั$ ข้นาด 2 แถึว 2 คอลั�มีน� 2
ตัาราง
1.3
การ
อั�างอั�งพ*+นท��หน�วยคำวามจำ!าขอังตั�วแปรชุ ด
a [ 0 ] [ 0 ] ข้�อมี�ลั ...
a [ 0 ] [1 ] ข้�อมี�ลั ...
a [ 0 ] [2 ] ข้�อมี�ลั ...
a [ 0 ] [3 ] ข้�อมี�ลั ...
a [ 1 ] [ 0 ] ข้�อมี�ลั ...
a [ 1 ] [1 ] ข้�อมี�ลั ...
a [ 1 ] [2 ] ข้�อมี�ลั ...
a [ 1 ] [3 ] ข้�อมี�ลั ...
ตัารางข้�อมี�ลัทุ�& 0 (มี$ตั$ 3) a [ 0 ] [ 0 ] [ 0 ] ข้�อมี�ลั ...
a [ 0 ][0 ] [1 ] ข้�อมี�ลั ...
a [ 1 ] [ 0 ] [ 0 ] ข้�อมี�ลั ...
a [ 1 ][0 ] [1 ] ข้�อมี�ลั ...
ตัารางข้�อมี�ลัทุ�& 1 (มี$ตั$ 3) a [ 0 ] [ 1 ] [ 0 ] ข้�อมี�ลั ...
a [ 0 ][1 ] [1 ] ข้�อมี�ลั ...
a [ 1 ] [ 1 ] [ 0 ] ข้�อมี�ลั ...
a [ 1 ][1 ] [1 ] ข้�อมี�ลั ...
มี$ตั$ทุ�& 2แถึว 0
แถึว 1
มี$ตั$ทุ�& 1
int a [ 2 ] [ 2 ] [ 2] ;
แถึว 0แถึว 1
คอลั�มีน� คอลั�มีน� คอลั�มีน� คอลั�มีน�
การอ�างอ$งพื้�)นทุ�&หน�วยความีจั-าข้องตั�วแปรชุ�ดหมีายถึ%ง การน-าข้�อมี�ลัลังตัารางข้�อมี�ลั การอ�านค�าข้�อมี�ลัจัากตัารางข้�อมี�ลั การก-าหนดค�าข้�อมี�ลัลังตัารางข้�อมี�ลั การประมีวลัผลัโดยใชุ�ข้�อมี�ลัจัากตั�วแปรชุ�ดพื้�)นทุ�&ทุ�&ตั�องการ
1.3.1 การป,อันข�อัม�ลลงพ*+นท��หน�วยคำวามจำ!าตั�วแปรชุ ด
การป5อนข้�อมี�ลัจั�ดเก1บลังพื้�)นทุ�&หน�วยความีจั-าตั�วแปรชุ�ด ตั�องอ�างอ$งชุ�&อตั�วแปร ตัามีด�วยหมีายเลัข้พื้�)นทุ�& หากตั�องน-าข้�อมี�ลัเข้�า 10 พื้�)นทุ�& จัะตั�องเข้�ยนค-าส�&งอ�างถึ%งทุ�)ง 10 พื้�)นทุ�&ใน 10 ค-าส�&ง ด�งน�)นเพื้�&อความีสะดวกรวดเร1วในการควบค�มีน-าเข้�าข้�อมี�ลัลังพื้�)นทุ�&หน�วยความีจั-า จั%งใชุ�ค-าส�&งควบค�มีวนซ้ำ-)าชุ�วยด-าเน$นงาน ในทุ�&น�)ยกตั�วย�าง การวนซ้ำ-)าควบค�มีการน-าข้�อมี�ลัลังพื้�)นทุ�&ตั�วแปรชุ�ดด�วยค-าส�&ง for ด�งน�) ......................................
ตั�วอย�างค-าส�&ง วนซ้ำ-)าเพื้�&อร�บข้�อมี�ลัลังพื้�)นทุ�&หน�วยความีจั-าตั�วแปรชุ�ดแบบ 1 มี$ตั$ จั-านวน 5 พื้�)นทุ�&
อธี$บาย 1. ควบค�มีให�วนซ้ำ-)า 5 รอบ เพื้�&อร�บข้�อมี�ลัคะแนน จั�ดเก1บในหน�วยความีจั-าตั�วแปรชุ�ด ชุ�&อ score จั-านวน 5 พื้�)นทุ�& จัากค-าส�&ง scanf
2. ส-าหร�บ n ค�าแรก ค�อ ค�า 1 แลัะเพื้$&มีค�าทุ�ลัะ 1 แตั�ไมี�เก$น 5
ตั�วอย�างค-าส�&ง วนซ้ำ-)าเพื้�&อร�บข้�อมี�ลัลังพื้�)นทุ�&หน�วยความีจั-าตั�วแปรชุ�ดแบบ 2 มี$ตั$ ข้นาดตัารางข้�อมี�ลั 2 แถึว 3 คอลั�มีน�
for (n = 1 ; n <= 5 ; n++) { printf ( “ Score = “ ) ; scanf ( “ %d “ , &score [ n ] ) ; }
for (n = 0; n < 2 ; n++) {
}
for (m = 0 ; m <= 3 ; m++) { printf ( “ Score = “ ) ; scanf ( “ %d “ , &score [ n ] [ m] ) ;
อธี$บาย กรณ�วนซ้ำ-)าแบบซ้ำ�อนระบบจัะอ�านตั�)งแตั� for วงรอบแรก เข้�ามีาทุ-างานจันวงในส�ด จัากน�)นจั%งวนซ้ำ-)า ในส�ดให�ครบรอบ แลั�วจั%งไปเพื้$&มีค�าวงนอก ทุ-าเชุ�นน�)จันกว�าค�าข้องวงนอกจัะถึ%งค�าส�ดทุ�าย จั%งเลั$กวนซ้ำ-)า
1.3.2 การก!าหนดข�อัม�ลลงพ*+นท��หน�วยคำวามจำ!าตั�วแปรชุ ดกรณ�ตั�องการก-าหนดค�าในตัารางข้�อมี�ลั พื้�)นทุ�&หน�วยความีจั-าข้องตั�วแปรชุ�ด เข้�ยนค-าส�&งได�ด�งน�+
1. คำ!าสิ��งก!าหนดคำ�าให�ตั�วแปรชุ ดแบบ 1 ม�ตั�
ร�ปแบบ
2. คำ!าสิ��งก!าหนดคำ�าให�ตั�วแปรชุ ดแบบ 2 ม�ตั�
ร�ปแบบ
3. คำ!าสิ��งก!าหนดคำ�าให�ตั�วแปชุ ดแบบ 3 ม�ตั�
ร�ปแบบ
อธี$บาย type ค�อชุน$ดข้�อมี�ลัพื้�)นฐาน เชุ�น int, float, char
array_name ค�อชุ�&อตั�วแปรชุ�ด size ค�อข้นาดพื้�)นทุ�&เก1บข้�อมี�ลั value list ค�อข้�อมี�ลัทุ�&ก-าหนดให�ตั�วแปรชุ�ด หากมี�หลัายค�า ให�ใชุ� , ค�&น
type array_name [ size] = { value list } ;
type array_name [ r ] [ c ] = { value list } ;
type array_name [ n ] [ r ] [ c ] = { value list } ;
[ n ] ค�อจั-านวนตัารางข้�อมี�ลั [ r ] ค�อจั-านวนแถึวข้องตัารางข้�อมี�ลัแตั�ลัะตัาราง[ c ] ค�อจั-านวนคอลั�มีน�ข้องตัารางข้�อมี�ลัแตั�ลัะตัารางตั�วอย�างค-าส�&ง ก-าหนดข้�อมี�ลัจั-านวนเตั1มีในตั�วแปรชุ�ด 5 รายการ ค�อ
ค�า 20, 40, 25, 45, 35
a [ 0 ]ข้�อมี�ลั 20
a [ 1 ]ข้�อมี�ลั 40
a [ 2 ]ข้�อมี�ลั 25
a [ 3 ]ข้�อมี�ลั 45
a [ 4 ]ข้�อมี�ลั 35
แสดงลั�กษณะข้�อมี�ลัในตัารางข้�อมี�ลัตั�วแปรชุ�ด 1 มี$ตั$
1.3.3 การอั�านข�อัม�ลจำากหน�วยคำวามจำ!าตั�วแปรชุ ด การอ�านค�าข้�อมี�ลัจัากพื้�)นทุ�&หน�วยความีจั-าข้องตั�วแปรชุ�ดมีาแสดงผลั ตั�องอ�างอ$งชุ�&อตั�วแปร ตัามีด�วยหมีายเลัข้พื้�)นทุ�&เชุ�นก�น เชุ�น printf (“
%d” , a[ 1 ] ) ; ด�งน�)นเพื้�&อความีสะดวกรวดเร1วในการควบค�มีอ�านค�าข้�อมี�ลัจัากหน�วยความีจั-าทุ�กพื้�)นทุ�&ในตัารางข้�อมี�ลั จั%งใชุ�ว$ธี�เด�ยวก�นก�บการน-าเสนอข้�อมี�ลัลังในพื้�)นทุ�&หน�วยความีจั-าตั�วแปรชุ�ด ด�วยการใชุ�ค-าส�&งควบค�มีวนซ้ำ-)า ตั�วอย�างค-าส�&ง อ�านข้�อมี�ลัจัากหน�วยความีจั-าตั�วแปรชุ�ด
อธี$บาย 1. วนซ้ำ-)าด�วยข้�อมี�ลัคะแนนจัากหน�วยความีจั-าตั�วแปรชุ�ดชุ�&อ score จั-านวน 5 พื้�)นทุ�& จัากค-าส�&ง printf ( “ Score = %d \n” ,
score [ n ] ) ;
2. ส-าหร�บ n ค�าแรก ค�อค�า 1 แลัะเพื้$&มีค�าทุ�ลัะ 1 แตั�ไมี�เก$น 5
int a [ 5 ] = { 20 , 40 , 25 , 45, 35 } ;
for (n = 1 ; n <= 5 ; n++) { printf ( “ Score = %d \n” , score [ n ] ) ; }
ตั�วอย�างค-าส�&ง วนซ้ำ-)าเพื้�&อนอ�านข้�อมี�ลัจัากพื้�)นทุ�&หน�วยความีจั-าตั�วแปรชุ�ดแบบ 3 มี$ตั$ข้นาดตัารางข้�อมี�ลั 2 ตัาราง 3 แถึว 2 คอลั�มีน�
2. ประสิ�ทธิ�ภาพการเก�บข�อัม�ลแบบกล �มอั�กขระ
ตั�วแปรแบบกลั��มีอ�กข้ระ หร�อเร�ยกว�า ตั�วแปรแบบสตัร$ง (String
Variable) เป�นข้�อมี�ลัตั�วแปรชุ�ดประเภทุหน%&งทุ�&มี�ลั�กษณะเป�นข้�อมี�ลัประเภทุข้�อความี ประกอบด�วยอ�กข้ระมีากกว�า 1 ตั�ว ใชุ�เน�)อทุ�& 1 อ�กข้ระตั�อ 1 ไบตั� การส$)นส�ดกลั��มีข้�อมี�ลัประเภทุข้�อความีด�วยการกดแป5น Enter
ระบบจัะแทุนค�าในหน�วยความีจั-า ด�วยส�ญลั�กษณ� “ \0 ” ด�งน�)น การก-าหนดข้นาดพื้�)นทุ�&ให�ข้�อความี ตั�องค-านวณพื้�)นทุ�&บวก 1 ค�าไว�เสมีอ
2.1 คำ!าสิ��งก!าหนดล�กษณะตั�วแปรแบบกล �มอั�กขระการก-าหนดลั�กษณะข้องตั�วแปรกลั��มีอ�กข้ระ เป�นการจัองพื้�)นทุ�&ข้นาด
ตัารางข้�อมี�ลัเพื้�&อใชุ�ในการจั�ดเก1บกลั��มีข้�อมี�ลัเฉพื้าะอ�กข้ระเทุ�าน�)น ยก
for (n = 0 ; n < 2 ; n++) {
}
for (m = 0; m < 3 ; m++) {
}
for (p = 0; p < 2 ; p++) { num = score [ n ] [m] [p] ; printf (“
char array_name [r] ;
ตั�วอย�างตั�วแปรแบบ 1 มี$ตั$ แลัะ 2 มี$ตั$ ด�งน�) 2.1.1 คำ!าสิ��งก!าหนดตั�วแปรกล �มอั�กขระแบบ 1 ม�ตั� ร�ปแบบ
2.1.2 คำ!าสิ��งก!าหนดตั�วแปรกล �มอั�กขระแบบ 2 ม�ตั�
ร�ปแบบ
อธี$บาย array_name ค�อชุ�&อตั�วแปรแบบกลั��มีอ�กข้ระ
[ r ] ค�อจั-านวนแถึวข้องตัารางข้�อมี�ลั [ c ] ค�อจั-านวนคอลั�มีน�ข้องตัารางข้�อมี�ลัตั�วอย�างค-าส�&ง ก-าหนดข้�อมี�ลัเป�นตั�วแปรชุ�ดกลั��มีอ�กข้ระ
อธี$บาย เก1บข้�อมี�ลัได� 9 อ�กข้ระ เพื้ราะตั�องมี�พื้�)นทุ�&ส-าหร�บ “ \0 ” ส-าหร�บส$)นส�ดข้�อความี
2.2 คำ!าสิ��งก!าหนดคำ�าให�ตั�วแปรชุ ดแบบกล �มอั�กขระการเข้�ยนค-าส�&งในโปรแกรมีให�จั�ดเก1บค�าข้�อมี�ลัเฉพื้าะกลั��มีอ�กข้ระ ใน
ตัารางข้�อมี�ลัทุ�&จัองพื้�)นทุ�&ไว�โดยไมี�ตั�องป5อนข้�อมี�ลัน�)นๆ ผ�านทุางแป5นพื้$มีพื้� เข้�ยนค-าส�&งด�งน�)
2.2.1 คำ!าสิ��งก!าหนดคำ�าตั�วแปรแบบกล �มอั�กขระ 1 ม�ตั�ร�ปแบบ
char array_name [r] [ c ] ;
char a [10];
char array_name [size] = “ string constant “ ;
ตั�วอย�างค-าส�&ง ก-าหนดข้�อมี�ลัตั�วอ�กษร “X Y Z “ ให�จั�ดเก1บในตั�วแปรชุ�ดชุ�&อ b
แสดลั�กษณะการเก1บข้�อมี�ลัในตัารางข้�อมี�ลัตั�วแปรชุ�ดประเภทุกลั��มีอ�กข้ระ แบบ 1
มี$ตั$
\0 ค�อ ค�า null character
2.2.2 ค-าส�&งก-าหนดค�าตั�วแปรแบบกลั��มีอ�กข้ระ 2 มี$ตั$ร�ปแบบ
อธี$บายarray_name ค�อชุ�&อตั�วแปรแบบกลั��มีอ�กข้ระ
string constant list ค�อข้�อมี�ลัชุน$ดอ�กข้ระ หากมี�หลัายรายการให�ใชุ� , ค�&น [ r ] ค�อจั-านวนแถึวข้องตัารางข้�อมี�ลั [ c ] ค�อจั-านวนคอลั�มีน�ข้องตัารางข้�อมี�ลัตั�วอย�างค-าส�&ง ก-าหนดให�จั�ดเก1บข้�อมี�ลั “ABC” , “DEF” ลังหน�วยคงามีจั-าตั�วแปรชุ�ด
แสดงลั�กษณะการเก1บข้�อมี�ลัในตัารางตั�วแปรชุ�ดประเภทุกลั��มีอ�กข้ระแบบ 2
มี$ตั$
a [ 0 ]ข้�อมี�ลั X
a [ 1 ]ข้�อมี�ลั Y
a [ 2 ]ข้�อมี�ลั Z
a [ 3 ]ข้�อมี�ลั \0
char b [4] = “ X Y Z “ ;
char array_name [ r ] [ c ] = { “ string constant list “ } ;
char a [ 2 ] [ 4 ] = { “ ABC “ , “DEF “ } ;
คอลั�มีน� 0 คอลั�มีน� 1
คอลั�มีน� 2 คอลั�มีน� 3
2.3
การอั�างอั�งข�อัม�ลในตัารางข�อัม�ลตั�วแปรชุ ดกล �มอั�กขระ
ตั�วแปรชุ�ดกลั��มีอ�กข้ระ ใชุ�ว$ธี�การอ�างอ$งหน�วยความีจั-าเชุ�นเด�ยวก�บตั�วแปรชุ�ดแบบอ�&นๆ แลัะใชุ�ค-าส�&ง for ควบค�มีการวนซ้ำ-)าด-าเน$นงานก�บข้�อมี�ลั ด�งน�)
2.3.1 การก!าหนดข�อัม�ลให�ตั�วแปรกล �มอั�กขระ และอั�านคำ�ามาใชุ�งานตั�วอย�างค-าส�&ง ก-าหนดข้�อมี�ลัจั�ดเก1บลังหน�วยความีจั-าตั�วแปรชุ�ดกลั��มีอ�กข้ระ 2 มี$ตั$
ตั�วอย�างค-าส�&ง ควบค�มีให�วนซ้ำ-)าอ�านค�าข้�อมี�ลัจัากหน�วยความีจั-าตั�วแปรชุ�ดกลั��มีอ�กข้ระ 2 มี$ตั$
a [ 0 ] [ 0 ] ข้�อมี�ลั A
a [ 0 ] [1 ] ข้�อมี�ลั B
a [ 0 ] [2 ] ข้�อมี�ลั C
a [ 0 ] [3 ] ข้�อมี�ลั \0
a [ 1 ] [ 0 ] ข้�อมี�ลั D
a [ 1 ] [1 ] ข้�อมี�ลั E
a [ 1 ] [2 ] ข้�อมี�ลั F
a [ 1 ] [3 ] ข้�อมี�ลั \0
แถึว 0แถึว 1
มี$ตั$ทุ�& 2
มี$ตั$ทุ�& 1
char name [ 5 ] [ 20 ] = { “Panya, Pawat, Pattraporn, Patcharawarai, Pilin “ } ;
for (i = 0 ; i < 4 ; i++) { printf ( “ %d ” , i+1 ) ; printf ( “ %P \n ” , name [ i ] ) ; }
2.3.2 การป,อันคำ�าและอั�านคำ�าจำากหน�วยคำวามจำ!าตั�วแปรชุ ดกล �มอั�กขระ
ตั�วอย�างค-าส�&ง จัองพื้�)นทุ�&หน�วยความีจั-าให�ตั�วแปรชุ�ดกลั��มีอ�กข้ระลั�กษณะ 2
มี$ตั$
ตั�วอย�างค-าส�&ง วนซ้ำ-)าร�บค�าจัากแป5นพื้$มีพื้� เพื้�&อจั�ดเก1บลังพื้�)นทุ�&หน�วยความีจั-าตั�วแปรชุ�ดกลั��มีอ�กข้ระ
ตั�วอย�างค-าส�&ง วนซ้ำ-)าอ�านค�าจัากพื้�)นทุ�&หน�วยความีจั-าตั�วแปรชุ�ดกลั��มีอ�กข้ระมีาแสดงผลั
3. กรณ�ศึ/กษาการใชุ�ตั�วแปรชุ ด
char name [ 5 ] [ 20 ] ;
for (i = 0 ; i < 4 ; i++) { printf ( “ name = > ” ) ; gets ( name [ i ] ) ; }
for (i = 0 ; i < 4 ; i++) { printf ( “ %d ” , i+1 ) ; printf ( “ %P \n ” , name [ i ] ) ; }
3.1 กรณ�ศึ/กษาการอั�างอั�งข�อัม�ลประเภทตั�วแปรในหน�วยคำวามจำ!าตั�วแปรชุ ดแบบ 1 ม�ตั�
โจำทย1 : จังเข้�ยนโปรแกรมีระบบงานเพื้�&อน-าข้�อมี�ลัคะแนนน�กเร�ยน 5 ราย จั�ดเก1บลังหน�วยความีจั-าตั�วแปรชุ�ด
แลั�วอ�านค�าข้�อมี�ลัคะแนนน�กเร�ยนทุ�)ง 5 รายจัากหน�วยความีจั-าตั�วแปรชุ�ดมีาแสดงทุ�&จัอภาพื้
ร�ปผั�งงานท�� 5.1 ผ�งงานจัากโปรแกรมีตั�วอย�างทุ�& 5.1
ตั�วอัย�างโปรแกรมท�� 5.1 กรณ�ศ%กษาโปรแกรมีระบบงาน ป5อนแลัะอ�านข้�อมี�ลั จัากตัารางพื้�)นทุ�&ตั�วแปรชุ�ด 1 มี$ตั$
ร�ปท�� 5.1 ผลัทุดสอบโปรแกรมีตั�วอย�างทุ�& 5.1 ส�วนป5อนข้�อมี�ลัลังพื้�)นทุ�&ตั�วแปรชุ�ด 1 มี$ตั$
ร�ปท�� 5.2 ผลัทุดสอบโปรแกรมีตั�วอย�างทุ�& 5.1 ส�วนอ�านข้�อมี�ลัจัากตั�วแปรชุ�ด 1 มี$ตั$
อัธิ�บาย โปรแกรมีน�)ควบค�มีการทุ-างานเป�นค�าคงทุ�&ในโปรแกรมี ค�อ 5 รอบ
3.2 กรณ�ศึ/กษา การอั�างอั�งข�อัม�ลประเภทคำ�าคำงท��ในหน�วยคำวามจำ!าตั�วแปรชุ ดแบบ 1 ม�ตั�
โจำทย1 : จังเข้�ยนโปรแกรมีระบบงานเพื้�&อก-าหนดค�าคะแนนน�กเร�ยน 5 รายในตั�วโปรแกรมี ด�งน�) 15.5, 19.5,
10.0, 12.5, 19.7 แลั�วอ�านข้�อมี�ลัทุ�&น-าไปจั�ดเก1บในตัารางข้�อมี�ลัน�)นมีาแสดงผลัทุ�&จัอภาพื้
ตั�วอัย�างโปรแกรมท�� 5.2 กรณ�ศ%กษาโปรแกรมีระบบงาน ก-าหนดข้�อมี�ลัแลัะอ�านค�าจัากหน�วยความีจั-าตั�วแปรชุ�ด 1 มี$ตั$
ร�ปท�� 5.3 ผลัทุดสอบโปรแกรมีตั�วอย�างทุ�& 5.2
อัธิ�บาย ระบบวนซ้ำ-)าอ�านค�าข้�อมี�ลั คะแนนน�กเร�ยนจั-านวน 5 ราย จัากหน�วยความีจั-าตั�วแปรชุ�ดจัากทุ�&เข้�ยน
ค-าส�&งก-าหนดข้�อมี�ลัไว�ในโปรแกรมี
3.3 กรณ�ศึ/กษาการอั�างอั�งข�อัม�ลประเภทตั�วแปรในหน�วยคำวามจำ!าตั�วแปรชุ ดแบบ 2 ม�ตั�
โจำทย1 : จังเข้�ยนโปรแกรมีระบบงานเพื้�&อป5อนข้�อมี�ลัคะแนนน�กเร�ยน 2 ราย แตั�ลัะรายตั�องป5อนคะแนนจั-านวน
3 ว$ชุา บ�นทุ%กลังหน�วยความีจั-าแบบตั�วแปรชุ�ด แลั�วอ�านค�าจัากหน�วยความีจั-าตั�วแปรชุ�ดแสดงผลัทุ�&
จัอภาพื้
ว$เคราะห�ตัารางข้�อมี�ลัจัากโจัทุย�ตั�องใชุ�ตั�วแปรชุ�ดข้นาด 2 มี$ตั$ ข้นาด 2 แถึว x 3 คอลั�มีน� ได�ตัารางข้�อมี�ลัข้นาด 6 ห�องค�อ
ร�ปผั�งงานท�� 5.2 ผ�งงานโปรแกรมีตั�วอย�างทุ�& 5.3
ตั�วอัย�างโปรแกรมท�� 5.3 กรณ�ศ%กษาโปรแกรมีระบบงาน ป5อนแลัะอ�านข้�อมี�ลั จัากหน�วยความีจั-า
ตั�วแปรชุ�ด 2 มี$ตั$
ร�ปท�� 5.4 ผลัทุดสอบโปรแกรมีตั�วอย�าทุ�& 5.3
3.4 กรณ�ศึ/กษาการอั�างอั�งข�อัม�ลประเภทตั�วแปรในหน�วยคำวามจำ!าตั�วแปรชุ ดแบบ 1 ม�ตั�
ก!าหนดรอับวนซ้ำ!+าโดยผั��ใชุ�ระบบงานโปรแกรม
โจำทย1 : จังเข้�ยนข้�)นตัอนการสร�างงานโปรแกรมี เพื้�&อป5อนข้�อมี�ลัชุ�&อรายการว�ตัถึ�ด$บ แลัะราคาข้องว�ตัถึ�ด$บทุ�&ใชุ�
ด-าเน$นงานตัามีจั-านวนทุ�&ผ��ใชุ�ระบบระบ�จั-านวนรายการ แลั�วให�พื้$มีพื้�สร�ปข้�อมี�ลัทุ�&บ�นทุ%กทุ�)งหมีดพื้ร�อมี
พื้$มีพื้�ผลัรวมีจั-านวนเง$นว�ตัถึ�ด$บทุ�)งหมีดทุ�&จั�ดซ้ำ�)อในคร�)งน�) การแสดงผลัทุางจัอภาพื้ให�ออกแบบตัามี
ความีเหมีาะสมีข้องงาน
** หมายเหตั >> ยกตั�วอย�างบางตัอนด�งน�)
ข�+นตัอันการพ�ฒนาโปรแกรม
1.การว�เคำราะห1ระบบงานเบ*+อังตั�น
1.5 ก-าหนดค�ณสมีบ�ตั$ตั�วแปร
ข�อัม�ลชุ*�อัหน�วยคำวาม
จำ!าชุน�ดข�อัม�ล
จั-านวนรายการวตัถึ�ด$บ
n ตั�วเลัข้จั-านวนเตั1มี
ลั-าด�บว�ตัถึ�ด$บ I ตั�วเลัข้จั-านวนเตั1มี
ชุ�&อว�ตัถึ�ด$บ Materialตั�วแปรชุ�ด 1 มี$ตั$
กลั��มีอ�กข้ระ
ราคาตั�นทุ�นว�ตัถึ�ด$บ
Priceตั�วแปรชุ�ด 1 มี$ตั$
จั-านวนเตั1มี
ผลัรวมีตั�นทุ�น Sum ตั�วเลัข้จั-านวนเตั1มี
1.6 ลั-าด�บข้�)นตัอนการทุ-างาน (action)
1) เร$&มีตั�นการทุ-างาน
2) ป5อนจั-านวนรายการว�ตัถึ�ด$บ (n)
3) ก-าหนดค-าส�&ง for (i=0; i < n ; i++ )
หากค�า I ย�งไมี�เก$นค�า n ให�ทุ-าข้�อ 3.1 หากเก$นให�ไปข้�อ 4)
3.1) ป5อนว�ตัถึ�ด$บ (material [ i ] ), ราคา (price [ i ] )
3.2) วนกลั�บไปข้�อ 3)
4) ก-าหนดค-าส�&ง for (i=0; i < n ; i++)
หากค�า i ย�งไมี�เก$นค�า n ให�ทุ-าข้�อ 4.1 หากเก$นให�ไปข้�อ 5)
4.1) พื้$มีพื้�ว�ตัถึ�ด$บ (material [ i ] ), ราคา (price [ i ] )
4.2) ค-านวณหาผลัรวมี sum = sum + price[ i ]
4.3) วนกลั�บไปข้�อ 4)
5) พื้$มีพื้�ผลัรวมี (sum)
6) ส$)นส�ดการทุ-างาน
2. ล!าด�บการท!างานด�วยผั�งงานโปรแกรม
ร�ปผั�งงานท�� 5.3 ผ�งงานกรณ�ศ%กษาจัากโปรแกรมีตั�วอย�างทุ�& 5.4
คำ!าถาม
1. ตั�วแปรชุ ด เร�ยกอั�กชุ*�อัหน/�งว�าอัะไร
1. ตั�วแปรแบบแอมีเรย�2. ตั�วแปรแบบสตัร$ง3. ตั�วแปรแบบตั�วแปรชุ�ด4. ตั�วแปรแบบอาร�เรย�
2. คำ!าสิ��งก!าหนดล�กษณะตั�วแปรชุ ด ม�ก��ร�ปแบบ
1. มี� 2 ร�ปแบบ2. มี� 3 ร�ปแบบ3. มี� 4 ร�ปแบบ4. มี� 5 ร�ปแบบ
3. type คำ*อัอัะไร
1. ชุ�&อตั�วแปรชุ�ด2. ชุน$ดข้�อมี�ลัพื้�)นฐาน3. ชุน$ดข้องตัารางข้�อมี�ลั4. ข้นาดพื้�)นทุ�&เก1บข้�อมี�ลั
4. ล�กษณะตัารางข�อัม�ลในหน�วยคำวามจำ!าตั�วแปรชุ ด โดยตัารางข�อัม�ลจำ�ดเก�บข�อัม�ลตั�วแปรชุ ด โดยเล�ยนแบบตัารางแบบใด
1. แบบตัารางเมีตัร$ก2. แบบตัารางพื้�ทุาโกร�ส3. แบบตัารางแจักแจังความีถึ�&4. แบบตัารางปกตั$
5. การอั�างอั�งพ*+นท��หน�วยคำวามจำ!าขอังตั�วแปรชุ ด คำ*อัอัะไร1. การก-าหนดว$ธี�การจั�ดเก1บข้�อมี�ลั โดยใชุ�ตัารางข้�อมี�ลั ทุ�&เร�ยกว�ามี$ตั$
( Dimension )
2. เป�นข้�อมี�ลัตั�วแปรชุ�ดประเภทุหน%&งทุ�&มี�ลั�กษณะเป�นข้�อมี�ลัประเภทุข้�อความี ประกอบด�วยอ�กข้ระมีากกว�า 1 ตั�ว ใชุ�เน�)อทุ�& 1 อ�กข้ระตั�อ 1 ไบตั�
3. การน-าข้�อมี�ลัลังตัารางข้�อมี�ลั การอ�านค�าข้�อมี�ลัจัากตัารางข้�อมี�ลั การก-าหนดค�าข้�อมี�ลัลังตัารางข้�อมี�ลั การประมีวลัผลัโดยใชุ�ข้�อมี�ลัจัาก
ตั�วแปรชุ�ดพื้�)นทุ�&ทุ�&ตั�องการ4. เป�นข้�อมี�ลัโครงสร�างชุน$ดหน%&ง ประกอบไปด�วยข้�อมี�ลัชุน$ดพื้�)นฐาน
หลัายๆตั�ว รวมีกลั��มีก�น ข้�อมี�ลัแตั�ลัะตั�วน�)นเร�ยกว�า อ�ลั�เมีนตั�
6.คำ!าสิ��งก!าหนดล�กษณะตั�วแปรชุ ดหมายถ/งอัะไร
1. การอ�างอ$งหน�วยความีจั-าก�บตั�วแปรชุ�ดอ�&นๆ
2.การก-าหนดว$ธี�การจั�ดเก1บข้�อมี�ลั โดยใชุ�ตัารางข้�อมี�ลั
3.การเข้�ยนค-าส�&งในโปรแกรมีให�จั�ดเก1บค�าข้�อมี�ลัเฉพื้าะกลั��มีอ�กข้ระ
4.การป5อนข้�อมี�ลัจั�ดเก1บลังพื้�)นทุ�&หน�วยความีจั-าตั�วแปรชุ�ด
7.ตั�วแปรแบบกล �มอั�กขระเป6นข�อัม�ลตั�วแปรชุ ดประเภทหน/�งท��ม�ล�กษณะเป6นข�อัม�ลประเภทใด
1. ประเภทุร�ปภาพื้
2.ประเภทุศ$ลัปะ
3.ประเภทุข้�อความี
4.ประเภทุสวยงามี
8.การอั�างอั�งข�อัม�ลในตัารางข�อัม�ลตั�วแปรชุ ดกล �มอั�กขระใชุ�คำ!าสิ��งอัะไร คำวบคำ มการวนซ้ำ!+า
1. for
2.love
3. type
4. size
9. value list คำ*อัอัะไร
1. ชุน$ดข้�อมี�ลัพื้�)นฐาน 2.ชุ�&อตั�วแปรแบบกลั��มีอ�กข้ระ
3.จั-านวนตัารางข้�อมี�ลั
4.ข้�อมี�ลัทุ�&ก-าหนดให�ตั�วแปรชุ�ด หากมี�หลัายค�า ให�ใชุ� , ค�&น
10.การอั�านคำ�าข�อัม�ลจำากพ*+นท��หน�วยคำวามจำ!าขอังตั�วแปรชุ ดมาแสิดงผัล เพ*�อัคำวามสิะดวกรวดเร�วในการคำวบคำ มอั�านคำ�าตั�อังใชุ�คำ!าสิ��งอัะไร
1.จัากค-าส�&ง printf
2. ด�วยการใชุ�ค-าส�&งควบค�มีวนซ้ำ-)า
3. ค-าส�&ง score
4. ค-าส�&งเจั�านาย
25
เฉลัย 1 ตัอบ 4
2 ตัอบ 2
3 ตัอบ 2
4 ตัอบ 1
5 ตัอบ 3
6 ตัอบ 2
7 ตัอบ 3
8 ตัอบ 1
9 ตัอบ 4
10 ตัอบ 2
26
สิมาชุ�ก1.นายจั$ตัรเทุพื้ ส�ก�ลัธีนาศร เลัข้ทุ�& 5
2. นายธีนว�ส อ�อนเอ�&ยมี เลัข้ทุ�& 6
3. นางสาว จั$ตัรทุ$พื้ย� ส�ก�ลัธีนาศร เลัข้ทุ�& 23
4. นางสาว ธีน�ชุก�ญ พื้�ลัผลั เลัข้ทุ�& 24
5. นางสาว พื้�ชุรวลั�ย ด�ประชุา เลัข้ทุ�& 25
6. นางสาว ภ�ทุราพื้ร เนตัรสว�าง เลัข้ทุ�& 26
7. นางสาว ศศ$ว$มีลั สมีบ�รณ�ศ$ร$ เลัข้ทุ�& 27
มี.6/2