65
หหหหหหหหห Basic Basic Flowcharting Flowcharting SAD. หห 0213 System Analysis and Design Krukomsun Na-Raungsee

Chapter05

Embed Size (px)

Citation preview

Page 1: Chapter05

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

Basic FlowchartingBasic Flowcharting

SAD.

วท 0213 System Analysis and Design

Krukomsun Na-Raungsee

Page 2: Chapter05

การเขียนผั�งงาน(Flowcharting) ผั�งงาน หมายถึ�ง เครื่��องม�อที่��ช่�วยในการื่เขี�ยนโปรื่แกรื่ม โดย

เขี�ยนเป�นเครื่��องหมายภาพสั�ญลั�กษณ์&แสัดงลั'าด�บขี�)นตอนการื่ที่'างาน

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

ผั0+เขี�ยนโปรื่แกรื่มจะสัามารื่ถึเขี+าใจลั'าด�บขี�)นตอนการื่เขี�ยนโปรื่แกรื่มได+อย�างรื่วดเรื่1วแลัะง�ายขี�)น แลัะง�ายต�อการื่ตรื่วจสัอบความถึ0กต+องขีองลั'าด�บขี�)นตอนในว.ธี�การื่ปรื่ะมวลัผัลั

งานที่3กช่น.ดที่��ม�การื่ว.เครื่าะห&เป�นลั'าด�บขี�)นตอนแลั+ว เรื่าสัามารื่ถึน'ามาเขี�ยนผั�งงานได+ แม+กรื่ะที่��งงานที่��เก��ยวขี+องก�บช่�ว.ตปรื่ะจ'าว�นขีองเรื่าเอง

Page 3: Chapter05

ปรื่ะโยช่น&ขีองการื่เขี�ยนผั�งงาน เรื่าสัามารื่ถึเรื่�ยนรื่0 +แลัะเขี+าใจผั�งงานได+ง�าย เพรื่าะผั�งงานไม�

ขี�)นอย0�ก�บภาษาคอมพ.วเตอรื่&ภาษาใดภาษาหน��ง ผั�งงานเป�นการื่สั��อความหมายด+วยภาพ ที่'าให+ง�ายแลัะ

สัะดวกต�อการื่พ.จารื่ณ์าลั'าด�บขี�)นตอนในการื่ที่'างานด�กว�าการื่บรื่รื่ยายเป�นต�วอ�กษรื่

ช่�วยให+การื่ค+นหาความผั.ดพลัาดขีองลั'าด�บการื่ที่'างานได+รื่วดเรื่1ว แลัะสัามารื่ถึแก+ไขีได+ง�าย

การื่เขี�ยนโปรื่แกรื่มโดยพ.จารื่ณ์าจากผั�งงาน สัามารื่ถึที่'าได+รื่วดเรื่1วแลัะง�ายขี�)น

ในการื่บ'ารื่3งรื่�กษาโปรื่แกรื่ม หรื่�อม�การื่เปลั��ยนแปลังแก+ไขีโปรื่แกรื่มให+ม�ปรื่ะสั.ที่ธี.ภาพ ถึ+าด0จากผั�งงานจะช่�วยให+สัามารื่ถึที่บที่วนการื่ที่'างานในโปรื่แกรื่มได+ง�ายขี�)น

Page 4: Chapter05

ขี+อจ'าก�ดขีองการื่เขี�ยนผั�งงานการื่เขี�ยนผั�งงานไม�เหมาะก�บงานที่��ม�ว.ธี�

การื่ซั�บซั+อน เช่�น ม�การื่ที่��เง��อนไขีในการื่ที่อสัอบมากมาย ซั��งม�กจะใช่+ตารื่างการื่ต�ดสั.นใจ(decision table) เขี+ามาช่�วยมากกว�า

Page 5: Chapter05

สั�ญลั�กษณ์&ในการื่เขี�ยนผั�งงาน(1/13) การื่เขี�ยนผั�งงานเป�นการื่น'าเอาภาพสั�ญลั�กษณ์&

