Data Structure

54
Data Structure อ.ออออออ ออออออออ

description

Data Structure. อ.วร พจน์ พรหมจักร. ข้อมูล (Data) หมายถึง ข้อเท็จจริงต่างๆ ซึ่งอาจจะเป็นตัวเลขหรือไม่เป็นก็ได้ โครงสร้าง (Structure) หมายถึง ความสัมพันธ์ของสมาชิกในกลุ่ม. ความหมายของโครงสร้างข้อมูล. - PowerPoint PPT Presentation

Transcript of Data Structure

Page 1: Data Structure

Data Structureอ. วรพจน์� พรหมจกร

Page 2: Data Structure

• ข้�อมู�ล (Data) หมูายถึ�ง ข้�อเท็�จจริ�งต่�างๆ ซึ่��งอาจจะเป็�นต่�วเลข้หริ�อไมู�เป็�นก็�ได้�

• โคริงสริ�าง (Structure) หมูายถึ�ง ความูส�มูพั�นธ์'ข้องสมูาชิ�ก็ในก็ล*�มู

Page 3: Data Structure

ความหมายของโครงสร�างข�อม�ล• โคริงสริ�างข้�อมู�ล หมูายถึ�ง ก็าริริวมูป็ริะเภท็ข้�อมู�ล (data

type) เข้�าไว�ด้�วยก็�นจนก็ริะท็��งก็ลายเป็�นป็ริะเภท็ข้�อมู�ลและมู-ก็.าหนด้ค.าน�ยามูข้องความูส�มูพั�นธ์'ภายในก็ล*�มูข้�อมู�ลไว�อย�าง

ชิ�ด้เจน ซึ่��งก็าริริวมูก็ล*�มูน�/นอาจจะเป็�นก็าริริวมูก็ล*�มูริะหว�างข้�อมู�ลป็ริะเภท็เด้-ยวก็�น, ต่�างป็ริะเภท็ หริ�อต่�างโคริงสริ�างก็�น

ก็�ได้� ( ข้น�ษฐา นามู-, 2548, หน�า 3)• โคริงสริ�างข้�อมู�ล หมูายถึ�ง ริ�ป็แบบก็าริจ�ด้ริะเบ-ยบข้องข้�อมู�ล

ท็-�ได้�จาก็ก็าริด้.าเน�นก็าริท็างคณิ�ต่ศาสต่ริ' (Operation) เพั��อให�สามูาริถึจ�ด้ก็าริก็�บข้�อมู�ลท็-�ใชิ�ก็�บริะบบคอมูพั�วเต่อริ'ได้�

