Top Banner
กกกกกกกก กกกกกกกก กกกกกก กกกกกก กกกกกกกกก กกกกกกกกก กกกกกกกกกกกก กกกกกก กกกก กก.ก.(กกกกกกกก กกกกกกกกกกก) กก.ก.(กกก กกกกกกก)
65

ผังงาน

May 25, 2015

Download

Documents

Suda Sangtong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ผังงาน

การเขี�ยนผังการเขี�ยนผังงานเบื้ �องต้�นงานเบื้ �องต้�น

เกร�ยงศักดิ์�� จันทร�วงค์�วท.บื้.(ว�ทยาการค์อมพิ�วเต้อร� )

ศัษ.บื้.(ค์ณิ�ต้ศัาสต้ร�)

Page 2: ผังงาน

การเขี�ยนผังการเขี�ยนผังงานงาน(Flowcharting)(Flowcharting)

• ผังงาน หมายถึ#ง เค์ร $องม อท�$ช่&วยในการเขี�ยนโปรแกรม โดิ์ยเขี�ยนเป+นเค์ร $องหมายภาพิสญลักษณิ�แสดิ์งลั/าดิ์บื้ขี�นต้อนการท/างาน

• การเขี�ยนผังงาน เป+นการถึ&ายทอดิ์ค์วามเขี�าใจัท�$ไดิ์�จัากการว�เค์ราะห�งานให�อย2&ในร2ปภาพิหร อสญลักษณิ�

• ผั2�เขี�ยนโปรแกรมจัะสามารถึเขี�าใจัลั/าดิ์บื้ขี�นต้อนการเขี�ยนโปรแกรมไดิ์�อย&างรวดิ์เร3วแลัะง&ายขี#�น แลัะง&ายต้&อการต้รวจัสอบื้ค์วามถึ2กต้�องขีองลั/าดิ์บื้ขี�นต้อนในว�ธี�การประมวลัผัลั

Page 3: ผังงาน

การเขี�ยนผังการเขี�ยนผังงานงาน(Flowcharting)(Flowcharting)

• งานท5กช่น�ดิ์ท�$ม�การว�เค์ราะห�เป+นลั/าดิ์บื้ขี�นต้อนแลั�ว เราสามารถึน/ามาเขี�ยนผังงานไดิ์� แม�กระท$งงานท�$เก�$ยวขี�องกบื้ช่�ว�ต้ประจั/าวนขีองเราเอง

Page 4: ผังงาน

ต้วอย&างผังงานท$วไปต้วอย&างผังงานท$วไป((1/3)1/3)• แสดิ์งการโยน

เหร�ยญ 3 ค์ร�ง ถึ�าออกหว ผั2�โยนจัะไดิ์�เง�น 10 บื้าท ถึ�าออกก�อย ผั2�โยนจัะเส�ยเง�น 10 บื้าท

เร�$มต้�น

โยนเหร�ยญ

ผัลัการโยน

ไดิ์�เง�น 10 บื้าทเส�ยเง�น 10 บื้าท

ค์รบื้ 3 ค์ร�งหร อยง?

หย5ดิ์

หวก�อย

ยง

ค์รบื้

Page 5: ผังงาน

ต้วอย&างผังงานท$วไปต้วอย&างผังงานท$วไป(2/3)(2/3)• ผังงานแสดิ์งการ

เดิ์�นขี�ามถึนนท�$ม�สญญาณิไฟจัราจัร

เร�$มต้�น

รอสญญาณิไฟ

ไฟแดิ์งหร อไม&

เดิ์�นขี�ามถึนน

หย5ดิ์

ใช่&

ไม&ใช่&

Page 6: ผังงาน

ต้วอย&างผังงานต้วอย&างผังงานท$วไปท$วไป(3/3)(3/3)• ผังงานพิ�จัารณิาการใช่�

ยาต้ามฉลัากยาท�$ป8ดิ์ขี�างขีวดิ์ แยกต้ามขีนาดิ์การใช่�ดิ์งน��– อาย5ต้/$ากว&า 5 ป9 ห�ามรบื้

ประทาน– อาย5 - 5 7 ป9 ค์ร�งลัะ

1 เม3ดิ์– อาย5 - 8 14 ป9 ค์ร�ง

ลัะ 2 เม3ดิ์– อาย5 15 ป9ขี#�นไป ค์ร�ง

ลัะ 3 เม3ดิ์

เร�$มต้�น

อาย5ต้/$ากว&า 5 ป9 ห�ามรบื้ประทาน

อาย5 5 ป9ขี�นไป แต้&ไม&ถึ#ง 8 ป9 ค์ร�งลัะ 1 เม3ดิ์

อาย5 8 ป9ขี�นไปแต้&ไม&ถึ#ง 15 ป9 ค์ร�งลัะ 2 เม3ดิ์

ค์ร�งลัะ 3 เม3ดิ์

หย5ดิ์

ใช่&

ใช่&

ใช่&

ไม&ใช่&

ไม&ใช่&

ไม&ใช่&

Page 7: ผังงาน

ผังงานทางค์อมพิ�วเต้อร�ผังงานทางค์อมพิ�วเต้อร�ผังงานทางค์อมพิ�วเต้อร�แบื้&งออกเป+น 2 ประเภท ไดิ์�แก&

ผังงานระบื้บื้ (System flowchart)

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

Page 8: ผังงาน

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

