13
ตตตตตตตตต ตตตตตตตตต ตตตตตตตตตตต ตตตตตตตตตตต ตตตตตต ตตตตตต

ตัวแปลชุด และตัวกลุ่มอักขระม.4ทับ5

Embed Size (px)

Citation preview

ตั�วแปลชุ�ด และตั�วแปลชุ�ด และ

ตั�วกล� มอั�กขระตั�วกล� มอั�กขระตั�วแปลชุ�ด และ

ตั�วแปลชุ�ด และ

ตั�วกล� มอั�กขระตั�วกล� มอั�กขระ

ประสิ�ทธิ�ภาพการเก�บข�อัม�ลแบบประสิ�ทธิ�ภาพการเก�บข�อัม�ลแบบตั�วแปรชุ�ดตั�วแปรชุ�ด

ประสิ�ทธิ�ภาพการเก�บข�อัม�ลแบบประสิ�ทธิ�ภาพการเก�บข�อัม�ลแบบตั�วแปรชุ�ดตั�วแปรชุ�ด 1.1 คำ��สั่��งกำ��หนดลั�กำษณะตั�วแปรชุ�ด

กำ�รกำ��หนดลั�กำษณะของตั�วแปรชุ�ด หม�ยถึ�ง กำ�รกำ��หนดว�ธี กำ�รจั�ดเกำ#บข%อม&ลั โดยใชุ%ตั�ร�งข%อม&ลั ที่ �เร ยกำว*�ม�ตั� ( Dimension ) แบ*งตั�มลั�กำษณะกำ�รที่��ง�นได% 3ร&ปแบบ คำ,อ แบบ 1 ม�ตั� แบบ 2 ม�ตั� แลัะแบบ 3 ม�ตั� 1 คำ��สั่��งกำ��หนดตั�วแปรชุ�ดแบบ 1 ม�ตั� ร&ปแบบ type array_name [ r ] ;

2 คำ��สั่��งกำ��หนดตั�วแปรชุ�ดแบบ 2 ม�ตั�ร&ปแบบ type array_name [ r ] [ c ] ;

3 คำ��สั่��งกำ��หนดตั�วแปรชุ�ดแบบ 3 ม�ตั�ร&ปแบบ type array_name [ n ] [ r ] [ c ] ;

1.2 ลั�กำษณะตั�ร�งข%อม&ลัในหน*วยคำว�มจั��ตั�วแปรชุ�ดตั�ร�งข%อม&ลัเป.นพื้,0นที่ �ที่ �ระบบจัองพื้,0นที่ �ใชุ%ง�นด%�นจั�ดเกำ#บข%อม&ลัของตั�วแปรชุ�ด โดยเลั ยนแบบกำ�รด��เน�นง�นแบบตั�ร�งเมตัร�กำที่�งคำณ�ตัศ�สั่ตัร2 อธี�บ�ยลั�กำษณะตั�ร�งจั�ดเกำ#บข%อม&ลัแตั*ลัะม�ตั� ด�งน 0 1 ลั�กำษณะตั�ร�งข%อม&ลัตั�วแปรชุ�ดแบบ 1 ม�ตั�ตั�วอย*�งคำ��สั่��ง จัองพื้,0นที่ � เกำ#บข%อม&ลัเลัขจั��นวนเตั#ม 5 พื้,0นที่ � ให%ตั�วแปรชุ�ดชุ,�อ a ตั�ร�งข%อม&ลัแบบ 1 ม�ตั� int a [ 5 ] ; 2 ลั�กำษณะตั�ร�งข%อม&ลัตั�วแปรชุ�ดแบบ 2 ม�ตั�ตั�วอย*�งคำ��สั่��ง จัองพื้,0นที่ �เกำ#บข%อม&ลัเลัขจั��นวนเตั#ม ให%ตั�วแปรชุ�ดชุ,�อ a ตั�ร�งข%อม&ลัขน�ดพื้,0นที่ � 2 แถึว 4 คำอลั�มน2 int a [ 2 ] [ 4 ] ;