( ว�ว�ฒน' อภ�ส�ท็ธ์�ภ�ญโญ, อมูริ มู*ก็ส�ก็สาริ, 2548, หน�า 12)

Page 4: Data Structure

ความหมายของโครงสร�างข�อม�ล• สริ*ป็ โคริงสริ�างข้�อมู�ล หมูายถึ�งก็าริจ�ด้ริ�ป็แบบข้�อมู�ลหริ�อ

ว�ธ์-ก็าริจ�ด้ริะบบข้�อมู�ลเข้�าด้�วยก็�น มู-ก็าริก็.าหนด้น�ยามู ความูส�มูพั�นธ์'ไว�อย�างชิ�ด้เจนภายในก็ล*�มู เพั��อให�ข้�อมู�ลมู-

ล�ก็ษณิะท็-�เหมูาะสมูส.าหริ�บใชิ�ในริะบบคอมูพั�วเต่อริ'

Page 5: Data Structure

ประเภทของโครงสร�างข�อม�ล• แบ�งเป็�น 2 ป็ริะเภท็ ค�อ

▫1. โคริงสริ�างข้�อมู�ลแบบเป็�นเชิ�งเส�น (Linear Data Structure)

▫2. โคริงสริ�างข้�อมู�ลแบบไมู�เป็�นเชิ�งเส�น (Non Linear Data Structure)

Page 6: Data Structure

1. โครงสร�างข�อม�ลแบบเชิ�งเส�น์ (Linear Structure) โครงสร�างท !ม การจดเก#บข�อม�ลใน์ลกษณะต่(อเน์)!องกน์ ถ้�าทราบต่+าแหน์(งแรกของข�อม�ลก#สามารถ้ทราบต่+าแหน์(งข�อม�ลต่วถ้ดไปหร)อข�อม�ลต่วอ)!น์ได� ทางคณ�ต่ศาสต่ร�จะเร ยกว(า เวกเต่อร� (Vector) ข�อม�ลม ลกษณะเป.น์ 1 ม�ต่� เชิ(น์ อาเรย�, สแต่ก, ค�ว, ล�สต่�

ประเภทของโครงสร�างข�อม�ล

Page 7: Data Structure

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

Page 8: Data Structure

8

ประเภทของโครงสร�างข�อม�ล

D(1)

D(2)

D(3)

D(4)

D(5)

ค�ว (queue)

โครงสร�างของล�สต่�

InOut

D1 D2 D3 Dn

Header

ล�สต่'

Page 9: Data Structure

2. โครงสร�างข�อม�ลแบบไม(เชิ�งเส�น์ (Non-Linear Structure) โครงสร�างท !ไม(ม ค/ณสมบต่�ของเชิ�งเส�น์ สามารถ้ใชิ�แสดงความสมพน์ธ์�ของข�อม�ลท !ซับซั�อน์ได�มากกว(าโครงสร�างข�อม�ลแบบเชิ�งเส�น์ เชิ(น์ ทร กราฟ

ประเภทของโครงสร�างข�อม�ล

Page 10: Data Structure

ใน์การเล)อกใชิ�โครงสร�างข�อม�ลแบบใดน์3น์จะต่�องค+าน์4งถ้4ง•1. โครงสร�างของข�อม�ลน์3น์สามารถ้สร�าง

ความสมพน์ธ์�ให�กบชิ/ดข�อม�ลน์3น์ ได�อย(างสมบ�รณ�ท !ส/ด

•2. โครงสร�างน์3น์ต่�องง(ายต่(อการด+าเน์�น์การใน์ระบบ

Page 11: Data Structure

ความหมายอลกอร�ธ์4ม•อ�ลก็อริ�ธ์�มู (Algorithms) หมูายถึ�ง ก็าริอธ์�บายข้�/น

ต่อนก็าริท็.างานข้องโป็ริแก็ริมูท็-�จะพั�ฒนาข้�/น ซึ่��งผ่�านก็าริว�เคริาะห'และแยก็แยะงาน เพั��อแก็�ป็9ญหาใด้ป็9ญหาหน��ง โด้ยอธ์�บายอย�างเป็�นล.าด้�บข้�/นต่อน ให�ผ่��เป็�นเจ�าข้องหริ�อผ่��ริ �บผ่�ด้ชิอบได้�ต่ริวจสอบความูถึ�ก็ต่�องในแต่�ละข้�/นต่อนข้องโป็ริแก็ริมูได้� โด้ยท็-�ผ่��เป็�นเจ�าข้องหริ�อผ่��ริ �บผ่�ด้ชิอบไมู�จ.าเป็�นต่�องเข้-ยนโป็ริแก็ริมู (ว*ฒ�พังษ' เข้��อนด้�น, โคริงสริ�างข้�อมู�ลและอ�ลก็อริ�ท็�มู, หน�า 3)

•อ�ลก็อริ�ธ์�มู หมูายถึ�ง ล.าด้�บข้�/นต่อนว�ธ์-ในก็าริท็.างานข้องโป็ริแก็ริมูเพั��อแก็�ป็9ญหาใด้ป็9ญหาหน��ง ซึ่��งถึ�าป็ฏิ�บ�ต่�ต่ามูข้�/นต่อนอย�างถึ�ก็ต่�องแล�ว จะต่�องสามูาริถึชิ�วยแก็�ป็9ญหาหริ�อป็ริะมูวลผ่ลต่ามูต่�องก็าริได้�ส.าเริ�จ

Page 12: Data Structure

อลกอร�ธ์4ม• ในก็าริเข้-ยนอธ์�บายอ�ลก็อริ�ธ์�มูสมูาริถึเข้-ยนได้�หลายแบบ

เชิ�น ในริ�ป็ข้อง Flow Chart, Pseudo และภาษา คอมูพั�วเต่อริ' แต่�ในป็9ญหาเด้-ยวก็�นเริาสามูาริถึค�ด้อ�ลก็อ

ริ�ธ์�มูเพั��อมูาแก็�ป็9ญหาได้�หลายแบบ ซึ่��งในแต่�ละแบบเคริ��อง คอมูพั�วเต่อริ'ก็�จะใชิ�หน�วยความูจ.า และเวลาในก็าริป็ริะมูวล

ผ่ลไมู�เท็�าก็�น ด้�งน�/น ก็าริเป็ริ-ยบเท็-ยบว�าโป็ริแก็ริมูคอมูพั�วเต่อริ'ใคริเก็�งก็ว�าก็�นน�/นจ�งใชิ�ในก็าริเป็ริ-ยบเท็-ยบป็ริะส�ท็ธ์�ภาพัข้องอ�ลก็อริ�ธ์�มูน��งเอง

Page 13: Data Structure

13

พ)3น์ฐาน์ทางคณ�ต่ศาสต่ร� (con.)เน�/อหาด้�านอ�ลก็อริ�ธ์�มูส'จ.าเป็�นต่�องใชิ�พั�/นฐานท็างคณิ�ต่ศาสต่ริ' โด้ย

ส�วนใหญ�จะเน�นไป็ท็-�หล�ก็ก็าริข้อง Discrete Mathematic โด้ยห�วข้�อท็-�ยก็

มูาน-/จะเป็�นเพั-ยงส�วนหน��งท็-�มู-ก็าริใชิ�งานก็�นบ�อยๆ ซึ่��งป็ริะก็อบไป็ด้�วย

- เลข้ยก็ก็.าล�งและฟั9งก็'ชิ� �น Exponential- ฟั9งก็'ชิ� �น Logarithm- ฟั9งก็'ชิ� �น Factorial- ก็าริ Modular

Page 14: Data Structure

14

พ)3น์ฐาน์ทางคณ�ต่ศาสต่ร� (con.) เลขยกก+าลงและฟ6งก�ชิ!น์ Exponential ความูส�มูพั�นธ์'ท็-�เก็-�ยวข้�องก็�นข้องเลข้ยก็ก็.าล�งก็�บฟั9งก็'ชิ� �น Exponential

ค�อ ฟั9งก็'ชิ� �น Exponential เป็�นส�วนหน��งข้องเลข้ยก็ก็.าล�ง และมู-ค*ณิสมูบ�ต่�

หลายข้�อท็-�ต่�องอาศ�ยพั�/นฐานข้องเลข้ยก็ก็.าล�งมูาเป็�นองค'ป็ริะก็อบ

Page 15: Data Structure

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

Page 16: Data Structure

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

Page 17: Data Structure

17

พ)3น์ฐาน์ทางคณ�ต่ศาสต่ร� (con.) 1.6 a-x = 1/ax

1.7 a0 = 12. ax = ay ก็�ต่�อเมู��อ x = y3. ถึ�า x≠0 แล�ว ax = by ก็�ต่�อเมู��อ a =

b

Page 18: Data Structure

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 ”

Page 19: Data Structure

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

Page 20: Data Structure

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

Page 21: Data Structure

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

Page 22: Data Structure

22

พ)3น์ฐาน์ทางคณ�ต่ศาสต่ร� (con.)

การ Modular ก็าริ Modular จะคล�ายก็�นก็�บก็าริหาริ (Division) แต่�จะแต่ก็ต่�างจาก็

ก็าริหาริต่ริงท็-�ผ่ลล�พัธ์'ข้องก็าริค.านวณิ โด้ยท็-� Modular เป็�นเศษท็-�เหล�อจาก็

ก็าริหาริ ก็.าหนด้ให� a เป็�นจ.านวนเต่�มู และ m เป็�นจ.านวนเต่�มูบวก็แล�วค�า a mod n มู-ค�าเท็�าก็�บเศษท็-�เหล�อจาก็ก็าริหาริ a ด้�วย m

Page 23: Data Structure

23

ล+าดบและอน์/กรมล+าดบ (Sequence) ค�อ ฟั9งก็'ชิ� �นท็-�มู-โด้เมูนเป็�นเซึ่ต่ข้องจ.านวนเต่�มูบวก็

เข้-ยนแท็นด้�วย n แบ�งเป็�น 2 ป็ริะเภท็ ค�อ1. ล.าด้�บจ.าก็�ด้ ค�อ ล.าด้�บท็-�มู-โด้เมูนเป็�นเซึ่ต่ข้องจ.านวนเต่�มูบวก็ n ต่�ว

แริก็ เชิ�น 1, 2, 3, 4, …, n2. ล.าด้�บอน�นต่' (Infinite Sequence) ค�อ ล.าด้�บท็-�มู-โด้เมูนเป็�นเซึ่ต่ข้อง

จ.านวนเต่�มูบวก็ จนก็ริะท็��งถึ�งอน�นต่' เชิ�น 1, 2, 3, 4, … (ไมู�ท็ริาบพัจน'

ส*ด้ท็�าย)

Page 24: Data Structure

24

ล+าดบและอน์/กรม (con.)อน์/กรม (Series) ค�อ ผ่ลริวมูข้องพัจน'ท็*ก็พัจน'ข้องล.าด้�บน�/นๆ ใชิ�

ส�ญล�ก็ษณิ' ∑

ต่�วก็าริแท็นส�ญล�ก็ษณิ'เข้-ยนได้�ด้�งน-/

1+2+3+4+…+n = ∑ i = ∑ n

Page 25: Data Structure

25

รหส Pseudoริห�ส Pseudo จะมู-ล�ก็ษณิะคล�ายภาษาอ�งก็ฤษ ก็./าก็��งริะหว�างภาษา

อ�งก็ฤษก็�บภาษาคอมูพั�วเต่อริ'ใชิ�ในก็าริอธ์�บายล�ก็ษณิะโคริงสริ�างข้�อมู�ล

และก็าริท็.างานข้องอ�ลก็อริ�ธ์�มูส'ท็-�เริาเข้-ยนข้�/นOpen filelinesPrint = 0Loop (not end of file)

read fileif (full page)

from feedadd 1 to PageNumberWrite page heading

write report line

Page 26: Data Structure

ผังงาน์ (Flowchart)

• ผ่�งงาน (flowchart) ค�อ แผ่นภาพัซึ่��งแสด้งล.าด้�บข้�/น ต่อนข้องก็าริท็.างาน โด้ยแต่�ละข้�/นต่อนจะถึ�ก็แสด้งโด้ยใชิ�

ส�ญล�ก็ษณิ'ซึ่��งมู-ความูหมูายบ�งบอก็ว�า ข้�/นต่อนน�/น ๆ มู- ล�ก็ษณิะก็าริท็.างาน ท็.าให�ง�ายต่�อความูเข้�าใจ ว�าในก็าริ

ท็.างานน�/นมู-ข้�/นต่อนอะไริบ�าง และมู-ล.าด้�บอย�างไริ

Page 27: Data Structure

ประโยชิน์�ของผังงาน์•ชิ�วยให�สามูาริถึท็.าความูเข้�าใจล.าด้�บข้�/นต่อนก็าริท็.างาน

ข้องโป็ริแก็ริมูหริ�อริะบบใด้ ๆได้�อย�างริวด้เริ�ว• ชิ�วยแสด้งล.าด้�บข้�/นต่อนก็าริท็.างาน ท็.าให�สามูาริถึเข้-ยน

โป็ริแก็ริมูได้�อย�างเป็�นริะบบไมู�ส�บสน นอก็จาก็น-/ผ่�งงานย�ง เป็�นอ�สริะต่�อภาษาท็-�ใชิ�ในก็าริ เข้-ยนโป็ริแก็ริมู ก็ล�าวค�อจาก็

ผ่�งงานเด้-ยวก็�นสามูาริถึน.าไป็เข้-ยนโป็ริแก็ริมูด้�วยภาษาใด้ก็�ได้�

Page 28: Data Structure

ประเภทของผังงาน์• ผังงาน์ระบบ (system flowchart)

▫เป็�นผ่�งงานท็-�แสด้งข้�/นต่อนก็าริท็.างานข้องริะบบงาน ท็�/งหมูด้อย�างก็ว�างๆ ผ่�งงานริะบบจะแสด้งความูส�มูพั�นธ์'

ริะหว�างก็าริท็.างาน เอก็สาริต่�างๆ แสด้งถึ�งก็าริไหลข้อง ข้�อมู�ล ว�ามู-ข้�อมู�ลอะไริบ�าง เอก็สาริอะไริบ�าง ส�งต่�อไป็

อย�างไริ มู-ก็าริป็ริะมูวลผ่ลอย��ต่ริงข้�/นไหน แต่�จะมูาแสด้งว�ธ์- ก็าริท็.างาน หริ�อข้�/นต่อนย�อยข้องแต่�ละงาน

Page 29: Data Structure

ประเภทของผังงาน์• ผ่�งงานโป็ริแก็ริมู (Program flowchart)

▫เป็�นผ่�งงานซึ่��งแสด้งล.าด้�บข้�/นต่อนก็าริท็.างานข้องโป็ริแก็ริมู หน��ง ๆ

Page 30: Data Structure

ผังงาน์โปรแกรม (Program flowchart)

▫เป็�นผ่�งงานท็-�แสด้งข้�/นต่อนก็าริท็.างานข้องโป็ริแก็ริมู คอมูพั�วเต่อริ'อย�างละเอ-ยด้ เริ��มูต่�/งแต่�ก็าริน.าเข้�าข้�อมู�ลมูาใน

เคริ��องคอมูพั�วเต่อริ' ก็าริป็ริะมูวลผ่ลข้�อมู�ล โด้ยแสด้งส�ต่ริ ต่�างๆ ท็-�ใชิ�ในก็าริค.านวณิ ต่ลอด้จนก็าริเป็ริ-ยบเท็-ยบเง��อนไข้

ก็าริก็.าหนด้ให�วนริอบก็าริท็.างาน และก็าริแสด้งผ่ลล�พัธ์'ท็-�ได้� จาก็ก็าริป็ริะมูวลผ่ล ซึ่��งผ่�งงานโป็ริแก็ริมูน-/ จะท็.าให�

โป็ริแก็ริมูเมูอริ' (Programmer) สามูาริถึน.าไป็ใชิ�ในก็าริเข้-ยนโป็ริแก็ริมูได้�อย�างสะด้วก็ริวด้เริ�ว

Page 31: Data Structure

สญลกษณ�ท !ใชิ�ใน์การเข ยน์ผังงาน์(FLOWCHATING SYMBOLS)

• ก็าริเข้-ยนผ่�งงาน เป็�นก็าริเข้-ยนแผ่นภาพัเพั��อแสด้งข้�/น ต่อนก็าริท็.างาน โด้ยน.าภาพัส�ญล�ก็ษณิ'ต่�าง ๆ มูาเริ-ยนต่�อ

ก็�น ส�ญล�ก็ษณิ'ท็-�น�ยมูใชิ�ในก็าริเข้-ยนผ่�งงานน�/นหน�วยงาน ท็-�ชิ��อว�า American National Standards

Institute (ANSI) และ International Standard Organization (ISO) ได้�ริ�วมูก็�นก็.าหนด้ส�ญล�ก็ษณิ'มูาต่ริฐานเพั��อใชิ�ในก็าริเข้-ยนผ่�งงานด้�งน-/

Page 32: Data Structure
Page 33: Data Structure
Page 34: Data Structure
Page 35: Data Structure
Page 36: Data Structure

หลกเกณฑ์�ใน์การเข ยน์ผังงาน์• ส�ญล�ก็ษณิ'ท็-�ใชิ�อาจมู-ข้นาด้ต่�างๆ ก็�นได้� แต่�จะต่�องมู-ริ�ป็

ริ�างเป็�นส�ด้ส�วนต่ามูมูาต่ริฐาน• ท็�ศท็างข้องล�ก็ศริในผ่�งงาน ควริมู-ท็�ศท็างจาก็บนลงล�าง

หริ�ออาจจาก็ซึ่�ายไป็ข้วาเสมูอ• ผ่�งงานคสริมู-ความูเริ-ยบริ�อย สะอาด้ พัยายามูหล-ก็เล-�ยง

ก็าก็ริเข้-ยนล�ก็ศริท็-�ท็.าให�เก็�ด้จ*ด้ต่�ด้ เพัริาะจะท็.าให�ผ่�งงาน อ�านและท็.าความูเข้�าใจได้�ยาก็ และถึ�าในผ่�งงานมู-ก็าริเข้-ยน

ข้�อความูอธ์�บายใด้ ๆ ควริท็.าให�ส�/นก็ะท็�ด้ริ�ด้และได้�ใจความู

Page 37: Data Structure

ลกษณะโครงสร�างของผังงาน์• ผ่�งงานท็��วไป็จะป็ริะก็อบด้�วยโคริงสริ�างพั�/นฐาน 3 ริ�ป็แบบ

ต่�อไป็น-/ค�อ▫1. โคริงสริ�างแบบเป็�นล.าด้�บ (sequence structure)▫2. โคริงสริ�างแบบมู-ก็าริเล�อก็ (selection structure)▫3. โคริงสริ�างแบบท็.าซึ่./า (iteration structure)

Page 38: Data Structure

โครงสร�างแบบเป.น์ล+าดบ (Sequence Structure)

โคริงสริ�างล�ก็ษณิะน-/เป็�น โคริงสริ�างพั�/นฐานข้องผ่�งงาน และเป็�นล�ก็ษณิะ

ข้�/นต่อนก็าริท็.างานท็-�พับมูาก็ท็-�ส*ด้ค�อท็.างานท็-ละข้�/นต่อนล.าด้�บ

Page 39: Data Structure

ต่วอย(างผังงาน์ท !ม โครงสร�างแบบเป.น์ล+าดบ

จาก็ต่�วอย�างผ่�งงานก็าริค.านวณิด้อก็เบ-/ยสามูาริถึอธ์�บายเป็�นข้�/นต่อนได้�ด้�งน-/1. เริ��มูต่�นก็าริท็.างาน2. ริ�บค�าเง�นต่�น และอ�ต่ริาด้อก็เบ-/ยเพั��อใชิ�ในก็าริค.านวณิหาด้อก็เบ-/ย3. ค.านวณิหาด้อก็เบ-/ยโด้ยใชิ�สมูก็าริต่�อไป็น-/

ด้อก็เบ-/ย = เง�นต่�น * อ�ต่ริาด้อก็เบ-/ย4. แสด้งค�าข้องด้อก็เบ-/ยซึ่��งค.านวณิได้�5. จบก็าริท็.างาน

Page 40: Data Structure

โครงสร�างแบบม ต่วเล)อก (Selection Structure)

โคริงสริ�างก็าริท็.างานแบบมู-ก็าริเล�อก็มู-ริ�ป็แบบท็-�ซึ่�บซึ่�อนก็ว�าโคริงสริ�างแบบเป็�นล.าด้�บริ�ป็แบบ ท็-�ง�ายท็-�ส*ด้ข้องโคริงสริ�างแบบน-/ค�อ ก็าริเล�อก็แบบมู-ท็างออก็ 2 ท็าง

ในก็าริเล�อก็แบบมู-ท็างออก็ 2 ท็าง น-/จะมู-ท็างออก็จาก็ส�ญล�ก็ษณิ'ก็าริต่�ด้ส�นใจเพั-ยง 2 ท็าง ค�อ ใชิ�หริ�อไมู�ใชิ� เท็�าน�/น ( แต่�ริะบบก็าริเข้-ยนผ่�งงานริะบบ อน*ญาต่ให�มู-ท็างออก็จาก็ก็าริต่�ด้ส�นใจ

ได้�มูาก็ก็ว�า 2 ท็าง)