ต�าง ๆ มาเรื่�ยงต�อก�น เพ��อแสัดงลั'าด�บขี�)นตอนการื่ที่'างาน โดยม�เสั+นลั0กศรื่เช่��อมรื่ะหว�างภาพต�างๆ

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

Page 6: Chapter05

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

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

ค!าอธิ#บื้าย

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

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

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

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

1 .ร�บื้ค�าใสั�ในต้�วแปรช้�$อ name

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

START

STOP

read name

display area

Page 7: Chapter05

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

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

ค!าอธิ#บื้าย

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

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

2 .ก!าหนดค�า sum เท�าก�บื้ 0

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

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

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

- เป0นจร#ง พิ#มพิ�ค�า i เสัร.จแลั�วไปท!าค!าสั�$งอ�$น ๆ

- เป0นเท.จ ไปท!าค!าสั�$งอ�$น ๆ

C = A + B

Sum = 0

i <= 10

true

false

แสัดง i

Page 8: Chapter05

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

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

ค!าอธิ#บื้าย

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

พิ#มพิ�ค�า A ทาง

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

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

แสัดงค�า A, B

บื้นจอภาพิ

print A

display A , B

Page 9: Chapter05

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

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

ค!าอธิ#บื้าย

หมายเหต้%(Comment)ร�บื้ค�าทางการกดแป4นพิ#มพิ�(Manual Input)

ร�บื้ค�า A ทางแป4นพิ#มพิ�

read A A = Age

read A

Page 10: Chapter05

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

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

ค!าอธิ#บื้าย

การก!าหนดค�าต้�างๆ ไว�ลั�วงหน�า(Preparation)

ก!าหนดให� i มค�าเท�าก�บื้

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

จนมค�าเป0น 100 จ5งออก

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

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

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

for i =1 to 100

sum = sum + i

i

Page 11: Chapter05

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

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

ค!าอธิ#บื้าย

จ%ดต้�อเน�$องในหน�าเดยวก�น(In-Page connector)

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

แลั�วให�ท!าต้ามท$จ%ด