1.3 ลั�กำษณะตั�ร�งข%อม&ลัตั�วแปรชุ�ดแบบ 3 ม�ตั�1 กำ�รอ%�งอ�งพื้,0นที่ �หน*วยคำว�มจั��ของตั�วแปรชุ�ด กำ�รอ%�งอ�งพื้,0นที่ �หน*วยคำว�มจั��ของตั�วแปรชุ�ดหม�ยถึ�ง กำ�รน��ข%อม&ลัลังตั�ร�งข%อม&ลั กำ�รอ*�นคำ*�ข%อม&ลัจั�กำตั�ร�งข%อม&ลั กำ�รกำ��หนดคำ*�ข%อม&ลัลังตั�ร�งข%อม&ลั กำ�รประมวลัผลัโดยใชุ%ข%อม&ลัจั�กำตั�วแปรชุ�ดพื้,0นที่ �ที่ �ตั%องกำ�ร 2 กำ�รกำ��หนดข%อม&ลัลังพื้,0นที่ �หน*วยคำว�มจั��ตั�วแปรชุ�ดกำรณ ตั%องกำ�รกำ��หนดคำ*�ในตั�ร�งข%อม&ลั พื้,0นที่ �หน*วยคำว�มจั��ของตั�วแปรชุ�ด เข ยนคำ��สั่��งได%ด�งน 0 คำ��สั่��งกำ��หนดคำ*�ให%ตั�วแปรชุ�ดแบบ 1 ม�ตั� type array_name [ size] = { value list } ; คำ��สั่��งกำ��หนดคำ*�ให%ตั�วแปรชุ�ดแบบ 2 ม�ตั� type array_name [ r ] [ c ] = { value list } ; คำ��สั่��งกำ��หนดคำ*�ให%ตั�วแปชุ�ดแบบ 3 ม�ตั� type array_name [ n ] [ r ] [ c ] = { value list } ;

2.1 คำ��สั่��งกำ��หนดลั�กำษณะตั�วแปรแบบกำลั�*มอ�กำขระกำ�รกำ��หนดลั�กำษณะของตั�วแปรกำลั�*มอ�กำขระ เป.นกำ�รจัองพื้,0นที่ �ขน�ดตั�ร�งข%อม&ลัเพื้,�อใชุ%ในกำ�รจั�ดเกำ#บกำลั�*มข%อม&ลัเฉพื้�ะอ�กำขระเที่*�น�0น ยกำตั�วอย*�งตั�วแปรแบบ 1 ม�ตั� แลัะ 2 ม�ตั� ด�งน 01 คำ��สั่��งกำ��หนดตั�วแปรกำลั�*มอ�กำขระแบบ 1 ม�ตั� char array_name [r] ; 2 คำ��สั่��งกำ��หนดตั�วแปรกำลั�*มอ�กำขระแบบ 2 ม�ตั� char array_name [r] [ c ] ; 2.2 คำ��สั่��งกำ��หนดคำ*�ให%ตั�วแปรชุ�ดแบบกำลั�*มอ�กำขระกำ�รเข ยนคำ��สั่��งในโปรแกำรมให%จั�ดเกำ#บคำ*�ข%อม&ลัเฉพื้�ะกำลั�*มอ�กำขระ ในตั�ร�งข%อม&ลัที่ �จัองพื้,0นที่ �ไว%โดยไม*ตั%องป5อนข%อม&ลัน�0นๆ ผ*�นที่�งแป5นพื้�มพื้2 เข ยนคำ��สั่��งด�งน 0 1 คำ��สั่��งกำ��หนดคำ*�ตั�วแปรแบบกำลั�*มอ�กำขระ 1 ม�ตั�char array_name [size] = “ string constant “ ; 2 คำ��สั่��งกำ��หนดคำ*�ตั�วแปรแบบกำลั�*มอ�กำขระ 2 ม�ตั� char array_name [ r ] [ c ] = { “ string constant list “ } ;

ประสิ�ทธิ�ภาพการเก�บข�อัม�ลแบบกล� มประสิ�ทธิ�ภาพการเก�บข�อัม�ลแบบกล� มอั�กขระอั�กขระ