flowchart)flowchart)• เป+นผังงานท�$แสดิ์งขี�นต้อนขีองค์/าส$งท�$ใช่�ในโปรแกรม

• ผังงานน��แยกย&อยมาจัากผังงานระบื้บื้ โดิ์ยผั2�เขี�ยนโปรแกรมจัะดิ์#งเอาแต้&ลัะจั5ดิ์ท�$เก�$ยวขี�องกบื้การประมวลัผัลัในค์อมพิ�วเต้อร�ท�$ปรากฏในผังงานระบื้บื้มาเขี�ยนแสดิ์งรายลัะเอ�ยดิ์ในการประมวลัผัลัอย&างเป+นลั/าดิ์บื้ขี�นต้อน เพิ $อน/าไปประกอบื้การเขี�ยนโปรแกรมต้&อไป

Page 9: ผังงาน

ต้วอย&างผังงานโปรแกรมต้วอย&างผังงานโปรแกรม• ผังงานแสดิ์งการ

ค์/านวณิพิ �นท�$สามเหลั�$ยมจั/านวน 100 ร2ป

เร�$มต้�น

รบื้ค์วามส2ง แลัะค์วามยาวฐานท�ลัะร2ป

ค์รบื้ 100 ร2ปแลั�วใช่&หร อไม&

ค์/านวณิพิ �นท�$= 0.5 * ฐาน * ส2ง

พิ�มพิ�พิ �นท�$สามเหลั�$ยมท�ลัะร2ป

จับื้

ไม&ใช่&

ใช่&

Page 10: ผังงาน

เปร�ยบื้เท�ยบื้ผังงานระบื้บื้แลัะผังเปร�ยบื้เท�ยบื้ผังงานระบื้บื้แลัะผังงานโปรแกรมงานโปรแกรมเร�$มต้�น

บื้นท#กค์วามส2งแลัะค์วามยาวฐานลังในดิ์�สก�

รบื้ค์วามส2ง แลัะค์วามยาวฐานขีองสามเหลั�$ยม 100 ร2ป

ดิ์�สก�ท�$บื้นท#กแลั�ว

ค์/านวณิพิ �นท�$ขีองสามเหลั�$ยม

พิ�มพิ�รายงานขีองพิ �นท�$สามเหลั�$ยม

จับื้

เร�$มต้�น

รบื้ค์วามส2ง แลัะค์วามยาวฐานท�ลัะร2ป

ค์รบื้ 100 ร2ปแลั�วใช่&หร อไม&

ค์/านวณิพิ �นท�$= 0.5 * ฐาน * ส2ง

พิ�มพิ�พิ �นท�$สามเหลั�$ยมท�ลัะร2ป

จับื้

ไม&ใช่&

ใช่&

ผังงานระบื้บื้

ผังงานโปรแกรม

Page 11: ผังงาน

สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(1/13)(1/13)

•การเขี�ยนผังงานเป+นการน/าเอาภาพิสญลักษณิ�ต้&าง ๆ มาเร�ยงต้&อกน เพิ $อแสดิ์งลั/าดิ์บื้ขี�นต้อนการท/างาน โดิ์ยม�เส�นลั2กศัรเช่ $อมระหว&างภาพิต้&างๆ

•สญลักษณิ�ในการเขี�ยนผังงานท�$น�ยมใช่�กนน�น เป+นสญลักษณิ�ขีองหน&วยงานท�$ช่ $อว&า American National Standard Institute (ANSI) แลัะ International Standard Organization (ISO) เป+นผั2�ก/าหนดิ์แลัะรวบื้รวมให�เป+นสญลักษณิ�มาต้รฐานในการเขี�ยนผังงาน

Page 12: ผังงาน

สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(2/13)(2/13)

สญลักษณิ�

ค์วามหมาย ต้วอย&างการใช่�

ค์/าอธี�บื้าย

การเร�$มต้�นหร อส��นส5ดิ์การเขี�ยนผังงาน(Terminal)

1 .เร�$มต้�นผังงาน

2. จับื้ผังงาน

รบื้ขี�อม2ลัหร อแสดิ์งขี�อม2ลัโดิ์ยไม&ระบื้5ส $อ(Input/output)

1 .รบื้ค์&าใส&ในต้วแปรช่ $อ name

2. แสดิ์งค์&าจัากต้วแปร area

START

STOP

read name

display area

Page 13: ผังงาน

สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(3/13)(3/13)

สญลักษณิ�

ค์วามหมาย ต้วอย&างการใช่�

ค์/าอธี�บื้าย

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

1 .ค์/านวณิ A + B แลัะเก3บื้ไว�ใน C

2 .ก/าหนดิ์ค์&า sum เท&ากบื้ 0

การเปร�ยบื้เท�ยบื้หร อต้วส�นใจั(Compare / Decision)

เปร�ยบื้เท�ยบื้ถึ�า i ม�ค์&า

น�อยกว&าหร อเท&ากบื้ 10

- เป+นจัร�ง พิ�มพิ�ค์&า i เสร3จัแลั�วไปท/าค์/าส$งอ $น ๆ

- เป+นเท3จั ไปท/าค์/าส$งอ $น ๆ

C = A + B

Sum = 0

i <= 10

true

false

แสดง i

Page 14: ผังงาน

สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(4/13)(4/13)

สญลักษณิ�

ค์วามหมาย ต้วอย&างการใช่�

ค์/าอธี�บื้าย

