50
อัลกอริทึมและผังงาน (Algorithm and Flowchart)

อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

อลกอรทมและผงงาน(Algorithm and Flowchart)

Page 2: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

กระบวนการพฒนาโปรแกรมคอมพวเตอรม 6 ขนตอน ดงน1. วเคราะหปญหา2. ออกแบบวธการแกปญหา3. เขยนโปรแกรม4. ทดสอบและแกไขโปรแกรม5. จดท าเอกสารประกอบ6. บ ารงรกษาโปรแกรม

อลกอรทมและผงงาน

Page 3: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

อลกอรทม (Algorithm) เปนสวนหนงในขนตอนการพฒนาโปรแกรมคอมพวเตอร เพอใหคอมพวเตอรท างานตามทตองการหรอแกปญหาใด ๆ ประกอบดวยชดของขนตอนการท างานทชดเจนและเกดจากแนวคดอยางมระบบ เพอน าไปสผลลทธทตองการ

ความหมายอลกอรทม

Page 4: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

1. มความถกตองแมนย า2. แตละขนตอนในอลกอรทมเขยนใหเขาใจงาย3. ควรมการออกแบบอลกอรทมใหมระดบชน โดยประกอบขนตอนการท างานหลก ในแตละขนตอนสามารถแตกเปนขนตอนยอย ๆ

ลกษณะของอลกอรทมทด

Page 5: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

1. ดานหนวยความจ าตวอยางการก าหนดคาใหกบตวแปร

ความรพนฐานส าหรบการเขยนอลกอรทม

Page 6: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

2. ดานการค านวณล าดบความส าคญของสญลกษณหรอเครองหมายการค านวณ

ความรพนฐานส าหรบการเขยนอลกอรทม

Page 7: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม
Page 8: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

3. ดานการเปรยบเทยบ

Page 9: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม
Page 10: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

1. การเขยนรหสจ าลอง (Pseudo Code)2. การเขยนผงงาน (Flowchart)

วธการเขยนอลกอรทม

การเขยนรหสจ าลองคอ ค าสงหรอสญลกษณทนยมใชในการเขยนรหสจ าลองโดยใชขอความเปนประโยคภาองกฤษงาย ๆ อธบายแทน ซงประกอบดวยค าสงตาง ๆ ทใกลเคยงกบภาษาคอมพวเตอรทใชในการเขยนโปรแกรมจรง ๆ เชน begin..end, if..else, do.. while,For, read, print เปนตน

Page 11: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ตวอยาง 1 ก าหนดใหมการรบขอมลคะแนนเกบ คะแนนสอบกลางภาค และคะแนนสอบปลายภาค แลวแสดงเกรดทได โดยมเกณฑในการคดเกรดดงน

คะแนนรวม 0 – 49 เกรด Fคะแนนรวม 50 – 59 เกรด Dคะแนนรวม 60 – 69 เกรด Cคะแนนรวม 70 – 79 เกรด Bคะแนนรวม 80 ขนไป เกรด A

Page 12: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ก ำหนดตวแปรcollect = คะแนนเกบmid = คะแนนสอบกลางภาคfinal = คะแนนสอบปลายภาคtotal = คะแนนรวมgrade = เกรดทได

รหสจ ำลองAlgorithm Calculate GradeBegin

read collect, mid, finaltotal = collect + mid + finalif total between 0 to 49 then

grade = “F”else if total between 50 to 59 then

grade = “D”else if total between 60 to 69 then

grade = “C”else if total between 70 to 79 then

grade = “B”else grade = “A”print grade

End

Page 13: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ตวอยาง 2 ก าหนดใหมการรบขอมลเลขจ านวนเตมบวก โดยก าหนดใหปอนขอมลไดเรอยๆ จนกวาจะปอนขอมลทมคาเทากบ 0 จงสนสดการปอนขอมล แลวแสดงผลรวมของ เลขทงหมดทปอน

ก ำหนดตวแปรnumber = เลขจ านวนเตมsum = ผลรวมของเลขทปอน

รหสจ ำลองAlgorithm SummationBegin

sum = 0do

read numbersum = sum + number

while number not equal to 0print sum

End

Page 14: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ผงงาน (Flowchart) คอแผนภาพหรอสญลกษณทใชแสดงล าดบหรอขนตอนในการแกปญหาโปรแกรม เพอบอกลกษณะการท างานในขนตอนตาง ๆ โดยมการเชอมโยงดวยลกศร

การเขยนผงงาน

ประเภทของผงงาน