2.3 กำ�รอ%�งอ�งข%อม&ลัในตั�ร�งข%อม&ลัตั�วแปรชุ�ดกำลั�*มอ�กำขระตั�วแปรชุ�ดกำลั�*มอ�กำขระ ใชุ%ว�ธี กำ�รอ%�งอ�งหน*วยคำว�มจั��เชุ*นเด ยวกำ�บตั�วแปรชุ�ดแบบอ,�นๆ แลัะใชุ%คำ��สั่��ง for คำวบคำ�มกำ�รวนซ้ำ�0�ด��เน�นง�นกำ�บข%อม&ลั ด�งน 01 กำ�รกำ��หนดข%อม&ลัให%ตั�วแปรกำลั�*มอ�กำขระ แลัะอ*�นคำ*�ม�ใชุ%ง�นตั�วอย*�งคำ��สั่��ง กำ��หนดข%อม&ลัจั�ดเกำ#บลังหน*วยคำว�มจั��ตั�วแปรชุ�ดกำลั�*มอ�กำขระ 2 ม�ตั� char name [ 5 ] [ 20 ] = { “Panya, Pawat, Pattraporn, Patcharawarai, Pilin “ } ; 2 กำ�รป5อนคำ*�แลัะอ*�นคำ*�จั�กำหน*วยคำว�มจั��ตั�วแปรชุ�ดกำลั�*มอ�กำขระ ตั�วอย*�งคำ��สั่��ง จัองพื้,0นที่ �หน*วยคำว�มจั��ให%ตั�วแปรชุ�ดกำลั�*มอ�กำขระลั�กำษณะ 2 ม�ตั� char name [ 5 ] [ 20 ] ;

2.3 กำ�รอ%�งอ�งข%อม&ลัในตั�ร�งข%อม&ลัตั�วแปรชุ�ดกำลั�*มอ�กำขระตั�วแปรชุ�ดกำลั�*มอ�กำขระ ใชุ%ว�ธี กำ�รอ%�งอ�งหน*วยคำว�มจั��เชุ*นเด ยวกำ�บตั�วแปรชุ�ดแบบอ,�นๆ แลัะใชุ%คำ��สั่��ง for คำวบคำ�มกำ�รวนซ้ำ�0�ด��เน�นง�นกำ�บข%อม&ลั ด�งน 01 กำ�รกำ��หนดข%อม&ลัให%ตั�วแปรกำลั�*มอ�กำขระ แลัะอ*�นคำ*�ม�ใชุ%ง�นตั�วอย*�งคำ��สั่��ง กำ��หนดข%อม&ลัจั�ดเกำ#บลังหน*วยคำว�มจั��ตั�วแปรชุ�ดกำลั�*มอ�กำขระ 2 ม�ตั� char name [ 5 ] [ 20 ] = { “Panya, Pawat, Pattraporn, Patcharawarai, Pilin “ } ; 2 กำ�รป5อนคำ*�แลัะอ*�นคำ*�จั�กำหน*วยคำว�มจั��ตั�วแปรชุ�ดกำลั�*มอ�กำขระ ตั�วอย*�งคำ��สั่��ง จัองพื้,0นที่ �หน*วยคำว�มจั��ให%ตั�วแปรชุ�ดกำลั�*มอ�กำขระลั�กำษณะ 2 ม�ตั� char name [ 5 ] [ 20 ] ;

กรณี�ศึ!กษาการใชุ�ตั�วแปรชุ�ดกรณี�ศึ!กษาการใชุ�ตั�วแปรชุ�ด ตั�วแปรชุ�ด 1 ม�ตั� (One Dimension) เป.นตั�วแปรชุ�ดที่ �ม

เลัขแสั่ดงตั��แหน*งเพื้ ยงตั�วเด ยวร�ปแบบ    ชุน�ดข%อม&ลั    ชุ,�อตั�วแปร[จั��นวนสั่ม�ชุ�กำ]ลั�กำษณะของกำ�รใชุ%พื้,0นที่ �ในหน*วยคำว�มจั��ของตั�วแปรที่ �ม ชุน�ด

ข%อม&ลัตั*�งกำ�น จัะใชุ%พื้,0นที่ �ในหน*วยคำว�มจั��ไม*เที่*�กำ�น เชุ*นตั�วแปรชุ�ดที่ �ม ชุน�ดเป.น int ใชุ%พื้,0นที่ �ในหน*วยคำว�มจั�� 2 ไบตั2

ตั*อสั่ม�ชุ�กำแตั*ลัะตั�ว ตั�วแปรชุ�ดที่ �ม ชุน�ดเป.น float ใชุ%พื้,0นที่ �ในหน*วยคำว�มจั�� 4 ไบตั2