การแสดิ์งผัลัลัพิธี�ทางเค์ร $องพิ�มพิ�(Document)

พิ�มพิ�ค์&า A ทาง

เค์ร $องพิ�มพิ�

การแสดิ์งผัลัลัพิธี�ทางจัอภาพิ(Display)

แสดิ์งค์&า A, B

บื้นจัอภาพิ

print A

display A , B

Page 15: ผังงาน

สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(5/13)(5/13)

สญลักษณิ�

ค์วามหมาย ต้วอย&างการใช่�

ค์/าอธี�บื้าย

หมายเหต้5(Comment)รบื้ค์&าทางการกดิ์แป>นพิ�มพิ�(Manual Input)

รบื้ค์&า A ทางแป>นพิ�มพิ�

read A A = Age

read A

Page 16: ผังงาน

สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(6/13)(6/13)สญลักษ

ณิ�ค์วามหมาย ต้วอย&าง

การใช่�ค์/าอธี�บื้าย

การก/าหนดิ์ค์&าต้&างๆ ไว�ลั&วงหน�า(Preparation)

ก/าหนดิ์ให� i ม�ค์&าเท&ากบื้

1 แลัะเพิ�$มค์&าท�ลัะ 1

จันม�ค์&าเป+น 100 จั#งออก

จัากการท/างานซ้ำ/�า โดิ์ยแต้&ลัะรอบื้

บื้วกค์&า sum ดิ์�วยค์&า i

แสดิ์งท�ศัทางแลัะลั/าดิ์บื้ขีองการท/างาน(Flow line)

for i =1 to 100

sum = sum + i

i

Page 17: ผังงาน

สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(7/13)(7/13)

สญลักษณิ�

ค์วามหมาย ต้วอย&างการใช่�

ค์/าอธี�บื้าย

จั5ดิ์ต้&อเน $องในหน�าเดิ์�ยวกน(In-Page connector)

หลังจัากพิ�มพิ�ค์&า A

แลั�วให�ท/าต้ามท�$จั5ดิ์

ต้&อเน $อง A ซ้ำ#$งอย2&ใน

หน�าเดิ์�ยวกนจั5ดิ์ต้&อเน $องท�$อย2&ค์นลัะหน�า(Off-Page Connector)

หลังจัากก/าหนดิ์ค์&า A

เท&ากบื้ 3 ให�ท/าต้าม

จั5ดิ์ต้&อเน $องช่ $อ 1 ซ้ำ#$ง

ไม&ไดิ์�อย2&ในหน�าเดิ์�ยวกน

A

write A

A = 3

1

Page 18: ผังงาน

สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(8/13)(8/13)สญลักษ

ณิ�ค์วามหมาย ต้วอย&าง

การใช่�ค์/าอธี�บื้าย

การรบื้หร อแสดิ์งขี�อม2ลัโดิ์ยใช่�บื้ต้รเจัาะร2(Punch card)

1 .อ&านค์&า A ท�$บื้ต้รเจัาะร2 1 ใบื้

2 .เจัาะค์&า B,C บื้นบื้ต้ร 1 ใบื้

ช่5ดิ์ขีองบื้ต้รเจัาะร2(Card Desk)

เจัาะค์&า B1 , B2 , Bn

บื้นบื้ต้ร n ใบื้

read A

punch B , C

punch bi b=1 ,…n

Page 19: ผังงาน

สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(9/13)(9/13)

สญลักษณิ�

ค์วามหมาย ต้วอย&างการใช่�

ค์/าอธี�บื้าย

การรบื้หร อแสดิ์งขี�อม2ลัโดิ์ยใช่�เทปกระดิ์าษ(Punched tape)

อ&านค์&า ID , name

บื้นเทปกระดิ์าษ

การรบื้หร อแสดิ์งขี�อม2ลัโดิ์ยใช่�เทปแม&เหลั3กเป+นส $อ(Magnatic tape)

read ID , name

Page 20: ผังงาน

สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(10/13)(10/13)

สญลักษณิ�

ค์วามหมาย ต้วอย&างการใช่�

ค์/าอธี�บื้าย

การรบื้หร อแสดิ์งขี�อม2ลัโดิ์ยใช่�จัานแม&เหลั3กเป+นส $อ(Magnatic disk)การรบื้หร อแสดิ์งขี�อม2ลัโดิ์ยใช่�ดิ์รมแม&เหลั3กเป+นส $อ(Magnatic drum)

Page 21: ผังงาน

สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(11/13)(11/13)

สญลักษณิ�

ค์วามหมาย ต้วอย&างการใช่�

ค์/าอธี�บื้าย

การท/างานท�$ก/าหนดิ์ไว�แลั�ว เช่&น โปรแกรมย&อย(Predefine Process)

เร�ยกโปรแกรม

ย&อยช่ $อ findGrade

ให�ท/างานการค์วบื้ค์5มการท/างานดิ์�วยมน5ษย� บื้างค์ร�งเร�ยกการท/างานแบื้บื้ออฟไลัน� (Offline Processing)

findGrade

Page 22: ผังงาน

สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(12/13)(12/13)

สญลักษณิ�

ค์วามหมาย ต้วอย&างการใช่�

ค์/าอธี�บื้าย

การท/างานแบื้บื้ออฟไลัน�ขีองอ5ปกรณิ�ท�$ไม&ไดิ์�ถึ2กค์วบื้ค์5มจัากหน&วยประมวลัผัลักลัางโดิ์ยต้รง(Auxiliary Operation)