Page 41: Data Structure

โครงสร�างการท+างาน์แบบม การเล)อก( Selection )• เป็�นโคริงสริ�างท็-�ใชิ�ก็าริต่ริวจสอบเง��อนไข้เพั��อก็าริท็.างานอย�างใด้

อย�างหน��ง โด้ยโคริงสริ�างแบบน-/จะมู-อย��ด้�วยก็�น 2 ริ�ป็แบบ ค�อIF - THEN - ELSE และ IF – THEN

• โคริงสริ�างแบบ IF - THEN - ELSE เป็�นโคริงสริ�างท็-�จะ ท็.าก็าริเป็ริ-ยบเท็-ยบเง��อนไข้ท็-�ใส�ไว�ในส�วนหล�งค.าว�า IF และเมู��อได้�

ผ่ลล�พัธ์'จาก็ก็าริเป็ริ-ยบเท็-ยบก็�จะเล�อก็ว�าจะท็.างานต่�อในส�วนใด้ ก็ล�าวค�อถึ�าเง��อนไข้เป็�นจริ�ง ( TRUE ) ก็�จะเล�อก็ไป็ท็.างานต่�อท็-�

ส�วนท็-�อย��หล�ง THEN แต่�ถึ�าเง��อนไข้เป็�นเท็�จ ( FALSE ) ก็�จะ ไป็ท็.างานต่�อในส�วนท็-�อย��หล�งค.าว�า ELSE