ต้�อเน�$อง A ซ้ำ5$งอย(�ใน

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

หลั�งจากก!าหนดค�า A

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

จ%ดต้�อเน�$องช้�$อ 1 ซ้ำ5$ง

ไม�ได�อย(�ในหน�าเดยวก�น

A

write A

A = 3

1

Page 12: Chapter05

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

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

ค!าอธิ#บื้าย

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

1 .อ�านค�า A ท$บื้�ต้รเจาะร( 1 ใบื้

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

ช้%ดขีองบื้�ต้รเจาะร((Card Desk)

เจาะค�า B1 , B2 , Bn

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

read A

punch B , C

punch bi b=1 ,…n

Page 13: Chapter05

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

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

ค!าอธิ#บื้าย

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

อ�านค�า ID , name

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

การร�บื้หร�อแสัดงขี�อม(ลัโดยใช้�เทปแม�เหลั.กเป0นสั�$อ(Magnatic tape)

read ID , name

Page 14: Chapter05

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

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

ค!าอธิ#บื้าย

การร�บื้หร�อแสัดงขี�อม(ลัโดยใช้�จานแม�เหลั.กเป0นสั�$อ(Magnatic disk)การร�บื้หร�อแสัดงขี�อม(ลัโดยใช้�ดร�มแม�เหลั.กเป0นสั�$อ(Magnatic drum)

Page 15: Chapter05

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

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

ค!าอธิ#บื้าย

การท!างานท$ก!าหนดไว�แลั�ว เช้�น โปรแกรมย�อย(Predefine Process)

เรยกโปรแกรม

ย�อยช้�$อ findGrade

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

findGrade

Page 16: Chapter05

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

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

ค!าอธิ#บื้าย

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

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

Page 17: Chapter05

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

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

ค!าอธิ#บื้าย

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

Page 18: Chapter05

ต�วอย�างผั�งงานที่��วไป(1/3) แสัดงการื่โยนเหรื่�ยญ 3 ครื่�)ง ถึ+าออกห�ว ผั0+โยนจะได+เง.น 10 บาที่ ถึ+าออกก+อย ผั0+โยนจะเสั�ยเง.น 10 บาที่

เร#$มต้�น

โยนเหรยญ

ผัลัการโยน

ได�เง#น 10 บื้าทเสัยเง#น 10 บื้าท

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

หย%ด

ห�วก�อย

ย�ง

ครบื้

Page 19: Chapter05

ต+มม�าม�า/ย'าย'า/

Page 20: Chapter05

ต�วอย�างผั�งงานที่��วไป(2/3)

ผั�งงานแสัดงการื่เด.นขี+ามถึนนที่��ม�สั�ญญาณ์ไฟจรื่าจรื่

เร#$มต้�น

รอสั�ญญาณ์ไฟ

ไฟแดงหร�อไม�

เด#นขี�ามถ้นน

หย%ด

ใช้�

ไม�ใช้�

Page 21: Chapter05

ต�วอย�างผั�งงานที่��วไป(3/3) ผั�งงานพ.จารื่ณ์าการื่ใช่+ยา

ตามฉลัากยาที่��ป:ดขี+างขีวด แยกตามขีนาดการื่ใช่+ด�งน�) อาย3ต'�ากว�า 5 ป; ห+ามรื่�บ

ปรื่ะที่าน อาย3 - 5 7 ป; ครื่�)งลัะ 1

เม1ด อาย3 - 8 14 ป; ครื่�)งลัะ

2 เม1ด อาย3 15 ป;ขี�)นไป ครื่�)งลัะ

3 เม1ด

เร#$มต้�น

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

อาย% 5 ป9ขี��นไป แต้�ไม�ถ้5ง 8 ป9 คร��งลัะ 1 เม.ด

อาย% 8 ป9ขี��นไปแต้�ไม�ถ้5ง 15 ป9 คร��งลัะ 2 เม.ด

คร��งลัะ 3 เม.ด

หย%ด

ใช้�

ใช้�

ใช้�

ไม�ใช้�

ไม�ใช้�

ไม�ใช้�

Page 22: Chapter05

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

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

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

Page 23: Chapter05

ผั�งงานรื่ะบบ(System flowchart) เป�นผั�งงานที่��ใช่+แสัดงขี�)นตอนการื่ที่'างานขีองรื่ะบบงาน

อย�างกว+าง ๆ ที่�)งรื่ะบบ โดยแสัดงให+เห1นถึ�งความสั�มพ�นธี&ขีองสั�วนสั'าค�ญต�าง ๆ ในรื่ะบบน�)น

เช่�น เอกสัารื่เบ�)องต+น หรื่�อสั��อบ�นที่�กที่��ใช่+อย0�เป�นอะไรื่ แลัะผั�านไปย�งหน�วยงานใด ม�ก.จกรื่รื่มอะไรื่ในหน�วยงานน�)น ๆ แลั+วสั�งต�อไปย�งหน�วยงานใด เป�นต+น

ด�งน�)น ผั�งงานรื่ะบบ จะเก��ยวขี+องก�บ คน ว�สัด3 แลัะเครื่��องจ�กรื่ โดยแสัดงการื่น'าขี+อม0ลัเขี+า ปรื่ะมวลัผัลั แสัดงผัลัลั�พธี& ว�ามาจากที่��ใดกว+าง ๆ

Page 24: Chapter05

ต�วอย�างผั�งงานรื่ะบบ ผั�งงานแสัดงการื่ค'านวณ์

พ�)นที่��สัามเหลั��ยมจ'านวน 100 รื่0ป

เร#$มต้�น

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

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

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

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

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

จบื้

Page 25: Chapter05

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

เป�นผั�งงานที่��แสัดงขี�)นตอนขีองค'าสั��งที่��ใช่+ในโปรื่แกรื่ม