การจัดิ์เร�ยงลั/าดิ์บื้ขี�อม2ลั(Sorting)

Page 23: ผังงาน

สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(13/13)(13/13)

สญลักษณิ�

ค์วามหมาย ต้วอย&างการใช่�

ค์/าอธี�บื้าย

การส&งขี�อม2ลัทางสายส $อสาร(Communication Link)

Page 24: ผังงาน

หลักการจัดิ์ภาพิผังหลักการจัดิ์ภาพิผังงานงาน(1/2)(1/2)

• ท�ศัทางขีองผังงานจัะเร�$มจัากส&วนบื้นขีองหน�ากระดิ์าษลังมายงส&วนลั&าง แลัะจัากซ้ำ�ายม อไปขีองหน�ากระดิ์าษ แลัะค์วรเขี�ยนเค์ร $องหมายลั2กศัรก/ากบื้ท�ศัทางไว�ดิ์�วย

START

STOP

read age

age > 60

“You are old”

true

false

บื้น

ลั&าง

ท�ศัทางขีองเส�น

Page 25: ผังงาน

หลักการจัดิ์ภาพิผังหลักการจัดิ์ภาพิผังงานงาน(2/2)(2/2)

• สญลักษณิ�หร อภาพิท�$ใช่�ในการเขี�ยนผังงานม�ขีนาดิ์ต้&าง ๆ กนไดิ์� แต้&จัะต้�องม�ร2ปมาต้รฐานต้ามค์วามหมายท�$ก/าหนดิ์

START

sum = 0

i = 1 to 10

sum = sum + i

i

sum

STOP

ขนาดของสญลักษณ์�ปรับให้�เห้มาะสมกบข�อความในสญลักษณ์�

Page 26: ผังงาน

ร2ปแบื้บื้การเขี�ยนผังงานร2ปแบื้บื้การเขี�ยนผังงาน•แบื้บื้ต้ามลั/าดิ์บื้ (Sequence)•แบื้บื้การเลั อก/ต้ดิ์ส�นใจั/เง $อนไขี (Selection/Decision/Condition)

•แบื้บื้วนซ้ำ/�า (Iteration / Loop)

Page 27: ผังงาน

ร2ปแบื้บื้ต้ามลั/าดิ์บื้ร2ปแบื้บื้ต้ามลั/าดิ์บื้(1/3)(1/3)• เป+นร2ปแบื้บื้การเขี�ยนโปรแกรมท�$ง&ายท�$ส5ดิ์

ท/างานท�ลัะอย&างจัากบื้นลังลั&าง แสดิ์งลั/าดิ์บื้การท/างานจัากบื้นลังลั&างต้ามลั2กศัร

งานท�$ 1

งานท�$ 2

งานท�$ 3

อ&านขี�อม2ลั

ค์/านวณิขี�อม2ลั

พิ�มพิ�ผัลัลัพิธี�

ค์/านวณิ

ค์/านวณิ

ค์/านวณิ

Page 28: ผังงาน

ร2ปแบื้บื้ต้ามลั/าดิ์บื้ร2ปแบื้บื้ต้ามลั/าดิ์บื้(2/3)(2/3)START

STOP

A = 5

B = 3

C = A + B

print C

เร�$มต้�นก/าหนดิ์ค์&าต้วแปร A ม�ค์&าเป+น 5

ก/าหนดิ์ค์&าต้วแปร B ม�ค์&าเป+น 3

เอาค์&า A บื้วกกบื้ B แลั�วเก3บื้ไว�ใน C

พิ�มพิ�ค์&า C

จับื้การท/างาน

Page 29: ผังงาน

ร2ปแบื้บื้ต้ามลั/าดิ์บื้ร2ปแบื้บื้ต้ามลั/าดิ์บื้(3/3)(3/3)

เร�$มต้�นรบื้ขี�อม2ลัมาเก3บื้ไว�ในต้วแปร A, B ทางแป>นพิ�มพิ�

เอาค์&า A บื้วกกบื้ B แลั�วเก3บื้ไว�ใน C

พิ�มพิ�ค์&า C

จับื้การท/างาน

START

STOP

C = A + B

print C

A , B

Page 30: ผังงาน

ต้วอย&างการเขี�ยนผังงานแบื้บื้ต้วอย&างการเขี�ยนผังงานแบื้บื้ต้ามลั/าดิ์บื้ต้ามลั/าดิ์บื้

• จังเขี�ยนโปรแกรมค์/านวณิค์&าไฟฟ>า โดิ์ยรบื้ค์&าม�เต้อร�จั/านวนการใช่�ไฟฟ>าขีองเดิ์ อนท�$แลั�ว แลัะค์&าม�เต้อร�การใช่�ไฟฟ>าขีองเดิ์ อนป@จัจั5บื้น ค์/านวณิค์&าไฟฟ>า โดิ์ยค์�ดิ์อต้รา 25. บื้าท 1/ หน&วยม�เต้อร�

1 .ส�$งท�$โจัทย�ต้�องการค์&าไฟฟ>า