1. ผงงานระบบ (System Flowchart)2. ผงงานโปรแกรม (Program Flowchart)

Page 15: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ตวอยางผงงานระบบ (System Flowchart)

100

ผงงานระบบของการค านวณพนทสเหลยม 100 รป

Page 16: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ตวอยางผงงานโปรแกรม (Program Flowchart)

100

= X

ผงงานโปรแกรมของการค านวณพนทสเหลยม 100 รป

Page 17: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

1. สามารถเรยนรและท าความเขาใจโปรแกรมไดงาย2. สอความหมายดวยภาพท าใหงาย และสะดวกตอการพจารณาล าดบขนตอนในการท างาน

3. ตรวจสอบความถกตองของล าดบขนตอนในการท างานในโปรแกรม

4. ท าใหเกดความสะดวก รวดเรวในการท างาน5. สะดวกในการปรบปรงแกไขกอนการแกไขโปรแกรม

ประโยชนของผงงาน

Page 18: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

1. เปนการสอความหมายบคคลตอบคคลเทานน2. ไมสามารถทราบไดวาขนตอนใดมความส าคญมากกวากน3. อาจเปนการสนเปลอง เพราะตองใชวสดอน ๆ ประกอบในการเขยน4. ผงงานจะมขนาดใหญ ถาโปรแกรมทพฒนาเปนงานขนาดใหญ5. ผงงานบอกขนตอนการท างาน แตไมไดระบวาท าไมตองเปนเชนนน

ขอจ ากดของผงงาน

Page 19: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

1. เปนการสอความหมายบคคลตอบคคลเทานน2. ไมสามารถวาขนตอนใดมความส าคญมากกวากน3. อาจเปนการสนเปลอง เพราะตองใชวสดอน ๆ ประกอบในการเขยน

4. ผงงานบอกขนตอนการท างาน แตไมไดระบวาท าไมตองเปนเชนนน

ขอจ ากดของผงงาน

Page 20: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

โดยใชสญลกษณของ American National Standard Institute (ANSI)และ International Standard Organization (ISO) ก าหนดดงน

สญลกษณทใชในการเขยนผงงาน

Page 21: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

สญลกษณทใชในการเขยนผงงาน

/

/

/

/

/

/

/

/

/

Page 22: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

1. จดเรมตน/สนสด

2. การก าหนดคาเรมตน (Initialize)

3. การรบขอมล (Input)

4. การประมวลผล (Process)

หลกเกณฑในการเขยนผงงาน

Page 23: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

5. การแสดงผลลพธ (Output)

6. การทดสอบ (Testing)

หลกเกณฑในการเขยนผงงาน

Price > 5000Discount = Price *

0.10

Discount = Price * 0.05

True

False

Page 24: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

1. เรมจากสวนบนของกระดาษมายงสวนลาง และจากทางซายมอไปขวามอของหนากระดาษ

2. ใชรปแบบตามมาตรฐานทก าหนด3. ทศทางของผงงานควรเปนไปอยางมระบบ4. ควรเขยนค าอธบายภายในสญลกษณเพยงสน ๆ เขาใจงาย5. มความเปนระเบยบเรยบรอย สะอาด และมชอของผงงาน

หลกเกณฑการใชสญลกษณและทศทางของผงงาน

Page 25: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

การเขยนผงงานโปรแกรมค านวณราคาสนคาของพนกงานขาย ก าหนดใหรบขอมลสนคาไมจ ากด โดยใหรบราคาเปน 0 หากปอนขอมลครบแลวก ำหนดตวแปร

Price = ราคาสนคา Qty = จ านวนทซอTotal = ราคารวมสนคาแตละรายการ Sum = ราคารวมสนคาทงหมดCash = จ านวนเงนทรบมา Change = เงนทอน

Page 26: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ผงงานStart

Read Price, Qty

Price != 0

Total = Price * QtySum = Sum + Total

Print Sum

A

A

True

False

Read Cash

Change = Cash - Sum

Print Change

Print Sum, Cash, Change

End

Sum = 0

Print Price, Qty, Total

Page 27: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

1. โครงสรางแบบล าดบ (Sequential Structure)

โครงสรางของผงงาน

โครงสรางแบบล าดบ

Page 28: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ตวอยาง ก าหนดใหมการรบขอมลเปนความกวางและความยาวของสเหลยมผนผา แลวค านวณพนทพรอมทงแสดงผลลพธก ำหนดตวแปร

Width = ความกวาง Length = ความยาว Area = พนทผงงำน Start

End

Read Width, Length