ผั�งงานน�)แยกย�อยมาจากผั�งงานรื่ะบบ โดยผั0+เขี�ยนโปรื่แกรื่มจะด�งเอาแต�ลัะจ3ดที่��เก��ยวขี+องก�บการื่ปรื่ะมวลัผัลัในคอมพ.วเตอรื่&ที่��ปรื่ากฏในผั�งงานรื่ะบบมาเขี�ยนแสัดงรื่ายลัะเอ�ยดในการื่ปรื่ะมวลัผัลัอย�างเป�นลั'าด�บขี�)นตอน เพ��อน'าไปปรื่ะกอบการื่เขี�ยนโปรื่แกรื่มต�อไป

Page 26: Chapter05

ต�วอย�างผั�งงานโปรื่แกรื่ม ผั�งงานแสัดงการื่

ค'านวณ์พ�)นที่��สัามเหลั��ยมจ'านวน 100 รื่0ป

เร#$มต้�น

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

ครบื้ 100 ร(ปแลั�วใช้�หร�อไม�

ค!านวณ์พิ��นท$= 0.5 * ฐาน * สั(ง

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

จบื้

ไม�ใช้�

ใช้�

Page 27: Chapter05

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

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

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

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

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

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

จบื้

เร#$มต้�น

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

ครบื้ 100 ร(ปแลั�วใช้�หร�อไม�

ค!านวณ์พิ��นท$= 0.5 * ฐาน * สั(ง

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

จบื้

ไม�ใช้�

ใช้�

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

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

Page 28: Chapter05

หลั�กการื่จ�ดภาพผั�งงาน(1/2) ที่.ศที่างขีองผั�งงาน

จะเรื่.�มจากสั�วนบนขีองหน+ากรื่ะดาษลังมาย�งสั�วนลั�าง แลัะจากซั+ายม�อไปขีองหน+ากรื่ะดาษ แลัะควรื่เขี�ยนเครื่��องหมายลั0กศรื่ก'าก�บที่.ศที่างไว+ด+วย

START

STOP

read age

age > 60

“You are old”

true

false

บื้น

ลั�าง

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

Page 29: Chapter05

หลั�กการื่จ�ดภาพผั�งงาน(2/2) สั�ญลั�กษณ์&หรื่�อภาพ

ที่��ใช่+ในการื่เขี�ยนผั�งงานม�ขีนาดต�าง ๆ ก�นได+ แต�จะต+องม�รื่0ปมาตรื่ฐานตามความหมายที่��ก'าหนด

START

sum = 0

i = 1 to 10

sum = sum + i

i

sum

STOP

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

Page 30: Chapter05

หลั�กการื่จ�ดภาพผั�งงาน(3/2) การื่เขี�ยนที่.ศที่างขีองผั�งงานควรื่เป�นไปอย�างม�

รื่ะเบ�ยบ แลัะหลั�กเลั��ยงการื่ขี�ดโยงไปโยงมาในที่.ศที่างต�ดก�น ถึ+าจ'าเป�นต+องโยงถึ�งก�น ควรื่ใช่+เครื่��องหมายจ3ดต�อเน��องแที่นแลัะถึ+าเป�นไปได+ควรื่เขี�ยนผั�งงานให+จบในหน+าเด�ยวก�น

ค'าอธี.บายในภาพ เขี�ยนเพ�ยงสั�)น ๆ แลัะเขี+าใจง�าย ผั�งงานที่��ด�ควรื่จะม�ความเป�นรื่ะเบ�ยบเรื่�ยบรื่+อย

แลัะสัะอาด นอกจากน�)แลั+ว จะม�ช่��อขีองผั�งงาน ผั0+เขี�ยน ว�นที่��เขี�ยน แลัะเลัขีหน+าลั'าด�บ

Page 31: Chapter05

รื่0ปแบบการื่เขี�ยนผั�งงานแบบตามลั'าด�บ (Sequence)แบบการื่เลั�อก/ต�ดสั.นใจ/เง��อนไขี (Selection/Decision/Condition)

แบบวนซั')า (Iteration / Loop)

Page 32: Chapter05

รื่0ปแบบตามลั'าด�บ(1/3) เป�นรื่0ปแบบการื่เขี�ยนโปรื่แกรื่มที่��ง�ายที่��สั3ด ที่'างานที่�ลัะ

อย�างจากบนลังลั�าง แสัดงลั'าด�บการื่ที่'างานจากบนลังลั�างตามลั0กศรื่

งานท$ 1

งานท$ 2

งานท$ 3

อ�านขี�อม(ลั

ค!านวณ์ขี�อม(ลั

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

ค!านวณ์

ค!านวณ์

ค!านวณ์

Page 33: Chapter05

รื่0ปแบบตามลั'าด�บ(2/3)START

STOP

A = 5

B = 3

C = A + B

print C

เร#$มต้�นก!าหนดค�าต้�วแปร A มค�าเป0น 5

ก!าหนดค�าต้�วแปร B มค�าเป0น 3

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

พิ#มพิ�ค�า C

จบื้การท!างาน

Page 34: Chapter05

รื่0ปแบบตามลั'าด�บ(3/3)

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

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

พิ#มพิ�ค�า C

จบื้การท!างาน

START

STOP

C = A + B

print C

A , B

Page 35: Chapter05

ต�วอย�างการื่เขี�ยนผั�งงานแบบตามลั'าด�บ จงเขี�ยนโปรื่แกรื่มค'านวณ์ค�าไฟฟ>า โดยรื่�บค�า

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

1 .สั.�งที่��โจที่ย&ต+องการื่ค�าไฟฟ>า

2. รื่0ปแบบผัลัลั�พธี&ป4อนเลัขีม#เต้อร�เด�อนท$แลั�ว --> <รอร�บื้เลัขีม#เต้อร�เด�อนท$แลั�ว>ป4อนเลัขีม#เต้อร�เด�อนป;จจ%บื้�น--> <รอร�บื้เลัขีม#เต้อร�เด�อนป;จจ%บื้�น>-----------------------------------------------------จ!านวนหน�วยไฟฟ4าท$ใช้� : <แสัดงจ!านวนหน�วยไฟฟ4าท$ใช้�>ค�าไฟฟ4า : <แสัดงค�าไฟฟ4า>

Page 36: Chapter05

ต�วอย�างการื่เขี�ยนผั�งงานแบบตามลั'าด�บ3. ขี+อม0ลัน'าเขี+า

เลัขีม.เตอรื่&เด�อนที่��แลั+ว เลัขีม.เตอรื่&เด�อนป?จจ3บ�น

4. ต�วแปรื่ที่��ใช่+ในการื่ปรื่ะมวลัผัลั Last_meter แที่น เลัขีม.เตอรื่&เด�อนที่��แลั+ว Curr_meter แที่น เลัขีม.เตอรื่&เด�อนป?จจ3บ�น Num_meter แที่น จ'านวนหน�วยม.เตอรื่&ที่��ใช่+ Electric_fee แที่น ค�าไฟฟ>า

Page 37: Chapter05

ต�วอย�างการื่เขี�ยนผั�งงานแบบตามลั'าด�บ5. ขี�)นตอนว.ธี�การื่ปรื่ะมวลัผัลั

1 . เรื่.�มต+น2. รื่�บค�าใสั�ต�วแปรื่ last_meter แลัะ curr_meter

จากผั0+ใช่+ที่างแป>นพ.มพ&3. ค'านวณ์ num_meter = curr_meter –

last_meter 4. ค'านวณ์ electric_fee = num_meter * 2.55. แสัดงค�า num_meter , electric_fee6. จบการื่ที่'างาน

Page 38: Chapter05

Flow chartSTART

STOP

Num_meter = Curr_meter – Last_meter

Last_meter , Curr_meter

Electric_fee = Num_meter * 2.5

Num_meter , Electric_fee

Page 39: Chapter05

แบบการื่เลั�อกเป�นการื่เขี�ยนโปรื่แกรื่มแบบม�การื่เปรื่�ยบเที่�ยบเง��อนไขี แลัะ

ที่'างานตามค'าสั��งอย�างใดอย�างหน��งตามเง��อนไขีที่��ก'าหนด ผัลัจากการื่เปรื่�ยบเที่�ยบเง��อนไขี จะให+ผัลัลั�พธี&เป�นจรื่.งหรื่�อเที่1จ ถึ+าผัลัเป�นจรื่.ง ให+ที่'างานตามค'าสั��งด+านที่��เง��อนไขีเป�นจรื่.ง ถึ+าเป�นเที่1จให+ที่'าตามค'าสั��งด+านที่��เง��อนไขีเป�นเที่1จ

แบบที่างเลั�อกเด�ยว (IF - THEN) แบบสัองที่างเลั�อก (IF – THEN - ELSE) แบบหลัายที่างเลั�อก (IF – THEN – ELSE IF |

CASE)

Page 40: Chapter05

แบบที่างเลั�อกเด�ยว(1/5)

เง��อนไขี

ปรื่ะโยคงาน

งานลั'าด�บถึ�ดไป

จร#ง

เท.จ

เง��อนไขี

ปรื่ะโยคงาน 1

งานลั'าด�บถึ�ดไป

จร#ง

เท.จ

ปรื่ะโยคงาน 2

Page 41: Chapter05

แบบที่างเลั�อกเด�ยว(2/5)START

STOP

read age

age > 60

“You are old”

true

false

เร#$มต้�น

ร�บื้ค�าใสั�ต้�วแปร age

ถ้�าเป0นจร#ง พิ#มพิ�ขี�อความ You are oldถ้�าเป0นเท.จ ไม�ต้�องท!าอะไร

จบื้การท!างาน

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

Page 42: Chapter05

แบบที่างเลั�อกเด�ยว(3/5)

ร�บื้ค�า รห�สัผั�านจากผั(�ใช้� ถ้�ารห�สัผั�านท$ป4อนมค�า GoodLuck ให�แสัดงขี�อว�า Welcome Manager แลัะขี�อความ Exit Password System

เร#$ม

ร�บื้ค�า ans

ans = “GoodLuck”

พิ#มพิ� Welcome Manager

พิ#มพิ� Exit PasswordSystem

จบื้

จร#ง

เท.จ

Page 43: Chapter05

แบบที่างเลั�อกเด�ยว(4/5) บรื่.ษ�ที่แห�งหน��งต+องการื่เพ.�มเง.นเด�อนให+พน�กงานที่��ม�เง.น

เด�อนต'�ากว�า 5000 อ�กคนลัะ 10% แลัะให+พน�กงานที่3กคนได+รื่�บโบน�สัคนลัะ 3 เที่�าขีองเง.นเด�อน

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

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

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

Page 44: Chapter05

แบบที่างเลั�อกเด�ยว(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 45: Chapter05

ขี+อควรื่จ'า ในการื่เปรื่�ยบเที่�ยบเง��อนไขีแบบ IF – THEN น.ยมให+

ที่'างานตามค'าสั��งเม��อเง��อนไขีม�ค�าเป�นจรื่.ง ไม�น.ยมให+ที่'างามตามค'าสั��งเป�นเที่1จ

เง��อนไขี

ปรื่ะโยคงาน 1

งานลั'าด�บถึ�ดไป

จร#ง

เท.จ

ปรื่ะโยคงาน 2

เง��อนไขี

ปรื่ะโยคงาน 1

งานลั'าด�บถึ�ดไป

จร#ง

เท.จ

ปรื่ะโยคงาน 2

Page 46: Chapter05

เง��อนไขี

ปรื่ะโยคงาน 1

งานลั'าด�บถึ�ดไป

จร#ง

เท.จ

ปรื่ะโยคงาน 2

IF เง��อนไขี THEN BEGIN

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

END;

Page 47: Chapter05

เง��อนไขี

ปรื่ะโยคงาน 1

งานลั'าด�บถึ�ดไป

เท.จ

จร#ง

ปรื่ะโยคงาน 2

IF เง��อนไขี THEN

ELSE BEGIN

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

END;

Page 48: Chapter05

แบบสัองที่างเลั�อก(1/6) การื่ที่'างานขี�)นอย0�ก�บเง��อนไขี ถึ+าเป�นจรื่.งไปที่'างานด+าน

หน��ง ถึ+าเป�นเที่1จก1จะไปที่'างานอ�กอย�างหน��ง

เง��อนไขี

ปรื่ะโยคงาน2

งานลั'าด�บถึ�ดไป

จร#งเท.จ

ปรื่ะโยคงาน1

Page 49: Chapter05

แบบสัองที่างเลั�อก(2/6) ถึ+า sex =1 เง��อนไขี

เป�นจรื่.ง จะเพ.�มค�าต�วแปรื่ Male ขี�)นอ�ก 1

ถึ+า sex =1 เง��อนไขีเป�นเที่1จ จะเพ.�มค�าต�วแปรื่ Female ขี�)นอ�ก 1

Sex = 1

Male = Male +1Female = Female + 1

TrueFalse

Page 50: Chapter05

แบบสัองที่างเลั�อก(3/6)START

STOP

read age

age > 60

“You are old”

truefalse

“You are young”

เร#$มต้�น

ร�บื้ค�าใสั�ต้�วแปร age

ถ้�าเป0นจร#ง พิ#มพิ�ขี�อความ You are oldถ้�าเป0นเท.จ พิ#มพิ�ขี�อความ You are young

จบื้การท!างาน

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

Page 51: Chapter05

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

รื่�บค�า ans

ans = ‘y’ OR ans=‘Y’

พ.มพ& Thank Youพ.มพ& I’m sorry to hear that

จร#งเท.จ

พ.มพ& Do you like Pascal

พ.มพ& Good Bye

จบื้

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

ร�บื้ค�าใสั�ต้�วแปร ans

เร#$มการท!างาน

เปรยบื้เทยบื้ค�า ans เท�าก�บื้ y หร�อ Y- ถ้�าเป0นจร#ง พิ#มพิ�Thank you-ถ้�าเป0นเท.จ พิ#มพิ�I’m sorry to hear that

พิ#มพิ�ค!าว�า Goodbye

จบื้การท!างาน

Page 52: Chapter05

แบบสัองที่างเลั�อก(5/6) บรื่.ษ�ที่แห�งหน��งต+องการื่เพ.�มเง.นเด�อนให+พน�กงานที่��ม�

เง.นเด�อนต'�ากว�า 5000 อ�กคนลัะ 10% แลัะพน�กงานที่��ม�เง.นเด�อนต�)งแต� 5000 เพ.�ม 5% ให+พน�กงานที่3กคนได+รื่�บโบน�สัคนลัะ 3 เที่�าขีองเง.นเด�อน

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

- ถึ+าเป�นจรื่.ง ให+อ�ตรื่าเพ.�มเง.นเด�อน = 10/100- ถึ+าเป�นเที่1จให+อ�ตรื่าเพ.�มเง.นเด�อน = 5/100

3. ค'านวณ์เง.นเด�อน = เง.นเด�อน + (เง.นเด�อน * อ�ตรื่าเพ.�มเง.นเด�อน)

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

Page 53: Chapter05

แบบที่างเลั�อกเด�ยว(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 54: Chapter05

การื่เลั�อกหลัายที่าง(แบบ IF) เป�นรื่0ปแบบการื่เลั�อกการื่

ที่'างานที่��ม�ที่างเลั�อกมากกว�า 2 ที่างขี�)นไป

เง�$อนไขี 1

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

TrueFalse

เง�$อนไขี 2

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

TrueFalse

เง�$อนไขี 3

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

TrueFalse

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

Page 55: Chapter05

การื่เลั�อกหลัายที่าง(แบบ 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 56: Chapter05

การื่เลั�อกหลัายที่าง(แบบ CASE) เป�นรื่0ปแบบการื่เลั�อกการื่ที่'างานที่��ม�ที่างเลั�อกมากกว�า

2 ที่างขี�)นไป

เง�$อนไขี

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

กรณ์ 1 กรณ์ 2 กรณ์ 3 กรณ์ 4

Page 57: Chapter05

การื่เลั�อกหลัายที่าง(แบบ 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 58: Chapter05

แบบวนซั')าแบบก'าหนดรื่อบไว+ลั�วง

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

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

Page 59: Chapter05

แบบก'าหนดรื่อบการื่ที่'างานเอาไว+ลั�วงหน+า ม�การื่ก'าหนดรื่อบการื่ที่'างานซั')าไว+ลั�วงหน+า เม��อครื่บตาม

จ'านวนรื่อบจ�งหย3ดที่'างานซั')าแลั+วที่'าค'าสั��งต�อไป

ก!าหนดรอบื้การท!างาน

ค'าสั��งที่'าซั')า 1

ค'าสั��งที่'าซั')า 2

Next

Page 60: Chapter05

แบบก'าหนดรื่อบการื่ที่'างานเอาไว+ลั�วงหน+า ค�า N จะเรื่.�มต+นที่�� 1 แลัะเพ.�มค�าที่�ลัะ 1 จนกรื่ะที่��ง

มากกว�า 5 จ�งหย3ดการื่ที่'างานซั')า แลัะที่'าค'าสั��งถึ�ดจาก Next ในแต�ลัะรื่อบขีองงานที่��ให+ที่'าซั')าค�อ พ.มพ&ค�าในต�วแปรื่ N ที่�ลัะรื่อบ

For N =1 , 5

Next

Print N

Page 61: Chapter05

แบบตรื่วจสัอบเง��อนไขีก�อนถึ+าเป�นจรื่.งแลั+วค�อยที่'าซั')า แบบตรื่วจสัอบเง��อนไขีก�อน ถึ+าเง��อนไขีย�งเป�นจรื่.งให+

ที่'างานซั')า จนกรื่ะที่��งเง��อนไขีเป�นเที่1จจ�งหย3ดที่'างานซั')า แลั+วไปที่'างานค'าสั��งอ��นถึ�ดไป

เง�$อนไขี

ค!าสั�$งงานซ้ำ!�า 1

True

False

ค!าสั�$งงานซ้ำ!�า 2

Page 62: Chapter05

แบบตรื่วจสัอบเง��อนไขีก�อนถึ+าเป�นจรื่.งแลั+วค�อยที่'าซั')า

ตรื่วจสัอบเง��อนไขีถึ+า N <= 5 ให+พ.มพ& ค�า N เพ.�มค�า N อ�ก 1 (N=N+1)

กลั�บไปตรื่วจสัอบเง��อนไขีอ�ก จนกว�าเง��อนจะเป�นเที่1จ จ�งหย3ดที่'างานซั')า แลั+วไปที่'างานค'าสั��งอ��น