2 .ร2ปแบื้บื้ผัลัลัพิธี�ป>อนเลัขีม�เต้อร�เดิ์ อนท�$แลั�ว --> <รอรบื้เลัขีม�เต้อร�เดิ์ อนท�$แลั�ว>ป>อนเลัขีม�เต้อร�เดิ์ อนป@จัจั5บื้น--> <รอรบื้เลัขีม�เต้อร�เดิ์ อนป@จัจั5บื้น>-----------------------------------------------------จั/านวนหน&วยไฟฟ>าท�$ใช่� : <แสดิ์งจั/านวนหน&วยไฟฟ>าท�$ใช่�>ค์&าไฟฟ>า : <แสดิ์งค์&าไฟฟ>า>

Page 31: ผังงาน

ต้วอย&างการเขี�ยนผังงานแบื้บื้ต้วอย&างการเขี�ยนผังงานแบื้บื้ต้ามลั/าดิ์บื้ต้ามลั/าดิ์บื้

3. ขี�อม2ลัน/าเขี�า– เลัขีม�เต้อร�เดิ์ อนท�$แลั�ว– เลัขีม�เต้อร�เดิ์ อนป@จัจั5บื้น

4. ต้วแปรท�$ใช่�ในการประมวลัผัลั– Last_meter แทน เลัขีม�เต้อร�เดิ์ อนท�$แลั�ว– Curr_meter แทน เลัขีม�เต้อร�เดิ์ อนป@จัจั5บื้น– Num_meter แทน จั/านวนหน&วยม�เต้อร�ท�$ใช่�– Electric_fee แทน ค์&าไฟฟ>า

Page 32: ผังงาน

ต้วอย&างการเขี�ยนผังงานแบื้บื้ต้วอย&างการเขี�ยนผังงานแบื้บื้ต้ามลั/าดิ์บื้ต้ามลั/าดิ์บื้

5. ขี�นต้อนว�ธี�การประมวลัผัลั1 .เร�$มต้�น2 .รบื้ค์&าใส&ต้วแปร last_meter แลัะ curr_meter

จัากผั2�ใช่�ทางแป>นพิ�มพิ�3. ค์/านวณิ num_meter = curr_meter –

last_meter 4. ค์/านวณิ electric_fee = num_meter * 2.55. แสดิ์งค์&า num_meter , electric_fee6. จับื้การท/างาน

Page 33: ผังงาน

Flow chartFlow chartSTART

STOP

Num_meter = Curr_meter – Last_meter

Last_meter , Curr_meter

Electric_fee = Num_meter * 2.5

Num_meter , Electric_fee

Page 34: ผังงาน

แบื้บื้การเลั อกแบื้บื้การเลั อกเป+นการเขี�ยนโปรแกรมแบื้บื้ม�การเปร�ยบื้เท�ยบื้

เง $อนไขี แลัะท/างานต้ามค์/าส$งอย&างใดิ์อย&างหน#$งต้ามเง $อนไขีท�$ก/าหนดิ์ ผัลัจัากการเปร�ยบื้เท�ยบื้เง $อนไขี จัะให�ผัลัลัพิธี�เป+นจัร�งหร อเท3จั ถึ�าผัลัเป+นจัร�ง ให�ท/างานต้ามค์/าส$งดิ์�านท�$เง $อนไขีเป+นจัร�ง ถึ�าเป+นเท3จัให�ท/าต้ามค์/าส$งดิ์�านท�$เง $อนไขีเป+นเท3จั

• แบื้บื้ทางเลั อกเดิ์�ยว (IF - THEN)• แบื้บื้สองทางเลั อก (IF – THEN - ELSE)• แบื้บื้หลัายทางเลั อก (IF – THEN – ELSE IF

| CASE)

Page 35: ผังงาน

แบื้บื้ทางเลั อกเดิ์�ยวแบื้บื้ทางเลั อกเดิ์�ยว(1/5)(1/5)

เง��อนไข

ปรัะโยคงาน

งานลั!าดบถัดไป

จัร�ง

เท3จั

เง��อนไข

ปรัะโยคงาน 1

งานลั!าดบถัดไป

จัร�ง

เท3จั

ปรัะโยคงาน 2

Page 36: ผังงาน

แบื้บื้ทางเลั อกเดิ์�ยวแบื้บื้ทางเลั อกเดิ์�ยว(2/5)(2/5)START

STOP

read age

age > 60

“You are old”

true

false

เร�$มต้�น

รบื้ค์&าใส&ต้วแปร age

ถึ�าเป+นจัร�ง พิ�มพิ�ขี�อค์วาม You are oldถึ�าเป+นเท3จั ไม&ต้�องท/าอะไร

จับื้การท/างาน

เปร�ยบื้เท�ยบื้ค์&า age มากกว&า 60

Page 37: ผังงาน

แบื้บื้ทางเลั อกเดิ์�ยวแบื้บื้ทางเลั อกเดิ์�ยว(3/5)(3/5)รบื้ค์&า รหสผั&านจัากผั2�ใช่� ถึ�ารหสผั&านท�$ป>อนม�ค์&า GoodLuck ให�แสดิ์งขี�อว&า Welcome Manager แลัะขี�อค์วาม Exit Password System

เร�$ม

รบื้ค์&า ans

ans = “GoodLuck”

พิ�มพิ� Welcome Manager

พิ�มพิ� Exit PasswordSystem

จับื้

จัร�ง

เท3จั

Page 38: ผังงาน

แบื้บื้ทางเลั อกเดิ์�ยวแบื้บื้ทางเลั อกเดิ์�ยว(4/5)(4/5)• บื้ร�ษทแห&งหน#$งต้�องการเพิ�$มเง�นเดิ์ อนให�พินกงานท�$