• แต่�ถึ�าส.าหริ�บโคริงสริ�างแบบ IF - THEN เป็�นโคริงสริ�างท็-�ไมู�มู- ก็าริใชิ� ELSE ด้�งน�/น ถึ�ามู-ก็าริเป็ริ-ยบเท็-ยบเง��อนไข้ท็-�อย��หล�ง IF

มู-ค�าเป็�นจริ�ง ก็�จะไป็ท็.าส�วนท็-�อย��หล�ง Then แต่�ถึ�าเง��อนไข้เป็�น เท็�จ ก็�จะไป็ท็.าค.าส��งท็-�อย��ถึ�ด้จาก็ IF - THEN แท็น

Page 42: Data Structure

ต่วอย(างผังงาน์ท !ม โครงสร�างแบบม การเล)อก

ผ่�งงานก็าริค.านวณิด้อก็เบ-/ยซึ่��งมู-อ�ต่ริาด้อก็เบ-/ย 2 อ�ต่ริา ค�อถึ�าเง�นต่�นน�อยก็ว�า 1 ล�านบาท็

จะค�ด้ด้อก็เบ-/ยด้�วยอ�ต่ริาริ�อยละ 4 แต่�ถึ�ามู-เง�นต่�นมูาก็ก็ว�า 1 ล�านบาท็

