Data Structure
description
Transcript of Data Structure
Data Structureอ. วรพจน์� พรหมจกร
• ข้�อมู�ล (Data) หมูายถึ�ง ข้�อเท็�จจริ�งต่�างๆ ซึ่��งอาจจะเป็�นต่�วเลข้หริ�อไมู�เป็�นก็�ได้�
• โคริงสริ�าง (Structure) หมูายถึ�ง ความูส�มูพั�นธ์'ข้องสมูาชิ�ก็ในก็ล*�มู
ความหมายของโครงสร�างข�อม�ล• โคริงสริ�างข้�อมู�ล หมูายถึ�ง ก็าริริวมูป็ริะเภท็ข้�อมู�ล (data
type) เข้�าไว�ด้�วยก็�นจนก็ริะท็��งก็ลายเป็�นป็ริะเภท็ข้�อมู�ลและมู-ก็.าหนด้ค.าน�ยามูข้องความูส�มูพั�นธ์'ภายในก็ล*�มูข้�อมู�ลไว�อย�าง
ชิ�ด้เจน ซึ่��งก็าริริวมูก็ล*�มูน�/นอาจจะเป็�นก็าริริวมูก็ล*�มูริะหว�างข้�อมู�ลป็ริะเภท็เด้-ยวก็�น, ต่�างป็ริะเภท็ หริ�อต่�างโคริงสริ�างก็�น
ก็�ได้� ( ข้น�ษฐา นามู-, 2548, หน�า 3)• โคริงสริ�างข้�อมู�ล หมูายถึ�ง ริ�ป็แบบก็าริจ�ด้ริะเบ-ยบข้องข้�อมู�ล
ท็-�ได้�จาก็ก็าริด้.าเน�นก็าริท็างคณิ�ต่ศาสต่ริ' (Operation) เพั��อให�สามูาริถึจ�ด้ก็าริก็�บข้�อมู�ลท็-�ใชิ�ก็�บริะบบคอมูพั�วเต่อริ'ได้�
( ว�ว�ฒน' อภ�ส�ท็ธ์�ภ�ญโญ, อมูริ มู*ก็ส�ก็สาริ, 2548, หน�า 12)
ความหมายของโครงสร�างข�อม�ล• สริ*ป็ โคริงสริ�างข้�อมู�ล หมูายถึ�งก็าริจ�ด้ริ�ป็แบบข้�อมู�ลหริ�อ
ว�ธ์-ก็าริจ�ด้ริะบบข้�อมู�ลเข้�าด้�วยก็�น มู-ก็าริก็.าหนด้น�ยามู ความูส�มูพั�นธ์'ไว�อย�างชิ�ด้เจนภายในก็ล*�มู เพั��อให�ข้�อมู�ลมู-
ล�ก็ษณิะท็-�เหมูาะสมูส.าหริ�บใชิ�ในริะบบคอมูพั�วเต่อริ'
ประเภทของโครงสร�างข�อม�ล• แบ�งเป็�น 2 ป็ริะเภท็ ค�อ
▫1. โคริงสริ�างข้�อมู�ลแบบเป็�นเชิ�งเส�น (Linear Data Structure)
▫2. โคริงสริ�างข้�อมู�ลแบบไมู�เป็�นเชิ�งเส�น (Non Linear Data Structure)
1. โครงสร�างข�อม�ลแบบเชิ�งเส�น์ (Linear Structure) โครงสร�างท !ม การจดเก#บข�อม�ลใน์ลกษณะต่(อเน์)!องกน์ ถ้�าทราบต่+าแหน์(งแรกของข�อม�ลก#สามารถ้ทราบต่+าแหน์(งข�อม�ลต่วถ้ดไปหร)อข�อม�ลต่วอ)!น์ได� ทางคณ�ต่ศาสต่ร�จะเร ยกว(า เวกเต่อร� (Vector) ข�อม�ลม ลกษณะเป.น์ 1 ม�ต่� เชิ(น์ อาเรย�, สแต่ก, ค�ว, ล�สต่�
ประเภทของโครงสร�างข�อม�ล
7
ประเภทของโครงสร�างข�อม�ล
100
200
300
400D(1) D(2) D(3) D(4)
อาเรย� (Array)
โครงสร�างของสแต่กD(1)D(2)
D(3)
D(4)D(5)
In Out
8
ประเภทของโครงสร�างข�อม�ล
D(1)
D(2)
D(3)
D(4)
D(5)
ค�ว (queue)
โครงสร�างของล�สต่�
InOut
D1 D2 D3 Dn
Header
ล�สต่'
2. โครงสร�างข�อม�ลแบบไม(เชิ�งเส�น์ (Non-Linear Structure) โครงสร�างท !ไม(ม ค/ณสมบต่�ของเชิ�งเส�น์ สามารถ้ใชิ�แสดงความสมพน์ธ์�ของข�อม�ลท !ซับซั�อน์ได�มากกว(าโครงสร�างข�อม�ลแบบเชิ�งเส�น์ เชิ(น์ ทร กราฟ
ประเภทของโครงสร�างข�อม�ล
ใน์การเล)อกใชิ�โครงสร�างข�อม�ลแบบใดน์3น์จะต่�องค+าน์4งถ้4ง•1. โครงสร�างของข�อม�ลน์3น์สามารถ้สร�าง
ความสมพน์ธ์�ให�กบชิ/ดข�อม�ลน์3น์ ได�อย(างสมบ�รณ�ท !ส/ด
•2. โครงสร�างน์3น์ต่�องง(ายต่(อการด+าเน์�น์การใน์ระบบ
ความหมายอลกอร�ธ์4ม•อ�ลก็อริ�ธ์�มู (Algorithms) หมูายถึ�ง ก็าริอธ์�บายข้�/น
ต่อนก็าริท็.างานข้องโป็ริแก็ริมูท็-�จะพั�ฒนาข้�/น ซึ่��งผ่�านก็าริว�เคริาะห'และแยก็แยะงาน เพั��อแก็�ป็9ญหาใด้ป็9ญหาหน��ง โด้ยอธ์�บายอย�างเป็�นล.าด้�บข้�/นต่อน ให�ผ่��เป็�นเจ�าข้องหริ�อผ่��ริ �บผ่�ด้ชิอบได้�ต่ริวจสอบความูถึ�ก็ต่�องในแต่�ละข้�/นต่อนข้องโป็ริแก็ริมูได้� โด้ยท็-�ผ่��เป็�นเจ�าข้องหริ�อผ่��ริ �บผ่�ด้ชิอบไมู�จ.าเป็�นต่�องเข้-ยนโป็ริแก็ริมู (ว*ฒ�พังษ' เข้��อนด้�น, โคริงสริ�างข้�อมู�ลและอ�ลก็อริ�ท็�มู, หน�า 3)
•อ�ลก็อริ�ธ์�มู หมูายถึ�ง ล.าด้�บข้�/นต่อนว�ธ์-ในก็าริท็.างานข้องโป็ริแก็ริมูเพั��อแก็�ป็9ญหาใด้ป็9ญหาหน��ง ซึ่��งถึ�าป็ฏิ�บ�ต่�ต่ามูข้�/นต่อนอย�างถึ�ก็ต่�องแล�ว จะต่�องสามูาริถึชิ�วยแก็�ป็9ญหาหริ�อป็ริะมูวลผ่ลต่ามูต่�องก็าริได้�ส.าเริ�จ
อลกอร�ธ์4ม• ในก็าริเข้-ยนอธ์�บายอ�ลก็อริ�ธ์�มูสมูาริถึเข้-ยนได้�หลายแบบ
เชิ�น ในริ�ป็ข้อง Flow Chart, Pseudo และภาษา คอมูพั�วเต่อริ' แต่�ในป็9ญหาเด้-ยวก็�นเริาสามูาริถึค�ด้อ�ลก็อ
ริ�ธ์�มูเพั��อมูาแก็�ป็9ญหาได้�หลายแบบ ซึ่��งในแต่�ละแบบเคริ��อง คอมูพั�วเต่อริ'ก็�จะใชิ�หน�วยความูจ.า และเวลาในก็าริป็ริะมูวล
ผ่ลไมู�เท็�าก็�น ด้�งน�/น ก็าริเป็ริ-ยบเท็-ยบว�าโป็ริแก็ริมูคอมูพั�วเต่อริ'ใคริเก็�งก็ว�าก็�นน�/นจ�งใชิ�ในก็าริเป็ริ-ยบเท็-ยบป็ริะส�ท็ธ์�ภาพัข้องอ�ลก็อริ�ธ์�มูน��งเอง
13
พ)3น์ฐาน์ทางคณ�ต่ศาสต่ร� (con.)เน�/อหาด้�านอ�ลก็อริ�ธ์�มูส'จ.าเป็�นต่�องใชิ�พั�/นฐานท็างคณิ�ต่ศาสต่ริ' โด้ย
ส�วนใหญ�จะเน�นไป็ท็-�หล�ก็ก็าริข้อง Discrete Mathematic โด้ยห�วข้�อท็-�ยก็
มูาน-/จะเป็�นเพั-ยงส�วนหน��งท็-�มู-ก็าริใชิ�งานก็�นบ�อยๆ ซึ่��งป็ริะก็อบไป็ด้�วย
- เลข้ยก็ก็.าล�งและฟั9งก็'ชิ� �น Exponential- ฟั9งก็'ชิ� �น Logarithm- ฟั9งก็'ชิ� �น Factorial- ก็าริ Modular
14
พ)3น์ฐาน์ทางคณ�ต่ศาสต่ร� (con.) เลขยกก+าลงและฟ6งก�ชิ!น์ Exponential ความูส�มูพั�นธ์'ท็-�เก็-�ยวข้�องก็�นข้องเลข้ยก็ก็.าล�งก็�บฟั9งก็'ชิ� �น Exponential
ค�อ ฟั9งก็'ชิ� �น Exponential เป็�นส�วนหน��งข้องเลข้ยก็ก็.าล�ง และมู-ค*ณิสมูบ�ต่�
หลายข้�อท็-�ต่�องอาศ�ยพั�/นฐานข้องเลข้ยก็ก็.าล�งมูาเป็�นองค'ป็ริะก็อบ
15
พ)3น์ฐาน์ทางคณ�ต่ศาสต่ร� (con.)ทฤษฏี ท !เก !ยวข�องกบเลขยกก+าลง
ถึ�า a, b เป็�นจ.านวนจริ�ง โด้ยท็-� a≠0, b≠0 และ m, n เป็�นจ.านวนเต่�มู
1. aman = am + n
2. (am) n = amn
3. (ab) m = ambm
4. (a/b) m = am/bm
5. am/an = am - n
16
พ)3น์ฐาน์ทางคณ�ต่ศาสต่ร� (con.)ทฤษฏี ท !เก !ยวข�องกบฟ6งก�ชิ!น์ Exponential
ถึ�า a, b เป็�นจ.านวนจริ�งบวก็ โด้ยท็-� a≠1, b≠1 และ x, y เป็�นจ.านวน
จริ�ง, ต่�วแป็ริ หริ�อน�พัจน'ท็างคณิ�ต่ศาสต่ริ'1. ก็ฏิข้องเลข้ยก็ก็.าล�ง (Exponent Laws) 1.1 axay = am + n
1.2 (ax) x = axy
1.3 (ab) x = axbx
1.4 (a/b) x = ax/bx
1.5 am/an = am - n
17
พ)3น์ฐาน์ทางคณ�ต่ศาสต่ร� (con.) 1.6 a-x = 1/ax
1.7 a0 = 12. ax = ay ก็�ต่�อเมู��อ x = y3. ถึ�า x≠0 แล�ว ax = by ก็�ต่�อเมู��อ a =
b
18
พ)3น์ฐาน์ทางคณ�ต่ศาสต่ร� (con.)ฟ6งก�ชิ!น์ Logarithms ฟั9งก็'ชิ� �น Logarithm เป็�นส�วนก็ล�บก็�นข้อง ฟั9งก็'ชิ� �น Exponential ค�อ
โด้เมูนข้อง ฟั9งก็'ชิ� �น Exponential ก็ลายเป็�นเรินจ' (Range) ข้องฟั9งก็'ชิ� �น
Logarithms ในท็างก็ล�บก็�นเรินจ'ข้องฟั9งก็'ชิ� �น Exponential จะก็ลายเป็�น
โด้เมูนข้องฟั9งก็'ชิ� �น Logarithm
“ก็.าหนด้ให� a, x เป็�นจ.านวนจริ�ง โด้ยท็-� a > 0, x > 0 และ a ≠ 1
แล�วเป็�นฟั9งก็'ชิ�น Logarithms ก็�ต่�อเมู��อ y = loga x เมู��อ x = ay ”
19
พ)3น์ฐาน์ทางคณ�ต่ศาสต่ร� (con.)ทฤษฏี ท !เก !ยวข�องกบฟ6งก�ชิ!น์ Logarithms
ก็.าหนด้ M, N, a และ b เป็�นจ.านวนจริ�งบวก็ โด้ยท็-� a≠1, b≠1และ
มู- n เป็�นจ.านวนจริ�งแล�ว สามูาริถึสริ*ป็ได้� ด้�งน-/ 1. loga MN = loga M + loga N2. loga M/N = loga M - loga N3. loga 1 = 04. loga Mn = nloga M5. loga a = 1
20
พ)3น์ฐาน์ทางคณ�ต่ศาสต่ร� (con.)
6. loga M = loga N ก็�ต่�อเมู��อ M=N
7. loga M = logb M / logb a
8. a loga M = M
9. logan M = 1/n loga M
10. log1/a M = - loga M
11. loga M = 1/ logMa เมู��อ M ≠ 1
21
พ)3น์ฐาน์ทางคณ�ต่ศาสต่ร� (con.)ฟ6งก�ชิ!น์ Factorial ค�า Factorial n (n Factorial) หมูายถึ�ง ผ่ลค�ณิข้องจ.านวนเต่�มูบวก็
ต่�/งแต่� 1 ถึ�ง n เมู��อ n เป็�นจ.านวนเต่�มูบวก็ใด้ๆ เชิ�น factorial 8 มู-ค�า เท็�าก็�บ
8 x 7 x 6 x 5 x 4 x 3 x 2 x 1 เป็�นต่�น หริ�อ factorial n ค�อ ผ่ลค�ณิข้อง
จ.านวนเต่�มูบวก็ n ก็�บจ.านวนท็-�ลด้ลงจาก็ n ท็-ละ 1 จนก็ริะท็��งถึ�ง 1 น��นเอง
โด้ยส�ญล�ก็ษณิ'ท็-�ก็.าหนด้ ค�อ n!
n! = n x (n-1) x (n-2) x (n-3) x … x 2 x 1
หริ�อ n! = 1 x 2 x 3 x … x (n-1) x n
22
พ)3น์ฐาน์ทางคณ�ต่ศาสต่ร� (con.)
การ Modular ก็าริ Modular จะคล�ายก็�นก็�บก็าริหาริ (Division) แต่�จะแต่ก็ต่�างจาก็
ก็าริหาริต่ริงท็-�ผ่ลล�พัธ์'ข้องก็าริค.านวณิ โด้ยท็-� Modular เป็�นเศษท็-�เหล�อจาก็
ก็าริหาริ ก็.าหนด้ให� a เป็�นจ.านวนเต่�มู และ m เป็�นจ.านวนเต่�มูบวก็แล�วค�า a mod n มู-ค�าเท็�าก็�บเศษท็-�เหล�อจาก็ก็าริหาริ a ด้�วย m
23
ล+าดบและอน์/กรมล+าดบ (Sequence) ค�อ ฟั9งก็'ชิ� �นท็-�มู-โด้เมูนเป็�นเซึ่ต่ข้องจ.านวนเต่�มูบวก็
เข้-ยนแท็นด้�วย n แบ�งเป็�น 2 ป็ริะเภท็ ค�อ1. ล.าด้�บจ.าก็�ด้ ค�อ ล.าด้�บท็-�มู-โด้เมูนเป็�นเซึ่ต่ข้องจ.านวนเต่�มูบวก็ n ต่�ว
แริก็ เชิ�น 1, 2, 3, 4, …, n2. ล.าด้�บอน�นต่' (Infinite Sequence) ค�อ ล.าด้�บท็-�มู-โด้เมูนเป็�นเซึ่ต่ข้อง
จ.านวนเต่�มูบวก็ จนก็ริะท็��งถึ�งอน�นต่' เชิ�น 1, 2, 3, 4, … (ไมู�ท็ริาบพัจน'
ส*ด้ท็�าย)
24
ล+าดบและอน์/กรม (con.)อน์/กรม (Series) ค�อ ผ่ลริวมูข้องพัจน'ท็*ก็พัจน'ข้องล.าด้�บน�/นๆ ใชิ�
ส�ญล�ก็ษณิ' ∑
ต่�วก็าริแท็นส�ญล�ก็ษณิ'เข้-ยนได้�ด้�งน-/
1+2+3+4+…+n = ∑ i = ∑ n
25
รหส Pseudoริห�ส Pseudo จะมู-ล�ก็ษณิะคล�ายภาษาอ�งก็ฤษ ก็./าก็��งริะหว�างภาษา
อ�งก็ฤษก็�บภาษาคอมูพั�วเต่อริ'ใชิ�ในก็าริอธ์�บายล�ก็ษณิะโคริงสริ�างข้�อมู�ล
และก็าริท็.างานข้องอ�ลก็อริ�ธ์�มูส'ท็-�เริาเข้-ยนข้�/นOpen filelinesPrint = 0Loop (not end of file)
read fileif (full page)
from feedadd 1 to PageNumberWrite page heading
write report line
ผังงาน์ (Flowchart)
• ผ่�งงาน (flowchart) ค�อ แผ่นภาพัซึ่��งแสด้งล.าด้�บข้�/น ต่อนข้องก็าริท็.างาน โด้ยแต่�ละข้�/นต่อนจะถึ�ก็แสด้งโด้ยใชิ�
ส�ญล�ก็ษณิ'ซึ่��งมู-ความูหมูายบ�งบอก็ว�า ข้�/นต่อนน�/น ๆ มู- ล�ก็ษณิะก็าริท็.างาน ท็.าให�ง�ายต่�อความูเข้�าใจ ว�าในก็าริ
ท็.างานน�/นมู-ข้�/นต่อนอะไริบ�าง และมู-ล.าด้�บอย�างไริ
ประโยชิน์�ของผังงาน์•ชิ�วยให�สามูาริถึท็.าความูเข้�าใจล.าด้�บข้�/นต่อนก็าริท็.างาน
ข้องโป็ริแก็ริมูหริ�อริะบบใด้ ๆได้�อย�างริวด้เริ�ว• ชิ�วยแสด้งล.าด้�บข้�/นต่อนก็าริท็.างาน ท็.าให�สามูาริถึเข้-ยน
โป็ริแก็ริมูได้�อย�างเป็�นริะบบไมู�ส�บสน นอก็จาก็น-/ผ่�งงานย�ง เป็�นอ�สริะต่�อภาษาท็-�ใชิ�ในก็าริ เข้-ยนโป็ริแก็ริมู ก็ล�าวค�อจาก็
ผ่�งงานเด้-ยวก็�นสามูาริถึน.าไป็เข้-ยนโป็ริแก็ริมูด้�วยภาษาใด้ก็�ได้�
ประเภทของผังงาน์• ผังงาน์ระบบ (system flowchart)
▫เป็�นผ่�งงานท็-�แสด้งข้�/นต่อนก็าริท็.างานข้องริะบบงาน ท็�/งหมูด้อย�างก็ว�างๆ ผ่�งงานริะบบจะแสด้งความูส�มูพั�นธ์'
ริะหว�างก็าริท็.างาน เอก็สาริต่�างๆ แสด้งถึ�งก็าริไหลข้อง ข้�อมู�ล ว�ามู-ข้�อมู�ลอะไริบ�าง เอก็สาริอะไริบ�าง ส�งต่�อไป็
อย�างไริ มู-ก็าริป็ริะมูวลผ่ลอย��ต่ริงข้�/นไหน แต่�จะมูาแสด้งว�ธ์- ก็าริท็.างาน หริ�อข้�/นต่อนย�อยข้องแต่�ละงาน
ประเภทของผังงาน์• ผ่�งงานโป็ริแก็ริมู (Program flowchart)
▫เป็�นผ่�งงานซึ่��งแสด้งล.าด้�บข้�/นต่อนก็าริท็.างานข้องโป็ริแก็ริมู หน��ง ๆ
ผังงาน์โปรแกรม (Program flowchart)
▫เป็�นผ่�งงานท็-�แสด้งข้�/นต่อนก็าริท็.างานข้องโป็ริแก็ริมู คอมูพั�วเต่อริ'อย�างละเอ-ยด้ เริ��มูต่�/งแต่�ก็าริน.าเข้�าข้�อมู�ลมูาใน
เคริ��องคอมูพั�วเต่อริ' ก็าริป็ริะมูวลผ่ลข้�อมู�ล โด้ยแสด้งส�ต่ริ ต่�างๆ ท็-�ใชิ�ในก็าริค.านวณิ ต่ลอด้จนก็าริเป็ริ-ยบเท็-ยบเง��อนไข้
ก็าริก็.าหนด้ให�วนริอบก็าริท็.างาน และก็าริแสด้งผ่ลล�พัธ์'ท็-�ได้� จาก็ก็าริป็ริะมูวลผ่ล ซึ่��งผ่�งงานโป็ริแก็ริมูน-/ จะท็.าให�
โป็ริแก็ริมูเมูอริ' (Programmer) สามูาริถึน.าไป็ใชิ�ในก็าริเข้-ยนโป็ริแก็ริมูได้�อย�างสะด้วก็ริวด้เริ�ว
สญลกษณ�ท !ใชิ�ใน์การเข ยน์ผังงาน์(FLOWCHATING SYMBOLS)
• ก็าริเข้-ยนผ่�งงาน เป็�นก็าริเข้-ยนแผ่นภาพัเพั��อแสด้งข้�/น ต่อนก็าริท็.างาน โด้ยน.าภาพัส�ญล�ก็ษณิ'ต่�าง ๆ มูาเริ-ยนต่�อ
ก็�น ส�ญล�ก็ษณิ'ท็-�น�ยมูใชิ�ในก็าริเข้-ยนผ่�งงานน�/นหน�วยงาน ท็-�ชิ��อว�า American National Standards
Institute (ANSI) และ International Standard Organization (ISO) ได้�ริ�วมูก็�นก็.าหนด้ส�ญล�ก็ษณิ'มูาต่ริฐานเพั��อใชิ�ในก็าริเข้-ยนผ่�งงานด้�งน-/
หลกเกณฑ์�ใน์การเข ยน์ผังงาน์• ส�ญล�ก็ษณิ'ท็-�ใชิ�อาจมู-ข้นาด้ต่�างๆ ก็�นได้� แต่�จะต่�องมู-ริ�ป็
ริ�างเป็�นส�ด้ส�วนต่ามูมูาต่ริฐาน• ท็�ศท็างข้องล�ก็ศริในผ่�งงาน ควริมู-ท็�ศท็างจาก็บนลงล�าง
หริ�ออาจจาก็ซึ่�ายไป็ข้วาเสมูอ• ผ่�งงานคสริมู-ความูเริ-ยบริ�อย สะอาด้ พัยายามูหล-ก็เล-�ยง
ก็าก็ริเข้-ยนล�ก็ศริท็-�ท็.าให�เก็�ด้จ*ด้ต่�ด้ เพัริาะจะท็.าให�ผ่�งงาน อ�านและท็.าความูเข้�าใจได้�ยาก็ และถึ�าในผ่�งงานมู-ก็าริเข้-ยน
ข้�อความูอธ์�บายใด้ ๆ ควริท็.าให�ส�/นก็ะท็�ด้ริ�ด้และได้�ใจความู
ลกษณะโครงสร�างของผังงาน์• ผ่�งงานท็��วไป็จะป็ริะก็อบด้�วยโคริงสริ�างพั�/นฐาน 3 ริ�ป็แบบ
ต่�อไป็น-/ค�อ▫1. โคริงสริ�างแบบเป็�นล.าด้�บ (sequence structure)▫2. โคริงสริ�างแบบมู-ก็าริเล�อก็ (selection structure)▫3. โคริงสริ�างแบบท็.าซึ่./า (iteration structure)
โครงสร�างแบบเป.น์ล+าดบ (Sequence Structure)
โคริงสริ�างล�ก็ษณิะน-/เป็�น โคริงสริ�างพั�/นฐานข้องผ่�งงาน และเป็�นล�ก็ษณิะ
ข้�/นต่อนก็าริท็.างานท็-�พับมูาก็ท็-�ส*ด้ค�อท็.างานท็-ละข้�/นต่อนล.าด้�บ
ต่วอย(างผังงาน์ท !ม โครงสร�างแบบเป.น์ล+าดบ
จาก็ต่�วอย�างผ่�งงานก็าริค.านวณิด้อก็เบ-/ยสามูาริถึอธ์�บายเป็�นข้�/นต่อนได้�ด้�งน-/1. เริ��มูต่�นก็าริท็.างาน2. ริ�บค�าเง�นต่�น และอ�ต่ริาด้อก็เบ-/ยเพั��อใชิ�ในก็าริค.านวณิหาด้อก็เบ-/ย3. ค.านวณิหาด้อก็เบ-/ยโด้ยใชิ�สมูก็าริต่�อไป็น-/
ด้อก็เบ-/ย = เง�นต่�น * อ�ต่ริาด้อก็เบ-/ย4. แสด้งค�าข้องด้อก็เบ-/ยซึ่��งค.านวณิได้�5. จบก็าริท็.างาน
โครงสร�างแบบม ต่วเล)อก (Selection Structure)
โคริงสริ�างก็าริท็.างานแบบมู-ก็าริเล�อก็มู-ริ�ป็แบบท็-�ซึ่�บซึ่�อนก็ว�าโคริงสริ�างแบบเป็�นล.าด้�บริ�ป็แบบ ท็-�ง�ายท็-�ส*ด้ข้องโคริงสริ�างแบบน-/ค�อ ก็าริเล�อก็แบบมู-ท็างออก็ 2 ท็าง
ในก็าริเล�อก็แบบมู-ท็างออก็ 2 ท็าง น-/จะมู-ท็างออก็จาก็ส�ญล�ก็ษณิ'ก็าริต่�ด้ส�นใจเพั-ยง 2 ท็าง ค�อ ใชิ�หริ�อไมู�ใชิ� เท็�าน�/น ( แต่�ริะบบก็าริเข้-ยนผ่�งงานริะบบ อน*ญาต่ให�มู-ท็างออก็จาก็ก็าริต่�ด้ส�นใจ
ได้�มูาก็ก็ว�า 2 ท็าง)
โครงสร�างการท+างาน์แบบม การเล)อก( Selection )• เป็�นโคริงสริ�างท็-�ใชิ�ก็าริต่ริวจสอบเง��อนไข้เพั��อก็าริท็.างานอย�างใด้
อย�างหน��ง โด้ยโคริงสริ�างแบบน-/จะมู-อย��ด้�วยก็�น 2 ริ�ป็แบบ ค�อIF - THEN - ELSE และ IF – THEN
• โคริงสริ�างแบบ IF - THEN - ELSE เป็�นโคริงสริ�างท็-�จะ ท็.าก็าริเป็ริ-ยบเท็-ยบเง��อนไข้ท็-�ใส�ไว�ในส�วนหล�งค.าว�า IF และเมู��อได้�
ผ่ลล�พัธ์'จาก็ก็าริเป็ริ-ยบเท็-ยบก็�จะเล�อก็ว�าจะท็.างานต่�อในส�วนใด้ ก็ล�าวค�อถึ�าเง��อนไข้เป็�นจริ�ง ( TRUE ) ก็�จะเล�อก็ไป็ท็.างานต่�อท็-�
ส�วนท็-�อย��หล�ง THEN แต่�ถึ�าเง��อนไข้เป็�นเท็�จ ( FALSE ) ก็�จะ ไป็ท็.างานต่�อในส�วนท็-�อย��หล�งค.าว�า ELSE
• แต่�ถึ�าส.าหริ�บโคริงสริ�างแบบ IF - THEN เป็�นโคริงสริ�างท็-�ไมู�มู- ก็าริใชิ� ELSE ด้�งน�/น ถึ�ามู-ก็าริเป็ริ-ยบเท็-ยบเง��อนไข้ท็-�อย��หล�ง IF
มู-ค�าเป็�นจริ�ง ก็�จะไป็ท็.าส�วนท็-�อย��หล�ง Then แต่�ถึ�าเง��อนไข้เป็�น เท็�จ ก็�จะไป็ท็.าค.าส��งท็-�อย��ถึ�ด้จาก็ IF - THEN แท็น
ต่วอย(างผังงาน์ท !ม โครงสร�างแบบม การเล)อก
ผ่�งงานก็าริค.านวณิด้อก็เบ-/ยซึ่��งมู-อ�ต่ริาด้อก็เบ-/ย 2 อ�ต่ริา ค�อถึ�าเง�นต่�นน�อยก็ว�า 1 ล�านบาท็
จะค�ด้ด้อก็เบ-/ยด้�วยอ�ต่ริาริ�อยละ 4 แต่�ถึ�ามู-เง�นต่�นมูาก็ก็ว�า 1 ล�านบาท็
จะค�ด้ด้อก็เบ-/ยด้�วยอ�ต่ริาริ�อยละ 5
•จาก็ผ่�งงานสามูาริถึอธ์�บายเป็�นข้�/นต่อนได้�ด้�งน-/▫1. เริ��มูต่�นก็าริท็.างาน▫2. ริ�บค�าเง�นต่�น▫3. พั�จาริณิาเง�นต่�นท็-�ริ �บค�าเข้�ามูามูาก็ก็ว�า 1 ล�านบาท็หริ�อ
ไมู�▫4. ถึ�าใชิ� ให�ค.านวณิด้อก็เบ-/ยในอ�ต่ริาริ�อยละ 5 ด้�งน�/น
ด้อก็เบ-/ย = เง�นต่�น * 0.05▫5. ถึ�าไมู�ใชิ� ให�ค.านวณิด้อก็เบ-/ยในอ�ต่ริาริ�อยละ 5 ด้�งน�/น
ด้อก็เบ-/ย = เง�นต่�น * 0.04▫6. แสด้งค�าด้อก็เบ-/ยท็-�ค.านวณิได้�▫7. จบก็าริท็.างาน
โครงสร�างแบบท+าซั+3า (Iteration Structure)
โคริงสริ�างก็าริท็.างานแบบท็.าซึ่./า จะท็.างานแบบเด้-ยวก็�นซึ่./าไป็เริ��อย ๆ
ในข้ณิะท็-�ย�งเป็�นไป็ต่ามูเง��อนไข้หริ�อเง��อนไข้เป็�นจริ�งจนก็ริะท็�/งเง��อนไข้เป็�นเท็�จจ�งท็.างานอ��นต่�อไป็
โครงสร�างการท+างาน์แบบม การท+างาน์ ซั+3า
• เป็�นโคริงสริ�างท็-�มู-ก็าริป็ริะมูวลผ่ลก็ล*�มูค.าส��งซึ่./าหลายคริ�/ง ต่ามูล�ก็ษณิะเง��อนไข้ท็-�ก็.าหนด้ อาจเริ-ยก็ ก็าริท็.างานซึ่./า
แบบน-/ได้�อ-ก็แบบว�า ก็าริวนล�ป็ ( Looping ) โคริงสริ�าง แบบก็าริท็.างานซึ่./าน-/จะมู-อย�� 2 ป็ริะเภท็ ค�อ
• DO WHILE • DO UNTIL
DO WHILE
• เป็�นโคริงสริ�างท็-�มู-ก็าริท็ด้สอบเง��อนไข้ก็�อน ถึ�าเง��อนไข้เป็�น จริ�งก็�จะเข้�ามูาท็.างานในก็ล*�มูค.าส��งท็-�ต่�องท็.าซึ่./า ซึ่��งเริ-ยก็ว�า
ก็าริเข้�าล�ป็ หล�งจาก็น�/นก็�จะย�อนก็ล�บไป็ต่ริวจสอบเง��อนไข้ ใหมู�อ-ก็ ถึ�าเง��อนไข้ย�งคงเป็�นจริ�งอย�� ก็�ย�งคงต่�องท็.าก็ล*�มู
ค.าส��งซึ่./าหริ�อเข้�าล�ป็ต่�อไป็อ-ก็ จนก็ริะท็��งเง��อนไข้เป็�นเท็�จ ก็� จะออก็จาก็ล�ป็ไป็ท็.าค.าส��งถึ�ด้ไป็ท็-�อย��ถึ�ด้จาก็ DO
WHILE หริ�ออาจเป็�นก็าริจบก็าริท็.างาน
DO UNTIL
• เป็�นโคริงสริ�างก็าริท็.างานแบบท็.างานซึ่./าเชิ�นก็�น แต่�มู-ก็าริ ท็.างานท็-�แต่ก็ต่�างจาก็ DO WHILE ค�อจะมู-ก็าริเข้�า
ท็.างานก็ล*�มูค.าส��งท็-�อย��ภายในล�ป็ก็�อนอย�างน�อย 1 คริ�/ง แล�วจ�งจะไป็ท็ด้สอบเง��อนไข้ ถึ�าเง��อนไข้เป็�นเท็�จก็�จะมู-ก็าริ
เข้�าท็.าก็ล*�มูค.าส��งท็-�ต่�องท็.าซึ่./าอ-ก็ หล�งจาก็น�/นก็�จะย�อนก็ล�บ ไป็ต่ริวจสอบเง��อนไข้ใหมู�อ-ก็ ถึ�าเง��อนไข้ย�งคงเป็�นเท็�จอย�� ก็�
ย�งต่�องท็.าก็ล*�มูค.าส��งซึ่./าหริ�อเข้�าล�ป็ต่�อไป็อ-ก็ จนก็ริะท็��ง เง��อนไข้เป็�นจริ�ง จ�งจะออก็จาก็ล�ป็ไป็ท็.าค.าส��งถึ�ด้จาก็
UNTIL หริ�ออาจเป็�นก็าริจบก็าริท็.างาน
ต่วอย(างผังงาน์ท !ม โครงสร�างแบบท+าซั+3า ผ่�ง งานก็าริค.านวณิยอด้บ�ญชิ- ( เง�นต่�นท็บด้อก็เบ-/ย )
•จาก็ต่�วอย�างผ่�งงานสามูาริถึอธ์�บายเป็�นข้�/นต่อนได้�ด้�งน-/•1. เริ��มูต่�นก็าริท็.างาน•2. ริ�บค�าเง�นต่�น อ�ต่ริาด้อก็เบ-/ย และจ.านวนป็=ท็-�ฝาก็เง�น
ซึ่��งเป็�นข้�อมู�ลท็-�จ.าเป็�นในก็าริค.านวณิยอด้บ�ญชิ-(เง�นต่�นท็บ ด้อก็เบ-/ยต่ามูจ.านวนป็= ท็-�ฝาก็เง�น)
•3. ก็.าหนด้ให� n มู-ค�าเท็�าก็�บ 0 ในผ่�งงานน-/ n ค�อจ.านวนริอบข้องก็าริค�ด้ด้อก็เบ-/ย
•4. ก็.าหนด้ยอด้บ�ญชิ-เริ��มูต่�นให�เท็�าก็�บเง�นต่�นท็-�ริ �บค�าเข้�ามูา
•5. เป็ริ-ยบเท็-ยบว�า n น�อยก็ว�าจ.านวนป็=ท็-�ฝาก็เง�นหริ�อไมู�▫5.1 ถึ�าใชิ�ให�ท็.าต่ามูข้�/นต่อนต่�อไป็น-/
ค.านวณิยอด้บ�ญชิ-ใหมู�โด้ยท็บด้อก็เบ-/ยเพั��มูเข้�าไป็จาก็ยอด้ บ�ญชิ-เด้�มูโด้ยใชิ�สมูก็าริต่�อไป็น-/ยอด้บ�ญชิ- = ยอด้บ�ญชิ- +
( ยอด้บ�ญชิ- * อ�ต่ริาด้อก็เบ-/ย) เพั��มูค�า n ไป็อ-ก็ 1 ก็ล�บไป็เป็ริ-ยบเท็-ยบเง��อนไข้ในข้�อ 5
▫5.2 ถึ�าไมู�ใชิ� แสด้งว�าค�ด้ด้อก็เบ-/ยท็บต่�นคริบต่ามูจ.านวนป็=ท็-�ฝาก็เง�นซึ่��งริ�บค�าเข้�ามูาแล�วให�ท็.าต่ามูข้�/นต่อนต่�อไป็น-/ แสด้งค�ายอด้บ�ญชิ-ส*ด้ท็�ายท็-�ค.านวณิได้� จบก็าริท็.างาน
สร/ปข�อแต่กต่(างระหว(าง DO WHILE และDO UNTIL•ม ดงน์ 3
1. DO WHILE ในก็าริท็.างานคริ�/งแริก็จะต่�องมู-ก็าริ ต่ริวจสอบเง��อนไข้ก็�อนท็*ก็คริ�/ง ก็�อนท็-�จะมู-ก็าริเข้�ล�ป็ก็าริ
ท็.างาน2. DO UNTIL ก็าริท็.างานคริ�/งแริก็จะย�งไมู�มู-ก็าริต่ริวจ
สอบเง��อนไข้ แต่�จะเข้�าไป็ท็.างานในล�ป็ก็�อนอย�างน�อย 1 คริ�/งแล�วจ�งจะไป็ต่ริวจสอบเง��อนไข้3. DO WHILE จะมู-ก็าริเข้�าไป็ท็.างานในล�ป็ก็�ต่�อเมู��อ
ต่ริวจสอบเง��อนไข้แล�วพับว�า เง��อนไข้เป็�นจริ�ง แต่�เมู��อพับ ว�าเง��อนไข้เป็�นเท็�จ ก็�จะออก็จาก็ล�ป็ท็�นท็-
4. DO UNTIL จะมู-ก็าริเข้�าไป็ท็.างานในล�ป็ก็�ต่�อเมู��อ ต่ริวจสอบเง��อนไข้แล�วพับว�า เง��อนไข้เป็�นเท็�จ แต่�เมู��อพับ
ว�าเง��อนไข้เป็�นจริ�ง ก็�จะออก็จาก็ล�ป็ท็�นท็-
ว�ธ์ การเข ยน์ผังงาน์ท !ด • ใชิ�ส�ญล�ก็ษณิ'ต่ามูท็-�ก็.าหนด้ไว�ท็-�เป็�นมูาต่ริฐาน• เข้-ยนล.าด้�บข้�/นต่อนก็าริท็.างานอย�างเป็�นธ์ริริมูชิาต่�• เข้-ยนข้�อความูท็-�เก็-�ยวข้�องในก็ริอบส�ญล�ก็ษณิ'• ใชิ�จ*ด้เชิ��อมูต่�อแท็นเส�นเชิ��อมูโยงท็-�ไก็ลมูาก็ๆ• ก็ริอบส�ญล�ก็ษณิ'ท็*ก็ก็ริอบต่�องเชิ��อมูต่�อไป็หาจ*ด้จบ
แบบฝึ=กหด•1. ผ่�งงาน (Flowchart) ค�ออะไริ•2. อธ์�บายริ�ป็แบบผ่�งงานแบบเริ-ยงล.าด้�บ (Sequence)
แบบมู-เง��อนไข้ (Decision) และแบบท็.าซึ่./า (Loop)•3. ข้�/นต่อนก็าริท็.างานซึ่./าแบบ Do While และ Do until
ต่�างก็�นอย�างไริ จงอธ์�บาย•4. จงบอก็ป็ริะโยชิน'ข้องผ่�งงาน•5. จงเข้-ยนผ่�งงานก็าริต่�มูบะหมู-�ก็��งสาเริ�จริ�ป็•6. จงเข้-ยนผ่�งงานก็าริมูาเริ-ยนในว�นพั*ธ์ข้องต่�วเอง