ม�เง�นเดิ์ อนต้/$ากว&า 5000 อ�กค์นลัะ 10% แลัะให�พินกงานท5กค์นไดิ์�รบื้โบื้นสค์นลัะ 3 เท&าขีองเง�นเดิ์ อน

• ขี�นต้อนการประมวลัผัลั1 .รบื้ค์&าช่ $อพินกงาน . เง�นเดิ์ อน2.เปร�ยบื้เท�ยบื้ค์&า เง�นเดิ์ อน

- ถึ�าน�อยกว&า 5000 ให�เง�นเดิ์ อน = เง�นเดิ์ อน + (เง�นเดิ์ อน * 10/100)

3.ค์/านวณิโบื้นส = เง�นเดิ์ อน *34.แสดิ์งผัลัลัพิธี�5.จับื้การท/างาน

Page 39: ผังงาน

แบื้บื้ทางเลั อกเดิ์�ยวแบื้บื้ทางเลั อกเดิ์�ยว(5/5)(5/5)START

STOP

read name ,salary

salary < 5000 Name , salary , bonus

true

false

salary = salary + (salary*10/100)

A

A

bonus = salary * 3

แต้&ไม&ต้�องเขี�ยนเส�นเช่ $อมน��

Page 40: ผังงาน

ขี�อค์วรจั/า• ในการเปร�ยบื้เท�ยบื้เง $อนไขีแบื้บื้ IF –

THEN น�ยมให�ท/างานต้ามค์/าส$งเม $อเง $อนไขีม�ค์&าเป+นจัร�ง ไม&น�ยมให�ท/างามต้ามค์/าส$งเป+นเท3จั

เง��อนไข

ปรัะโยคงาน 1

งานลั!าดบถัดไป

จัร�ง

เท3จั

ปรัะโยคงาน 2

เง��อนไข

ปรัะโยคงาน 1

งานลั!าดบถัดไป

จัร�ง

เท3จั

ปรัะโยคงาน 2

Page 41: ผังงาน

เง��อนไข

ปรัะโยคงาน 1

งานลั!าดบถัดไป

จัร�ง

เท3จั

ปรัะโยคงาน 2

IF เง��อนไข THEN BEGIN

ปรัะโยคงาน 1 ;ปรัะโยคงาน 2 ;

END;

Page 42: ผังงาน

เง��อนไข

ปรัะโยคงาน 1

งานลั!าดบถัดไป

เท3จั

จัร�ง

ปรัะโยคงาน 2

IF เง��อนไข THEN

ELSE BEGIN

ปรัะโยคงาน 1 ;ปรัะโยคงาน 2 ;

END;

Page 43: ผังงาน

แบื้บื้สองทางเลั อกแบื้บื้สองทางเลั อก(1/6)(1/6)• การท/างานขี#�นอย2&กบื้เง $อนไขี ถึ�าเป+นจัร�งไป

ท/างานดิ์�านหน#$ง ถึ�าเป+นเท3จัก3จัะไปท/างานอ�กอย&างหน#$ง

เง��อนไข

ปรัะโยคงาน2

งานลั!าดบถัดไป

จัร�งเท3จั

ปรัะโยคงาน1

Page 44: ผังงาน

แบื้บื้สองทางเลั อกแบื้บื้สองทางเลั อก(2/6)(2/6)• ถึ�า sex =1

เง $อนไขีเป+นจัร�ง จัะเพิ�$มค์&าต้วแปร Male ขี#�นอ�ก 1

• ถึ�า sex =1 เง $อนไขีเป+นเท3จั จัะเพิ�$มค์&าต้วแปร Female ขี#�นอ�ก 1

Sex = 1

Male = Male +1Female = Female + 1

TrueFalse

Page 45: ผังงาน

แบื้บื้สองทางเลั อกแบื้บื้สองทางเลั อก(3/6)(3/6)START

STOP

read age

age > 60

“You are old”

truefalse

“You are young”

เร�$มต้�น

รบื้ค์&าใส&ต้วแปร age

ถึ�าเป+นจัร�ง พิ�มพิ�ขี�อค์วาม You are oldถึ�าเป+นเท3จั พิ�มพิ�ขี�อค์วาม You are young

จับื้การท/างาน

เปร�บื้เท�ยบื้ค์&า age มากกว&า 60

Page 46: ผังงาน

แบื้บื้สองทางเลั อกแบื้บื้สองทางเลั อก(4/6)(4/6)เร�$ม

รับค#า ans

ans = ‘y’ OR ans=‘Y’

พิ%มพิ� Thank Youพิ%มพิ� I’m sorry to hear that

จัร�งเท3จั

พิ%มพิ� Do you like Pascal

พิ%มพิ� Good Bye

จับื้

แสดิ์งขี�อค์วาม Do you like Pascal

รบื้ค์&าใส&ต้วแปร ans

เร�$มการท/างาน

เปร�ยบื้เท�ยบื้ค์&า ans เท&ากบื้ y หร อ Y- ถึ�าเป+นจัร�ง พิ�มพิ�Thank you-ถึ�าเป+นเท3จั พิ�มพิ�I’m sorry to hear that

พิ�มพิ�ค์/าว&า Goodbye

จับื้การท/างาน

Page 47: ผังงาน