Area = Width * Length

Print Area

อธบำยขนตอนกำรท ำงำน

1. รบขอมล Width และ Length2. ค านวณ Area = Width * Length3. แสดงผลลพธ Area

ผงงานการค านวณพนทสเหลยมผนผา

Page 29: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ตวอยาง ก าหนดใหมการรบคารศมของวงกลม แลวแสดงผลลพธเปนพนททค านวณไดก ำหนดตวแปร

Radius = รศมวงกลมArea = พนทวงกลมก ำหนดคำคงท

PI = 3.1416

ผงงำน

ผงงานการค านวณพนทวงกลม

อธบำยขนตอนกำรท ำงำน1. ก าหนดคาคงท PI = 3.14162. รบขอมล Radius3. ค านวณ Area = PI * Radius^24. แสดงผลลพธ Area

Page 30: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ตวอยาง ก าหนดใหมการรบขอมลเปนราคาสนคา แลวค านวณราคาสทธหลงจากคดภาษมลคาเพม 7 % จากนนใหมการรบขอมลเปนจ านวนเงนทจายแลวค านวณเงนทอนพรอมทงแสดงผลลพธก ำหนดตวแปร

Price = ราคาสนคา Vat = ภาษมลคาเพม Net = ราคาสทธหลงคดภาษมลคาเพมPay = จ านวนเงนทจาย Change = เงนทอน

Page 31: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ผงงำน

ผงงานการค านวณราคาสนคาและเงนทอน

อธบำยขนตอนกำรท ำงำน1. รบขอมล Price2. ค านวณ Vat = Price * 0.073. ค านวณ Net = Price + Vat4. แสดงผลลพธ Vat และ Net5. รบขอมล Pay6. ค านวณ Change = Pay – Net7. แสดงผลลพธ Change

Vat = Price * 0.07

Net = Price + Vat

Change = Pay - Net

Start

End

Read Price

Print Vat, Net

Read Pay

Print Change

Page 32: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

2. โครงสรางแบบทางเลอก (Selection Structure)

โครงสรางของผงงาน

ConditionTrueFalse

โครงสรางแบบทางเลอก

Page 33: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ตวอยาง ก าหนดใหมการรบคาเงนฝาก การค านวณดอกเบยม 2 อตรา ถาเงนฝากตงแต 1 ลานบาทเปนตนไป คดอตราดอกเบย 2.5% แตถาเงนฝากต ากวา 1 ลานบาท คดอตราดอกเบย 1.0% แลวแสดงผลลพธดอกเบยเงนฝากทไดก ำหนดตวแปร

Deposit = เงนฝาก Interest = ดอกเบยทได

Page 34: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ผงงำน

ผงงานการค านวณดอกเบยเงนฝาก

Deposit >=

1,000,000

Interest = Deposit * 0.25

TrueFalse

Interest = Deposit * 0.10

Start

Read Deposit

Print Interest

End

อธบำยขนตอนกำรท ำงำน1. รบขอมล Deposit2. พจารณาเงอนไข : ถา Deposit >= 1000000

2.1 จรง : ค านวณ Interest = Deposit * 0.252.2 เทจ : ค านวณ Interest = Deposit * 0.10

3. แสดงผลลพธ Interest

Page 35: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ตวอยาง ก าหนดใหมการรบขอมลราคาสนคา แลวค านวณสวนลดทไดรบโดยมเงอนไขวา ถาราคาสนคาไมเกน 3,000 บาท ใหสวนลด 5% ถาราคามากกวา 3,000 บาท ใหสวนลด 10% พรอมแสดงผลลพธ

Price <= 3000

Discount = Price * 0.05

TrueFalse

Discount = Price * 0.10

Start

Read Price

Print Discount

End

อธบำยขนตอนกำรท ำงำน1. รบขอมล Price2. พจารณาเงอนไข : ถา Price <= 3000

2.1 จรง : ค านวณ Discount = Price * 0.052.2 เทจ : ค านวณ Discount = Price * 0.10

3. แสดงผลลพธ Discount

ก ำหนดตวแปรPrice = ราคาสนคาDiscount = สวนลด

ผงงำน

Page 36: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ตวอยาง ก าหนดใหมการรบคาชวโมงทท างาน แลวแสดงผลลพธคาแรงทได การค านวณคาแรงมเกณฑดงน

ท างานไมเกน 3 ชวโมง คาแรงชวโมงละ 50 บาทท างาน 4-6 ชวโมง คาแรงชวโมงละ 70 บาทท างาน 7 ชวโมงเปนตนไป คาแรงชวโมงละ 90 บาท