จะค�ด้ด้อก็เบ-/ยด้�วยอ�ต่ริาริ�อยละ 5

Page 43: Data Structure

•จาก็ผ่�งงานสามูาริถึอธ์�บายเป็�นข้�/นต่อนได้�ด้�งน-/▫1. เริ��มูต่�นก็าริท็.างาน▫2. ริ�บค�าเง�นต่�น▫3. พั�จาริณิาเง�นต่�นท็-�ริ �บค�าเข้�ามูามูาก็ก็ว�า 1 ล�านบาท็หริ�อ

ไมู�▫4. ถึ�าใชิ� ให�ค.านวณิด้อก็เบ-/ยในอ�ต่ริาริ�อยละ 5 ด้�งน�/น

ด้อก็เบ-/ย = เง�นต่�น * 0.05▫5. ถึ�าไมู�ใชิ� ให�ค.านวณิด้อก็เบ-/ยในอ�ต่ริาริ�อยละ 5 ด้�งน�/น

ด้อก็เบ-/ย = เง�นต่�น * 0.04▫6. แสด้งค�าด้อก็เบ-/ยท็-�ค.านวณิได้�▫7. จบก็าริท็.างาน

Page 44: Data Structure

โครงสร�างแบบท+าซั+3า (Iteration Structure)