แบื้บื้สองทางเลั อกแบื้บื้สองทางเลั อก(5/6)(5/6)• บื้ร�ษทแห&งหน#$งต้�องการเพิ�$มเง�นเดิ์ อนให�พินกงานท�$ม�

เง�นเดิ์ อนต้/$ากว&า 5000 อ�กค์นลัะ 10% แลัะพินกงานท�$ม�เง�นเดิ์ อนต้�งแต้& 5000 เพิ�$ม 5% ให�พินกงานท5กค์นไดิ์�รบื้โบื้นสค์นลัะ 3 เท&าขีองเง�นเดิ์ อน

• ขี�นต้อนการประมวลัผัลั1 .รบื้ค์&าช่ $อพินกงาน . เง�นเดิ์ อน2. เปร�ยบื้เท�ยบื้ค์&า เง�นเดิ์ อน < 5000

- ถึ�าเป+นจัร�ง ให�อต้ราเพิ�$มเง�นเดิ์ อน = 10/100- ถึ�าเป+นเท3จัให�อต้ราเพิ�$มเง�นเดิ์ อน = 5/100

3. ค์/านวณิเง�นเดิ์ อน = เง�นเดิ์ อน + (เง�นเดิ์ อน * อต้ราเพิ�$มเง�นเดิ์ อน)

4.โบื้นส = เง�นเดิ์ อน *35.แสดิ์งผัลัลัพิธี�6.จับื้การท/างาน

Page 48: ผังงาน

แบื้บื้ทางเลั อกเดิ์�ยวแบื้บื้ทางเลั อกเดิ์�ยว(6/6)(6/6)START

STOP

read name ,salary

salary < 5000

Name , salary , bonus

truefalse

rate = 10 / 100

A

A

bonus = salary * 3

แต้&ไม&ต้�องเขี�ยนเส�นเช่ $อมน��

rate = 5 / 100

salary = salary+(salary * rate)

Page 49: ผังงาน

การเลั อกหลัายทางการเลั อกหลัายทาง((แบื้บื้ แบื้บื้ IF)IF)

• เป+นร2ปแบื้บื้การเลั อกการท/างานท�$ม�ทางเลั อกมากกว&า 2ทางขี#�นไป

เง $อนไขี 1

ค!าส�งที่'� 1

TrueFalse

เง $อนไขี 2

ค!าส�งที่'� 2

TrueFalse

เง $อนไขี 3

ค!าส�งที่'� 3

TrueFalse

ค!าส�งที่'� 4

Page 50: ผังงาน

การเลั อกหลัายทางการเลั อกหลัายทาง((แบื้บื้ แบื้บื้ IF)IF)

Score >=80

Grade = ‘A’

truefalse

Score >=70

Grade = ‘B’

truefalse

Score >=60

Grade = ‘C’

truefalse

Score >=50

Grade = ‘D’

truefalse

Grade = ‘F’

Score = mid + final

Page 51: ผังงาน

การเลั อกหลัายทางการเลั อกหลัายทาง((แบื้บื้ แบื้บื้ CASE)CASE)

• เป+นร2ปแบื้บื้การเลั อกการท/างานท�$ม�ทางเลั อกมากกว&า 2 ทางขี#�นไป

เง $อนไขี

ค!าส�งที่'� 2ค!าส�งที่'� 1 ค!าส�งที่'� 4ค!าส�งที่'� 3

กรณิ� 1 กรณิ� 2 กรณิ� 3 กรณิ� 4

Page 52: ผังงาน

การเลั อกหลัายทางการเลั อกหลัายทาง((แบื้บื้ แบื้บื้ CASE)CASE)

score

Grade = ‘B’Grade = ‘A’ Grade = ‘D’Grade = ‘C’

80..100 70..79 60..69 50..59

Grade = ‘F’

0..49

Score = mid + final

Page 53: ผังงาน

แบื้บื้วนซ้ำ/�าแบื้บื้วนซ้ำ/�า•แบื้บื้ก/าหนดิ์รอบื้ไว�ลั&วง

หน�า(Controlled Loop)•แบื้บื้ต้รวจัสอบื้เง $อนไขีก&อน(Pre-Test Condition)

•แบื้บื้ต้รวจัสอบื้เง $อนไขีท�หลัง(Post-Test Condition)

Page 54: ผังงาน

แบื้บื้ก/าหนดิ์รอบื้การท/างานเอาแบื้บื้ก/าหนดิ์รอบื้การท/างานเอาไว�ลั&วงหน�าไว�ลั&วงหน�า

• ม�การก/าหนดิ์รอบื้การท/างานซ้ำ/�าไว�ลั&วงหน�า เม $อค์รบื้ต้ามจั/านวนรอบื้จั#งหย5ดิ์ท/างานซ้ำ/�าแลั�วท/าค์/าส$งต้&อไป

ก/าหนดิ์รอบื้การท/างาน

ค!าส�งที่!าซ้ำ!)า 1

ค!าส�งที่!าซ้ำ!)า 2

Next

Page 55: ผังงาน

แบื้บื้ก/าหนดิ์รอบื้การท/างานเอาแบื้บื้ก/าหนดิ์รอบื้การท/างานเอาไว�ลั&วงหน�าไว�ลั&วงหน�า