ก ำหนดตวแปร

Hour = ชวโมงทท างาน Money = คาแรงทได

Page 37: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ผงงำน

ผงงานการค านวณคาแรง

Start

Read Hour

Hour <= 3

Hour <= 6

Money = Hour * 50

Money = Hour * 70

Money = Hour * 90

Print Money

End

True

True

False

False

อธบำยขนตอนกำรท ำงำน1. รบขอมล Hour2. พจารณาเงอนไขท 1 : ถา Hour <= 3

2.1 จรง : ค านวณ Money = Hour * 502.2 เทจ : พจารณาเงอนไขท 2 : ถา Hour <= 6

2.2.1. จรง : ค านวณ Money = Hour * 702.2.2. เทจ : ค านวณ Money = Hour * 90

3. แสดงผลลพธ Money

Page 38: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ตวอยาง ก าหนดใหมการรบขอมลอายและความสง แลวแสดงผลลพธคาบตรผานประตสวนสนก โดยมเกณฑในการคดดงน

Page 39: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ผงงำน

ผงงานการค านวณคาบตรผานประต

Start

Read Age,

Height

Age <= 12 and

Height <= 120

Age <= 12 and

Height > 120

Ticket = 0

Ticket = 10

Ticket = 20

Print

Money

End

True

True

False

False

Age <= 20

Ticket = 30

True

False

อธบำยขนตอนกำรท ำงำน1. รบขอมล Age, Height2. พจารณาเงอนไขท 1 : ถา Age <= 12 และ Height <= 120

2.1 จรง : Ticket = 02.2 เทจ : พจารณาเงอนไขท 2 : ถา Age <= 12 และ

Height > 1202.1.1. จรง : Ticket = 102.2.2. เทจ : พจารณาเงอนไขท 3 : ถา Age <= 20

2.2.2.1. จรง : Ticket = 202.2.2.2. เทจ : Ticket = 30

3. แสดงผลลพธ Ticket

Page 40: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

3. โครงสรางแบบการท าซ า (Iteration Structure)

โครงสรางของผงงาน

โครงสรางแบบการท าซ า

Condition

Condition

True

True

False

False

1 2

Page 41: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ตวอยาง ก าหนดใหมการรบขอมลเงนฝาก จ านวนปทฝาก อตราดอกเบย (รอยละ) แลวแสดงเงนคงเหลอในบญชเมอครบจ านวนปทก าหนด (มการค านวณดอกเบยทบตน)ก ำหนดตวแปร

Deposit = เงนฝากYear = จ านวนปทฝากRate = อตราดอกเบยBalance = เงนคงเหลอในบญชN = ตวแปรส าหรบนบจ านวนปทผานไป

Page 42: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ผงงำน

ผงงานการค านวณเงนคงเหลอในบญช

Start

Read Deposit, Year, Rate

N = 0Balance = Deposit

N < YearBalance = Balance + (Balance * Rate/100)

N = N + 1

Print Balance

End

True

False

0

Page 43: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

อธบำยขนตอนกำรท ำงำน

สมมตมการรบคา Deposit = 1,000 Year = 4 Rate = 3ก าหนดคาเรมตน N = 0 Balance = Deposit = 1,000

Page 44: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ตวอยาง ก าหนดใหมการรบขอมลคะแนนสอบของนกเรยน 10 คน แลวค านวณคะแนนรวมและคะแนนเฉลยพรอมทงแสดงผลลพธก ำหนดตวแปร

Score = คะแนนสอบTotal = คะแนนรวมAverage = คะแนนเฉลยCount = ตวนบล าดบทของนกเรยน

Page 45: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ผงงำน

ผงงานการค านวณคะแนนรวมและคะแนนเฉลยของนกเรยน 10 คน

Start

Total = 0, Count = 1

Count <= 10 Read ScoreTotal = Total + Score

Count = Count + 1

Average = Total / 10

Print Total,

Average

End

True

False

อธบำยขนตอนกำรท ำงำน1. ก าหนดคาเรมตน Total = 0 และ Count = 12. พจารณาเงอนไข : ถา Count <= 10

2.1 จรง : ใหท าค าสงตอไปน 2.1.1. รบขอมล Score2.1.2. ค านวณคะแนนรวม Total = Total + Score2.2.3. เพมคาตวนบ Count = Count + 12.1.4. กลบไปท าขอ 2. ซ า