โคริงสริ�างก็าริท็.างานแบบท็.าซึ่./า จะท็.างานแบบเด้-ยวก็�นซึ่./าไป็เริ��อย ๆ

ในข้ณิะท็-�ย�งเป็�นไป็ต่ามูเง��อนไข้หริ�อเง��อนไข้เป็�นจริ�งจนก็ริะท็�/งเง��อนไข้เป็�นเท็�จจ�งท็.างานอ��นต่�อไป็

Page 45: Data Structure

โครงสร�างการท+างาน์แบบม การท+างาน์ ซั+3า

• เป็�นโคริงสริ�างท็-�มู-ก็าริป็ริะมูวลผ่ลก็ล*�มูค.าส��งซึ่./าหลายคริ�/ง ต่ามูล�ก็ษณิะเง��อนไข้ท็-�ก็.าหนด้ อาจเริ-ยก็ ก็าริท็.างานซึ่./า

แบบน-/ได้�อ-ก็แบบว�า ก็าริวนล�ป็ ( Looping ) โคริงสริ�าง แบบก็าริท็.างานซึ่./าน-/จะมู-อย�� 2  ป็ริะเภท็ ค�อ

• DO WHILE • DO UNTIL

Page 46: Data Structure

DO WHILE 

• เป็�นโคริงสริ�างท็-�มู-ก็าริท็ด้สอบเง��อนไข้ก็�อน ถึ�าเง��อนไข้เป็�น จริ�งก็�จะเข้�ามูาท็.างานในก็ล*�มูค.าส��งท็-�ต่�องท็.าซึ่./า ซึ่��งเริ-ยก็ว�า