ตั*อสั่ม�ชุ�กำแตั*ลัะตั�วตั�วแปรชุ�ดที่ �ม ชุน�ดเป.น char ใชุ%พื้,0นที่ �ในหน*วยคำว�มจั�� 1 ไบตั2

ตั*อสั่ม�ชุ�กำแตั*ลัะตั�วตั�วอัย่ างท�' 1int a[5]; หม�ยถึ�ง a เป.นอ�ร2เรย2ที่ �ม 5 สั่ม�ชุ�กำ โดยสั่ม�ชุ�กำ

ที่�กำตั�วเกำ#บคำ*�เป.นจั��นวนเตั#ม แลัะสั่ม�ชุ�กำที่�กำตั�วใชุ%พื้,0นที่ �ในหน*วยคำว�มจั�� 2 ไบตั2

ตั�วแปรชุ�ดสิอังม�ตั� ตั�วแปรชุ�ดสั่องม�ตั�คำ,อตั�วแปรชุ�ดที่ �ม ด�ชุน ที่ �ใชุ%ระบ�ตั��แหน*ง 2 ตั�วด%วยกำ�น เหม�ะที่ �จัะน��ไปใชุ%ในกำ�รเกำ#บข%อม&ลัที่ �อย&*ในร&ปแบบของตั�ร�งการสิร�างตั�วแปรชุ�ด 2 ม�ตั�ร&ปแบบ    type array_name[n][m];type หม�ยถึ�ง ชุน�ดของข%อม&ลัที่ �จั�ดเกำ#บในตั�วแปรชุ�ดarray_name หม�ยถึ�ง ชุ,�อตั�วแปรที่ �ตั%องกำ�รประกำ�ศใชุ%เป. นตั�วแปรชุ�ดn หม�ยถึ�ง  ด�ชุน ที่ �1ซ้ำ�� งเป. นจั��นวนเตั#มที่ �บอกำจั��นวนแถึวm หม�ยถึ�ง ด�ชุน ตั�วที่ � 2 ที่ �บอกำจั��นวนหลั�กำ