2.2 เทจ : ออกไปท าขอ 3.3. ค านวณ Average = Total / 104. แสดงผลลพธ Total และ Average

Page 46: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ตวอยาง บรษท สยามมงคง จ ากด ผลตสนคาสงออกได 2,000 ชนตอป ในแตละปมก าลงการผลตเพมขนปละ 365 ชน ใหค านวณและแสดงผลลพธวาใชเวลากปบรษท สยามมงคง จ ากด จงจะผลตสนคาสงออกไดมากกวา 5,000 ชนตอปก ำหนดตวแปร

Product = จ านวนสนคาทผลตสงออกYear = นบจ านวนป

Page 47: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ผงงำน

ผงงานการค านวณจ านวนป

Start

Product = 2000

Year = 0

Product <= 5000

Product = Product + 365

Year = Year + 1

Print Year

End

True

False

อธบำยขนตอนกำรท ำงำน1. ก าหนดคาเรมตน Product = 2000 และ Year = 02. ใหท าค าสงตอไปน

2.1 ค านวณ Product = Product + 3652.2 นบจ านวนปเพมขน Year = Year + 12.3 พจารณาเงอนไข : ถา Product <= 5000

2.3.1. จรง : กลบไปท าขอ 2. ซ า2.3.2. เทจ : ออกไปท าขอ 3.

3. แสดงผลลพธ Year

Page 48: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ตวอยาง ก าหนดใหมการรบขอมลความสงของนกเรยนในหองเรยนแหงหนง โดยก าหนดใหปอนขอมลไดเรอยๆ จนกวาจะปอนความสงเปน 0 จงสนสดการปอนขอมล แลวแสดงความถของจ านวนนกเรยนทมความสงอยในชวงตางๆ พรอมทงแสดงผลลพธ

ก ำหนดตวแปรHeight = ความสงCount1 = ความถของนกเรยนทมความสงนอยกวาหรอเทากบ 149 ซม.Count2 = ความถของนกเรยนทมความสงในชวง 150 - 159 ซม.Count3 = ความถของนกเรยนทมความสงในชวง 160 - 169 ซม.Count4 = ความถของนกเรยนทมความสงในชวง 170 - 179 ซม.Count5 = ความถของนกเรยนทมความสง 180 ซม. ขนไป

Page 49: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

อธบำยขนตอนกำรท ำงำน1. ก าหนดคาเรมตน Count1, Count2, Count3, Count4, Count52. ท าค าสงตอไปน

2.1 รบขอมล Height2.2 พจารณาเงอนไขท 1 : ถา Height > 0 และ Height < 150

2.2.1. จรง : ค านวณ Count1 = Count1 + 12.2.2. เทจ : พจารณาเงอนไขท 2 : ถา Height >= 150 และ Height < 160

2.2.2.1. จรง : ค านวณ Count2 = Count2 + 12.2.2.2. เทจ : พจารณาเงอนไขท 3 : ถา Height >= 160 และ Height < 170

2.2.2.2.1. จรง : ค านวณ Count3 = Count3 + 12.2.2.2.2. เทจ : พจารณาเงอนไขท 4 : ถา Height >= 170 และ Height < 180

2.2.2.2.2.1. จรง : ค านวณ Count4 = Count4 + 12.2.2.2.2.2. เทจ : พจารณาเงอนไขท 4 : ถา Height >= 180

2.2.2.2.2.2.1. จรง : ค านวณ Count5 = Count5 + 12.3 พจารณาเงอนไข : ถา Height ไมเทากบ 0

2.3.1. จรง : กลบไปท าขอ 2. ซ า2.3.2. เทจ : ออกไปท าขอ 3.

3. แสดงผลลพธ Count1, Count2, Count3, Count4, Count5

Page 50: อัลกอริทึมและผังงาน (Algorithm and Flowchart)2. การเขียนผังงาน (Flowchart) วิธีการเขียนอัลกอริทึม

ผงงำน

ผงงานการค านวณความถของนกเรยนทมความสงในชวงตาง

Start

Count1 = 0, Count2 = 0, Count3 = 0,

Count4 = 0, Count5 = 0

Read Height

Height > 0 and Height < 150 Count1 = Count1 + 1

Height >= 150 and Height < 160 Count2 = Count2 + 1

True

False

True

Height >= 160 and Height < 170 Count3 = Count3 + 1

False

True

Height >= 170 and Height < 180 Count4 = Count4 + 1

False

True

Height >= 180 Count5 = Count5 + 1True

False

False

Height != 0

False

Print Count1, Count2,

Count3, Count4, Count5

End

True