ก็าริเข้�าล�ป็ หล�งจาก็น�/นก็�จะย�อนก็ล�บไป็ต่ริวจสอบเง��อนไข้ ใหมู�อ-ก็ ถึ�าเง��อนไข้ย�งคงเป็�นจริ�งอย�� ก็�ย�งคงต่�องท็.าก็ล*�มู

ค.าส��งซึ่./าหริ�อเข้�าล�ป็ต่�อไป็อ-ก็ จนก็ริะท็��งเง��อนไข้เป็�นเท็�จ ก็� จะออก็จาก็ล�ป็ไป็ท็.าค.าส��งถึ�ด้ไป็ท็-�อย��ถึ�ด้จาก็ DO

WHILE หริ�ออาจเป็�นก็าริจบก็าริท็.างาน

Page 47: Data Structure

DO UNTIL

• เป็�นโคริงสริ�างก็าริท็.างานแบบท็.างานซึ่./าเชิ�นก็�น แต่�มู-ก็าริ ท็.างานท็-�แต่ก็ต่�างจาก็ DO WHILE ค�อจะมู-ก็าริเข้�า

ท็.างานก็ล*�มูค.าส��งท็-�อย��ภายในล�ป็ก็�อนอย�างน�อย 1 คริ�/ง แล�วจ�งจะไป็ท็ด้สอบเง��อนไข้ ถึ�าเง��อนไข้เป็�นเท็�จก็�จะมู-ก็าริ

เข้�าท็.าก็ล*�มูค.าส��งท็-�ต่�องท็.าซึ่./าอ-ก็ หล�งจาก็น�/นก็�จะย�อนก็ล�บ ไป็ต่ริวจสอบเง��อนไข้ใหมู�อ-ก็ ถึ�าเง��อนไข้ย�งคงเป็�นเท็�จอย�� ก็�

ย�งต่�องท็.าก็ล*�มูค.าส��งซึ่./าหริ�อเข้�าล�ป็ต่�อไป็อ-ก็ จนก็ริะท็��ง เง��อนไข้เป็�นจริ�ง จ�งจะออก็จาก็ล�ป็ไป็ท็.าค.าส��งถึ�ด้จาก็

UNTIL หริ�ออาจเป็�นก็าริจบก็าริท็.างาน

Page 48: Data Structure