ตั�วแปร array 3 ม�ตั�  ม กำ�รประกำ�ศ ด�งน 0type arrayname[p] [r][c];type คำ,อ ชุน�ดของตั�วแปร เชุ*น int ,float,chararrayname คำ,อชุ,�อของตั�วแปรr,c,p คำ,อตั�วเลัขแสั่ดงจั��นวนในม�ตั�ที่ � 1 ม�ตั�ที่ � 2 แลัะม�ตั�ที่ � 3 ของ array ตั�มลั��ด�บโดยตั�วเลัขกำ��กำ�บตั��แหน*ง(ด�ชุน )เป.นด�งน 0p เป.น    0,1,2 .. , p-1r เป.น    0,1,2, … ,r-1c เป.น    0,1,2 … ,c-1ลั�กำษณะของ array 3 ม�ตั� อ�จัเปร ยบเที่ ยบเพื้,�อที่��คำว�มเข%�ใจั ว*�เป.น arrays of arrays ด�งร&ป (จั�กำ Computer Science A Structure Programming Approach Using C โดย Behrouz A. Forouzan แลัะ Richard F. Bilberg สั่��น�กำพื้�มพื้2 Brooks/Cole Thomson Learning คำ.ศ. 2001)table [3][5][4] (อ�จัเข ยนเป.น table[5][4][3] หร,อแบบอ,�นที่ �ให%ผลัถึ�งจั��นวนที่ �เที่*�กำ�นกำ#ได% แตั*เวลั�เข ยนโปรแกำรมจัะตั%องที่��เข%�ใจัให%ตัลัอดว*�เร�เข ยนแบบใดจัะได%ไม*สั่�บสั่นในกำ�รเข ยนโปรแกำรม)

ตั�วแปร array 3 ม�ตั�  ม กำ�รประกำ�ศ ด�งน 0type arrayname[p] [r][c];type คำ,อ ชุน�ดของตั�วแปร เชุ*น int ,float,chararrayname คำ,อชุ,�อของตั�วแปรr,c,p คำ,อตั�วเลัขแสั่ดงจั��นวนในม�ตั�ที่ � 1 ม�ตั�ที่ � 2 แลัะม�ตั�ที่ � 3 ของ array ตั�มลั��ด�บโดยตั�วเลัขกำ��กำ�บตั��แหน*ง(ด�ชุน )เป.นด�งน 0p เป.น    0,1,2 .. , p-1r เป.น    0,1,2, … ,r-1c เป.น    0,1,2 … ,c-1ลั�กำษณะของ array 3 ม�ตั� อ�จัเปร ยบเที่ ยบเพื้,�อที่��คำว�มเข%�ใจั ว*�เป.น arrays of arrays ด�งร&ป (จั�กำ Computer Science A Structure Programming Approach Using C โดย Behrouz A. Forouzan แลัะ Richard F. Bilberg สั่��น�กำพื้�มพื้2 Brooks/Cole Thomson Learning คำ.ศ. 2001)table [3][5][4] (อ�จัเข ยนเป.น table[5][4][3] หร,อแบบอ,�นที่ �ให%ผลัถึ�งจั��นวนที่ �เที่*�กำ�นกำ#ได% แตั*เวลั�เข ยนโปรแกำรมจัะตั%องที่��เข%�ใจัให%ตัลัอดว*�เร�เข ยนแบบใดจัะได%ไม*สั่�บสั่นในกำ�รเข ยนโปรแกำรม)

กรณี�ศึ!กษาการใชุ�ตั�วแปรกล� มกรณี�ศึ!กษาการใชุ�ตั�วแปรกล� มอั�กขระอั�กขระ 1.กำ�รว�เคำร�ะห2ระบบง�นเบ,0องตั%น

กำ��หนดคำ�ณสั่มบ�ตั�ตั�วแปร 1.กำ�รว�เคำร�ะห2ระบบง�นเบ,0องตั%นกำ��หนดคำ�ณสั่มบ�ตั�ตั�วแปร

ลั��ด�บข�0นตัอนกำ�รที่��ง�น (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) พื้�มพื้2ว�ตัถึ�ด�บ (material [ i ] ), ร�คำ� (price [ i ] ) 4.2) คำ��นวณห�ผลัรวมsum = sum + price[ i ] 4.3) วนกำลั�บไปข%อ 4) 5) พื้�มพื้2ผลัรวม (sum) 6) สั่�0นสั่�ดกำ�รที่��ง�น

ล(าด�บการท(างานด�วย่ผั�งงานโปรแกรม

สิมาชุ�กสิมาชุ�กสิมาชุ�กสิมาชุ�กน�ยฐิ�ตั�พื้งศ2 จั�นที่ฤที่ธี�: เลัขที่ � 1น�ยที่รงกำร�ชุ ที่องน�*ม เลัขที่ � 2

น�งสั่�วน�นที่2นภั�สั่ แสั่บงบ�ลั เลัขที่ � 8น�งสั่�วว�ภั�พื้รรณ ร�กำษ�วงษ2 เลัขที่ � 10น�งสั่�วว�ภั�ภัรณ2 ร�กำษ�วงษ2 เลัขที่ � 11

ชุ�0นม�ธียมศ�กำษ�ป<ที่ � 4/5โรงเร ยนเฉลั�มพื้ระเกำ ยรตั�สั่มเด#จัพื้ระ

ศร นคำร�นที่ร2 กำ�ญจันบ�ร เสั่นอ

คำร&ที่รงศ�กำด�: โพื้ธี�:เอ �ยม

น�ยฐิ�ตั�พื้งศ2 จั�นที่ฤที่ธี�: เลัขที่ � 1น�ยที่รงกำร�ชุ ที่องน�*ม เลัขที่ � 2

น�งสั่�วน�นที่2นภั�สั่ แสั่บงบ�ลั เลัขที่ � 8น�งสั่�วว�ภั�พื้รรณ ร�กำษ�วงษ2 เลัขที่ � 10น�งสั่�วว�ภั�ภัรณ2 ร�กำษ�วงษ2 เลัขที่ � 11

ชุ�0นม�ธียมศ�กำษ�ป<ที่ � 4/5โรงเร ยนเฉลั�มพื้ระเกำ ยรตั�สั่มเด#จัพื้ระ

ศร นคำร�นที่ร2 กำ�ญจันบ�ร เสั่นอ

คำร&ที่รงศ�กำด�: โพื้ธี�:เอ �ยม