• ค์&า N จัะเร�$มต้�นท�$ 1 แลัะเพิ�$มค์&าท�ลัะ 1 จันกระท$ง มากกว&า 5 จั#งหย5ดิ์การท/างานซ้ำ/�า แลัะท/าค์/าส$งถึดิ์จัาก Next ในแต้&ลัะรอบื้ขีองงานท�$ให�ท/าซ้ำ/�าค์ อ พิ�มพิ�ค์&าในต้วแปร N ท�ลัะรอบื้

For N =1 , 5

Next

Print N

Page 56: ผังงาน

แบื้บื้ต้รวจัสอบื้เง $อนไขีก&อนถึ�าเป+นจัร�งแบื้บื้ต้รวจัสอบื้เง $อนไขีก&อนถึ�าเป+นจัร�งแลั�วค์&อยท/าซ้ำ/�าแลั�วค์&อยท/าซ้ำ/�า

• แบื้บื้ต้รวจัสอบื้เง $อนไขีก&อน ถึ�าเง $อนไขียงเป+นจัร�งให�ท/างานซ้ำ/�า จันกระท$งเง $อนไขีเป+นเท3จัจั#งหย5ดิ์ท/างานซ้ำ/�า แลั�วไปท/างานค์/าส$งอ $นถึดิ์ไป

เง $อนไขี

ค์/าส$งงานซ้ำ/�า 1

True

False

ค์/าส$งงานซ้ำ/�า 2

Page 57: ผังงาน

แบื้บื้ต้รวจัสอบื้เง $อนไขีก&อนถึ�าเป+นจัร�งแบื้บื้ต้รวจัสอบื้เง $อนไขีก&อนถึ�าเป+นจัร�งแลั�วค์&อยท/าซ้ำ/�าแลั�วค์&อยท/าซ้ำ/�า

• ต้รวจัสอบื้เง $อนไขีถึ�า N <= 5– ให�พิ�มพิ� ค์&า N – เพิ�$มค์&า N อ�ก 1

(N=N+1)

• กลับื้ไปต้รวจัสอบื้เง $อนไขีอ�ก จันกว&าเง $อนจัะเป+นเท3จั จั#งหย5ดิ์ท/างานซ้ำ/�า แลั�วไปท/างานค์/าส$งอ $น

N <=5

N = N+1

True

False

Print N

N = 1

Page 58: ผังงาน

แบื้บื้ท/าซ้ำ/�าก&อนแลั�วค์&อยต้รวจัแบื้บื้ท/าซ้ำ/�าก&อนแลั�วค์&อยต้รวจัเง $อนไขีเง $อนไขี

• แบื้บื้ให�ท/างานในค์/าส$งท/าซ้ำ/�าก&อน แลั�วค์&อยต้รวจัสอบื้เง $อนไขี ถึ�าเง $อนไขียงเป+นเท3จัให�กลับื้ไปท/างานในค์/าส$งท/าซ้ำ/�าอ�ก จันกระท$งต้รวจัสอบื้แลั�วเง $อนเป+นจัร�ง จั#งหย5ดิ์ แลั�วไปท/างานค์/าส$งอ $น

เง $อนไขี

ค์/าส$งงานซ้ำ/�า 1

True

False

ค์/าส$งงานซ้ำ/�า 2

Page 59: ผังงาน

แบื้บื้ท/าซ้ำ/�าก&อนแลั�วค์&อยต้รวจัแบื้บื้ท/าซ้ำ/�าก&อนแลั�วค์&อยต้รวจัเง $อนไขีเง $อนไขี

– ให�พิ�มพิ�ค์&าในต้วแปร N

– เพิ�$มค์&าให�ต้วแปร N อ�ก 1

• ต้รวจัสอบื้เง $อนไขี ถึ�า N > 5 เป+นจัร�งให�หย5ดิ์ท/างานซ้ำ/�า ถึ�าเป+นเท3จัให�กลับื้ไปท/างานค์/าส$งซ้ำ/�าอ�กรอบื้

N > 5

True

False

N = N+1

Print N

N = 1

Page 60: ผังงาน

ผังงานการหาผัลัรวมต้วเลัขีผังงานการหาผัลัรวมต้วเลัขีจั/านวนเต้3ม จั/านวนเต้3ม -115-115

Start

sum=0

i=1sum=su

m+ii=i+1i>15

sum

end

Page 61: ผังงาน

Flow Chart ของการัค!านวนห้าพิ�)นที่'�ส'�เห้ลั'�ยมผื�นผื�า

W , L

ส+ตรั Area = W x L

Print Area

Start

end

Page 62: ผังงาน

Flow Chart ของการัค!านวนห้าพิ�)นที่'�วงกลัม

R

ส+ตรั Area = 3.14159*R*R

Print Area

Start

end

Page 63: ผังงาน

ตวอย#างผืงงาน การับวกเลัขสามจำ!านวน

Start

Read Num1, Num2, Num3SUM = Num1 +

Num2 + Num3

Display SUM

End

Page 64: ผังงาน

ผังงานการหาผัลัรวมต้วเลัขีผังงานการหาผัลัรวมต้วเลัขีจั/านวนเต้3มค์�$ จั/านวนเต้3มค์�$ -1100-1100

Start

sum=0

i=1sum=su

m+ii=i+2i>=100

sum

end

Page 65: ผังงาน

ผังงานการหาผัลัรวมต้วเลัขีผังงานการหาผัลัรวมต้วเลัขีจั/านวนเต้3มค์2& จั/านวนเต้3มค์2& -1100-1100

Start

sum=0

i=2sum=su

m+ii=i+2i>=100

sum

end