ต่วอย(างผังงาน์ท !ม โครงสร�างแบบท+าซั+3า ผ่�ง งานก็าริค.านวณิยอด้บ�ญชิ- ( เง�นต่�นท็บด้อก็เบ-/ย )

Page 49: Data Structure

•จาก็ต่�วอย�างผ่�งงานสามูาริถึอธ์�บายเป็�นข้�/นต่อนได้�ด้�งน-/•1. เริ��มูต่�นก็าริท็.างาน•2. ริ�บค�าเง�นต่�น อ�ต่ริาด้อก็เบ-/ย และจ.านวนป็=ท็-�ฝาก็เง�น

ซึ่��งเป็�นข้�อมู�ลท็-�จ.าเป็�นในก็าริค.านวณิยอด้บ�ญชิ-(เง�นต่�นท็บ ด้อก็เบ-/ยต่ามูจ.านวนป็= ท็-�ฝาก็เง�น)

•3. ก็.าหนด้ให� n มู-ค�าเท็�าก็�บ 0 ในผ่�งงานน-/ n ค�อจ.านวนริอบข้องก็าริค�ด้ด้อก็เบ-/ย

•4. ก็.าหนด้ยอด้บ�ญชิ-เริ��มูต่�นให�เท็�าก็�บเง�นต่�นท็-�ริ �บค�าเข้�ามูา

Page 50: Data Structure

•5. เป็ริ-ยบเท็-ยบว�า n น�อยก็ว�าจ.านวนป็=ท็-�ฝาก็เง�นหริ�อไมู�▫5.1 ถึ�าใชิ�ให�ท็.าต่ามูข้�/นต่อนต่�อไป็น-/

ค.านวณิยอด้บ�ญชิ-ใหมู�โด้ยท็บด้อก็เบ-/ยเพั��มูเข้�าไป็จาก็ยอด้ บ�ญชิ-เด้�มูโด้ยใชิ�สมูก็าริต่�อไป็น-/ยอด้บ�ญชิ- = ยอด้บ�ญชิ- +

( ยอด้บ�ญชิ- * อ�ต่ริาด้อก็เบ-/ย) เพั��มูค�า n ไป็อ-ก็ 1 ก็ล�บไป็เป็ริ-ยบเท็-ยบเง��อนไข้ในข้�อ 5

▫5.2 ถึ�าไมู�ใชิ� แสด้งว�าค�ด้ด้อก็เบ-/ยท็บต่�นคริบต่ามูจ.านวนป็=ท็-�ฝาก็เง�นซึ่��งริ�บค�าเข้�ามูาแล�วให�ท็.าต่ามูข้�/นต่อนต่�อไป็น-/ แสด้งค�ายอด้บ�ญชิ-ส*ด้ท็�ายท็-�ค.านวณิได้� จบก็าริท็.างาน

Page 51: Data Structure

สร/ปข�อแต่กต่(างระหว(าง DO WHILE และDO UNTIL•ม ดงน์ 3

1. DO WHILE ในก็าริท็.างานคริ�/งแริก็จะต่�องมู-ก็าริ ต่ริวจสอบเง��อนไข้ก็�อนท็*ก็คริ�/ง ก็�อนท็-�จะมู-ก็าริเข้�ล�ป็ก็าริ

ท็.างาน2. DO UNTIL ก็าริท็.างานคริ�/งแริก็จะย�งไมู�มู-ก็าริต่ริวจ

สอบเง��อนไข้ แต่�จะเข้�าไป็ท็.างานในล�ป็ก็�อนอย�างน�อย 1 คริ�/งแล�วจ�งจะไป็ต่ริวจสอบเง��อนไข้3. DO WHILE จะมู-ก็าริเข้�าไป็ท็.างานในล�ป็ก็�ต่�อเมู��อ

ต่ริวจสอบเง��อนไข้แล�วพับว�า เง��อนไข้เป็�นจริ�ง แต่�เมู��อพับ ว�าเง��อนไข้เป็�นเท็�จ ก็�จะออก็จาก็ล�ป็ท็�นท็-

4. DO UNTIL จะมู-ก็าริเข้�าไป็ท็.างานในล�ป็ก็�ต่�อเมู��อ ต่ริวจสอบเง��อนไข้แล�วพับว�า เง��อนไข้เป็�นเท็�จ แต่�เมู��อพับ

ว�าเง��อนไข้เป็�นจริ�ง ก็�จะออก็จาก็ล�ป็ท็�นท็-

Page 52: Data Structure

ว�ธ์ การเข ยน์ผังงาน์ท !ด • ใชิ�ส�ญล�ก็ษณิ'ต่ามูท็-�ก็.าหนด้ไว�ท็-�เป็�นมูาต่ริฐาน•  เข้-ยนล.าด้�บข้�/นต่อนก็าริท็.างานอย�างเป็�นธ์ริริมูชิาต่�• เข้-ยนข้�อความูท็-�เก็-�ยวข้�องในก็ริอบส�ญล�ก็ษณิ'• ใชิ�จ*ด้เชิ��อมูต่�อแท็นเส�นเชิ��อมูโยงท็-�ไก็ลมูาก็ๆ• ก็ริอบส�ญล�ก็ษณิ'ท็*ก็ก็ริอบต่�องเชิ��อมูต่�อไป็หาจ*ด้จบ

Page 53: Data Structure
Page 54: Data Structure

แบบฝึ=กหด•1. ผ่�งงาน (Flowchart) ค�ออะไริ•2. อธ์�บายริ�ป็แบบผ่�งงานแบบเริ-ยงล.าด้�บ (Sequence)

แบบมู-เง��อนไข้ (Decision) และแบบท็.าซึ่./า (Loop)•3. ข้�/นต่อนก็าริท็.างานซึ่./าแบบ Do While และ Do until

ต่�างก็�นอย�างไริ จงอธ์�บาย•4. จงบอก็ป็ริะโยชิน'ข้องผ่�งงาน•5. จงเข้-ยนผ่�งงานก็าริต่�มูบะหมู-�ก็��งสาเริ�จริ�ป็•6. จงเข้-ยนผ่�งงานก็าริมูาเริ-ยนในว�นพั*ธ์ข้องต่�วเอง