N <=5

N = N+1

True

False

Print N

N = 1

Page 63: Chapter05

แบบที่'าซั')าก�อนแลั+วค�อยตรื่วจเง��อนไขี แบบให+ที่'างานในค'าสั��งที่'าซั')าก�อน

แลั+วค�อยตรื่วจสัอบเง��อนไขี ถึ+าเง��อนไขีย�งเป�นเที่1จให+กลั�บไปที่'างานในค'าสั��งที่'าซั')าอ�ก จนกรื่ะที่��งตรื่วจสัอบแลั+วเง��อนเป�นจรื่.ง จ�งหย3ด แลั+วไปที่'างานค'าสั��งอ��น

เง�$อนไขี

ค!าสั�$งงานซ้ำ!�า 1

True

False

ค!าสั�$งงานซ้ำ!�า 2

Page 64: Chapter05

แบบที่'าซั')าก�อนแลั+วค�อยตรื่วจเง��อนไขี ให+พ.มพ&ค�าในต�วแปรื่ N เพ.�มค�าให+ต�วแปรื่ N อ�ก 1

ตรื่วจสัอบเง��อนไขี ถึ+า N > 5 เป�นจรื่.งให+หย3ดที่'างานซั')า ถึ+าเป�นเที่1จให+กลั�บไปที่'างานค'าสั��งซั')าอ�กรื่อบ

N > 5

True

False

N = N+1

Print N

N = 1

Page 65: Chapter05

จงเขี�ยนลั'าด�บขี�)นตอนขีองผั�งงานต�อไปน�)