Upload
komsun-see
View
2.157
Download
1
Embed Size (px)
Citation preview
หลั�กการเขียนผั�งงาน เบื้��องต้�น
Basic FlowchartingBasic Flowcharting
SAD.
วท 0213 System Analysis and Design
Krukomsun Na-Raungsee
การเขียนผั�งงาน(Flowcharting) ผั�งงาน หมายถึ�ง เครื่��องม�อที่��ช่�วยในการื่เขี�ยนโปรื่แกรื่ม โดย
เขี�ยนเป�นเครื่��องหมายภาพสั�ญลั�กษณ์&แสัดงลั'าด�บขี�)นตอนการื่ที่'างาน
การื่เขี�ยนผั�งงาน เป�นการื่ถึ�ายที่อดความเขี+าใจที่��ได+จากการื่ว.เครื่าะห&งานให+อย0�ในรื่0ปภาพหรื่�อสั�ญลั�กษณ์&
ผั0+เขี�ยนโปรื่แกรื่มจะสัามารื่ถึเขี+าใจลั'าด�บขี�)นตอนการื่เขี�ยนโปรื่แกรื่มได+อย�างรื่วดเรื่1วแลัะง�ายขี�)น แลัะง�ายต�อการื่ตรื่วจสัอบความถึ0กต+องขีองลั'าด�บขี�)นตอนในว.ธี�การื่ปรื่ะมวลัผัลั
งานที่3กช่น.ดที่��ม�การื่ว.เครื่าะห&เป�นลั'าด�บขี�)นตอนแลั+ว เรื่าสัามารื่ถึน'ามาเขี�ยนผั�งงานได+ แม+กรื่ะที่��งงานที่��เก��ยวขี+องก�บช่�ว.ตปรื่ะจ'าว�นขีองเรื่าเอง
ปรื่ะโยช่น&ขีองการื่เขี�ยนผั�งงาน เรื่าสัามารื่ถึเรื่�ยนรื่0 +แลัะเขี+าใจผั�งงานได+ง�าย เพรื่าะผั�งงานไม�
ขี�)นอย0�ก�บภาษาคอมพ.วเตอรื่&ภาษาใดภาษาหน��ง ผั�งงานเป�นการื่สั��อความหมายด+วยภาพ ที่'าให+ง�ายแลัะ
สัะดวกต�อการื่พ.จารื่ณ์าลั'าด�บขี�)นตอนในการื่ที่'างานด�กว�าการื่บรื่รื่ยายเป�นต�วอ�กษรื่
ช่�วยให+การื่ค+นหาความผั.ดพลัาดขีองลั'าด�บการื่ที่'างานได+รื่วดเรื่1ว แลัะสัามารื่ถึแก+ไขีได+ง�าย
การื่เขี�ยนโปรื่แกรื่มโดยพ.จารื่ณ์าจากผั�งงาน สัามารื่ถึที่'าได+รื่วดเรื่1วแลัะง�ายขี�)น
ในการื่บ'ารื่3งรื่�กษาโปรื่แกรื่ม หรื่�อม�การื่เปลั��ยนแปลังแก+ไขีโปรื่แกรื่มให+ม�ปรื่ะสั.ที่ธี.ภาพ ถึ+าด0จากผั�งงานจะช่�วยให+สัามารื่ถึที่บที่วนการื่ที่'างานในโปรื่แกรื่มได+ง�ายขี�)น
ขี+อจ'าก�ดขีองการื่เขี�ยนผั�งงานการื่เขี�ยนผั�งงานไม�เหมาะก�บงานที่��ม�ว.ธี�
การื่ซั�บซั+อน เช่�น ม�การื่ที่��เง��อนไขีในการื่ที่อสัอบมากมาย ซั��งม�กจะใช่+ตารื่างการื่ต�ดสั.นใจ(decision table) เขี+ามาช่�วยมากกว�า
สั�ญลั�กษณ์&ในการื่เขี�ยนผั�งงาน(1/13) การื่เขี�ยนผั�งงานเป�นการื่น'าเอาภาพสั�ญลั�กษณ์&
ต�าง ๆ มาเรื่�ยงต�อก�น เพ��อแสัดงลั'าด�บขี�)นตอนการื่ที่'างาน โดยม�เสั+นลั0กศรื่เช่��อมรื่ะหว�างภาพต�างๆ
สั�ญลั�กษณ์&ในการื่เขี�ยนผั�งงานที่��น.ยมใช่+ก�นน�)น เป�นสั�ญลั�กษณ์&ขีองหน�วยงานที่��ช่��อว�า American National Standard Institute (ANSI) แลัะ International Standard Organization (ISO) เป�นผั0+ก'าหนดแลัะรื่วบรื่วมให+เป�นสั�ญลั�กษณ์&มาตรื่ฐานในการื่เขี�ยนผั�งงาน
สั�ญลั�กษณ์&ในการื่เขี�ยนผั�งงาน(2/13)สั�ญลั�กษณ์�
ความหมาย ต้�วอย�างการใช้�
ค!าอธิ#บื้าย
การเร#$มต้�นหร�อสั#�นสั%ดการเขียนผั�งงาน(Terminal)
1 .เร#$มต้�นผั�งงาน
2. จบื้ผั�งงาน
ร�บื้ขี�อม(ลัหร�อแสัดงขี�อม(ลัโดยไม�ระบื้%สั�$อ(Input/output)
1 .ร�บื้ค�าใสั�ในต้�วแปรช้�$อ name
2. แสัดงค�าจากต้�วแปร area
START
STOP
read name
display area
สั�ญลั�กษณ์&ในการื่เขี�ยนผั�งงาน(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
สั�ญลั�กษณ์&ในการื่เขี�ยนผั�งงาน(4/13)สั�ญลั�กษณ์�
ความหมาย ต้�วอย�างการใช้�
ค!าอธิ#บื้าย
การแสัดงผัลัลั�พิธิ�ทางเคร�$องพิ#มพิ�(Document)
พิ#มพิ�ค�า A ทาง
เคร�$องพิ#มพิ�
การแสัดงผัลัลั�พิธิ�ทางจอภาพิ(Display)
แสัดงค�า A, B
บื้นจอภาพิ
print A
display A , B
สั�ญลั�กษณ์&ในการื่เขี�ยนผั�งงาน(5/13)สั�ญลั�กษณ์�
ความหมาย ต้�วอย�างการใช้�
ค!าอธิ#บื้าย
หมายเหต้%(Comment)ร�บื้ค�าทางการกดแป4นพิ#มพิ�(Manual Input)
ร�บื้ค�า A ทางแป4นพิ#มพิ�
read A A = Age
read A
สั�ญลั�กษณ์&ในการื่เขี�ยนผั�งงาน(6/13)สั�ญลั�กษณ์�
ความหมาย ต้�วอย�างการใช้�
ค!าอธิ#บื้าย
การก!าหนดค�าต้�างๆ ไว�ลั�วงหน�า(Preparation)
ก!าหนดให� i มค�าเท�าก�บื้
1 แลัะเพิ#$มค�าทลัะ 1
จนมค�าเป0น 100 จ5งออก
จากการท!างานซ้ำ!�า โดยแต้�ลัะรอบื้
บื้วกค�า sum ด�วยค�า i
แสัดงท#ศทางแลัะลั!าด�บื้ขีองการท!างาน(Flow line)
for i =1 to 100
sum = sum + i
i
สั�ญลั�กษณ์&ในการื่เขี�ยนผั�งงาน(7/13)สั�ญลั�กษณ์�
ความหมาย ต้�วอย�างการใช้�
ค!าอธิ#บื้าย
จ%ดต้�อเน�$องในหน�าเดยวก�น(In-Page connector)
หลั�งจากพิ#มพิ�ค�า A
แลั�วให�ท!าต้ามท$จ%ด
ต้�อเน�$อง A ซ้ำ5$งอย(�ใน
หน�าเดยวก�นจ%ดต้�อเน�$องท$อย(�คนลัะหน�า(Off-Page Connector)
หลั�งจากก!าหนดค�า A
เท�าก�บื้ 3 ให�ท!าต้าม
จ%ดต้�อเน�$องช้�$อ 1 ซ้ำ5$ง
ไม�ได�อย(�ในหน�าเดยวก�น
A
write A
A = 3
1
สั�ญลั�กษณ์&ในการื่เขี�ยนผั�งงาน(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
สั�ญลั�กษณ์&ในการื่เขี�ยนผั�งงาน(9/13)สั�ญลั�กษณ์�
ความหมาย ต้�วอย�างการใช้�
ค!าอธิ#บื้าย
การร�บื้หร�อแสัดงขี�อม(ลัโดยใช้�เทปกระดาษ(Punched tape)
อ�านค�า ID , name
บื้นเทปกระดาษ
การร�บื้หร�อแสัดงขี�อม(ลัโดยใช้�เทปแม�เหลั.กเป0นสั�$อ(Magnatic tape)
read ID , name
สั�ญลั�กษณ์&ในการื่เขี�ยนผั�งงาน(10/13)สั�ญลั�กษณ์�
ความหมาย ต้�วอย�างการใช้�
ค!าอธิ#บื้าย
การร�บื้หร�อแสัดงขี�อม(ลัโดยใช้�จานแม�เหลั.กเป0นสั�$อ(Magnatic disk)การร�บื้หร�อแสัดงขี�อม(ลัโดยใช้�ดร�มแม�เหลั.กเป0นสั�$อ(Magnatic drum)
สั�ญลั�กษณ์&ในการื่เขี�ยนผั�งงาน(11/13)สั�ญลั�กษณ์�
ความหมาย ต้�วอย�างการใช้�
ค!าอธิ#บื้าย
การท!างานท$ก!าหนดไว�แลั�ว เช้�น โปรแกรมย�อย(Predefine Process)
เรยกโปรแกรม
ย�อยช้�$อ findGrade
ให�ท!างานการควบื้ค%มการท!างานด�วยมน%ษย� บื้างคร��งเรยกการท!างานแบื้บื้ออฟไลัน� (Offline Processing)
findGrade
สั�ญลั�กษณ์&ในการื่เขี�ยนผั�งงาน(12/13)สั�ญลั�กษณ์�
ความหมาย ต้�วอย�างการใช้�
ค!าอธิ#บื้าย
การท!างานแบื้บื้ออฟไลัน�ขีองอ%ปกรณ์�ท$ไม�ได�ถ้(กควบื้ค%มจากหน�วยประมวลัผัลักลัางโดยต้รง(Auxiliary Operation)
การจ�ดเรยงลั!าด�บื้ขี�อม(ลั(Sorting)
สั�ญลั�กษณ์&ในการื่เขี�ยนผั�งงาน(13/13)สั�ญลั�กษณ์�
ความหมาย ต้�วอย�างการใช้�
ค!าอธิ#บื้าย
การสั�งขี�อม(ลัทางสัายสั�$อสัาร(Communication Link)
ต�วอย�างผั�งงานที่��วไป(1/3) แสัดงการื่โยนเหรื่�ยญ 3 ครื่�)ง ถึ+าออกห�ว ผั0+โยนจะได+เง.น 10 บาที่ ถึ+าออกก+อย ผั0+โยนจะเสั�ยเง.น 10 บาที่
เร#$มต้�น
โยนเหรยญ
ผัลัการโยน
ได�เง#น 10 บื้าทเสัยเง#น 10 บื้าท
ครบื้ 3 คร��งหร�อย�ง?
หย%ด
ห�วก�อย
ย�ง
ครบื้
ต+มม�าม�า/ย'าย'า/
ต�วอย�างผั�งงานที่��วไป(2/3)
ผั�งงานแสัดงการื่เด.นขี+ามถึนนที่��ม�สั�ญญาณ์ไฟจรื่าจรื่
เร#$มต้�น
รอสั�ญญาณ์ไฟ
ไฟแดงหร�อไม�
เด#นขี�ามถ้นน
หย%ด
ใช้�
ไม�ใช้�
ต�วอย�างผั�งงานที่��วไป(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 เม.ด
หย%ด
ใช้�
ใช้�
ใช้�
ไม�ใช้�
ไม�ใช้�
ไม�ใช้�
ผั�งงานที่างคอมพ.วเตอรื่&ผั�งงานที่างคอมพ.วเตอรื่&แบ�งออกเป�น 2 ปรื่ะเภที่ ได+แก�
ผั�งงานรื่ะบบ (System flowchart)
ผั�งงานโปรื่แกรื่ม (Program flowchart)
ผั�งงานรื่ะบบ(System flowchart) เป�นผั�งงานที่��ใช่+แสัดงขี�)นตอนการื่ที่'างานขีองรื่ะบบงาน
อย�างกว+าง ๆ ที่�)งรื่ะบบ โดยแสัดงให+เห1นถึ�งความสั�มพ�นธี&ขีองสั�วนสั'าค�ญต�าง ๆ ในรื่ะบบน�)น
เช่�น เอกสัารื่เบ�)องต+น หรื่�อสั��อบ�นที่�กที่��ใช่+อย0�เป�นอะไรื่ แลัะผั�านไปย�งหน�วยงานใด ม�ก.จกรื่รื่มอะไรื่ในหน�วยงานน�)น ๆ แลั+วสั�งต�อไปย�งหน�วยงานใด เป�นต+น
ด�งน�)น ผั�งงานรื่ะบบ จะเก��ยวขี+องก�บ คน ว�สัด3 แลัะเครื่��องจ�กรื่ โดยแสัดงการื่น'าขี+อม0ลัเขี+า ปรื่ะมวลัผัลั แสัดงผัลัลั�พธี& ว�ามาจากที่��ใดกว+าง ๆ
ต�วอย�างผั�งงานรื่ะบบ ผั�งงานแสัดงการื่ค'านวณ์
พ�)นที่��สัามเหลั��ยมจ'านวน 100 รื่0ป
เร#$มต้�น
บื้�นท5กความสั(งแลัะความยาวฐานลังในด#สัก�
ร�บื้ความสั(ง แลัะความยาวฐานขีองสัามเหลั$ยม 100 ร(ป
ด#สัก�ท$บื้�นท5กแลั�ว
ค!านวณ์พิ��นท$ขีองสัามเหลั$ยม
พิ#มพิ�รายงานขีองพิ��นท$สัามเหลั$ยม
จบื้
ผั�งงานโปรแกรม(Program flowchart)
เป�นผั�งงานที่��แสัดงขี�)นตอนขีองค'าสั��งที่��ใช่+ในโปรื่แกรื่ม
ผั�งงานน�)แยกย�อยมาจากผั�งงานรื่ะบบ โดยผั0+เขี�ยนโปรื่แกรื่มจะด�งเอาแต�ลัะจ3ดที่��เก��ยวขี+องก�บการื่ปรื่ะมวลัผัลัในคอมพ.วเตอรื่&ที่��ปรื่ากฏในผั�งงานรื่ะบบมาเขี�ยนแสัดงรื่ายลัะเอ�ยดในการื่ปรื่ะมวลัผัลัอย�างเป�นลั'าด�บขี�)นตอน เพ��อน'าไปปรื่ะกอบการื่เขี�ยนโปรื่แกรื่มต�อไป
ต�วอย�างผั�งงานโปรื่แกรื่ม ผั�งงานแสัดงการื่
ค'านวณ์พ�)นที่��สัามเหลั��ยมจ'านวน 100 รื่0ป
เร#$มต้�น
ร�บื้ความสั(ง แลัะความยาวฐานทลัะร(ป
ครบื้ 100 ร(ปแลั�วใช้�หร�อไม�
ค!านวณ์พิ��นท$= 0.5 * ฐาน * สั(ง
พิ#มพิ�พิ��นท$สัามเหลั$ยมทลัะร(ป
จบื้
ไม�ใช้�
ใช้�
เปรื่�ยบเที่�ยบผั�งงานรื่ะบบแลัะผั�งงานโปรื่แกรื่มเร#$มต้�น
บื้�นท5กความสั(งแลัะความยาวฐานลังในด#สัก�
ร�บื้ความสั(ง แลัะความยาวฐานขีองสัามเหลั$ยม 100 ร(ป
ด#สัก�ท$บื้�นท5กแลั�ว
ค!านวณ์พิ��นท$ขีองสัามเหลั$ยม
พิ#มพิ�รายงานขีองพิ��นท$สัามเหลั$ยม
จบื้
เร#$มต้�น
ร�บื้ความสั(ง แลัะความยาวฐานทลัะร(ป
ครบื้ 100 ร(ปแลั�วใช้�หร�อไม�
ค!านวณ์พิ��นท$= 0.5 * ฐาน * สั(ง
พิ#มพิ�พิ��นท$สัามเหลั$ยมทลัะร(ป
จบื้
ไม�ใช้�
ใช้�
ผั�งงานระบื้บื้
ผั�งงานโปรแกรม
หลั�กการื่จ�ดภาพผั�งงาน(1/2) ที่.ศที่างขีองผั�งงาน
จะเรื่.�มจากสั�วนบนขีองหน+ากรื่ะดาษลังมาย�งสั�วนลั�าง แลัะจากซั+ายม�อไปขีองหน+ากรื่ะดาษ แลัะควรื่เขี�ยนเครื่��องหมายลั0กศรื่ก'าก�บที่.ศที่างไว+ด+วย
START
STOP
read age
age > 60
“You are old”
true
false
บื้น
ลั�าง
ท#ศทางขีองเสั�น
หลั�กการื่จ�ดภาพผั�งงาน(2/2) สั�ญลั�กษณ์&หรื่�อภาพ
ที่��ใช่+ในการื่เขี�ยนผั�งงานม�ขีนาดต�าง ๆ ก�นได+ แต�จะต+องม�รื่0ปมาตรื่ฐานตามความหมายที่��ก'าหนด
START
sum = 0
i = 1 to 10
sum = sum + i
i
sum
STOP
ขีนาดขีองสั�ญลั�กษณ์&ปรื่�บให+เหมาะสัมก�บขี+อความในสั�ญลั�กษณ์&
หลั�กการื่จ�ดภาพผั�งงาน(3/2) การื่เขี�ยนที่.ศที่างขีองผั�งงานควรื่เป�นไปอย�างม�
รื่ะเบ�ยบ แลัะหลั�กเลั��ยงการื่ขี�ดโยงไปโยงมาในที่.ศที่างต�ดก�น ถึ+าจ'าเป�นต+องโยงถึ�งก�น ควรื่ใช่+เครื่��องหมายจ3ดต�อเน��องแที่นแลัะถึ+าเป�นไปได+ควรื่เขี�ยนผั�งงานให+จบในหน+าเด�ยวก�น
ค'าอธี.บายในภาพ เขี�ยนเพ�ยงสั�)น ๆ แลัะเขี+าใจง�าย ผั�งงานที่��ด�ควรื่จะม�ความเป�นรื่ะเบ�ยบเรื่�ยบรื่+อย
แลัะสัะอาด นอกจากน�)แลั+ว จะม�ช่��อขีองผั�งงาน ผั0+เขี�ยน ว�นที่��เขี�ยน แลัะเลัขีหน+าลั'าด�บ
รื่0ปแบบการื่เขี�ยนผั�งงานแบบตามลั'าด�บ (Sequence)แบบการื่เลั�อก/ต�ดสั.นใจ/เง��อนไขี (Selection/Decision/Condition)
แบบวนซั')า (Iteration / Loop)
รื่0ปแบบตามลั'าด�บ(1/3) เป�นรื่0ปแบบการื่เขี�ยนโปรื่แกรื่มที่��ง�ายที่��สั3ด ที่'างานที่�ลัะ
อย�างจากบนลังลั�าง แสัดงลั'าด�บการื่ที่'างานจากบนลังลั�างตามลั0กศรื่
งานท$ 1
งานท$ 2
งานท$ 3
อ�านขี�อม(ลั
ค!านวณ์ขี�อม(ลั
พิ#มพิ�ผัลัลั�พิธิ�
ค!านวณ์
ค!านวณ์
ค!านวณ์
รื่0ปแบบตามลั'าด�บ(2/3)START
STOP
A = 5
B = 3
C = A + B
print C
เร#$มต้�นก!าหนดค�าต้�วแปร A มค�าเป0น 5
ก!าหนดค�าต้�วแปร B มค�าเป0น 3
เอาค�า A บื้วกก�บื้ B แลั�วเก.บื้ไว�ใน C
พิ#มพิ�ค�า C
จบื้การท!างาน
รื่0ปแบบตามลั'าด�บ(3/3)
เร#$มต้�นร�บื้ขี�อม(ลัมาเก.บื้ไว�ในต้�วแปร A, B ทางแป4นพิ#มพิ�
เอาค�า A บื้วกก�บื้ B แลั�วเก.บื้ไว�ใน C
พิ#มพิ�ค�า C
จบื้การท!างาน
START
STOP
C = A + B
print C
A , B
ต�วอย�างการื่เขี�ยนผั�งงานแบบตามลั'าด�บ จงเขี�ยนโปรื่แกรื่มค'านวณ์ค�าไฟฟ>า โดยรื่�บค�า
ม.เตอรื่&จ'านวนการื่ใช่+ไฟฟ>าขีองเด�อนที่��แลั+ว แลัะค�าม.เตอรื่&การื่ใช่+ไฟฟ>าขีองเด�อนป?จจ3บ�น ค'านวณ์ค�าไฟฟ>า โดยค.ดอ�ตรื่า 25. บาที่ 1/ หน�วยม.เตอรื่&
1 .สั.�งที่��โจที่ย&ต+องการื่ค�าไฟฟ>า
2. รื่0ปแบบผัลัลั�พธี&ป4อนเลัขีม#เต้อร�เด�อนท$แลั�ว --> <รอร�บื้เลัขีม#เต้อร�เด�อนท$แลั�ว>ป4อนเลัขีม#เต้อร�เด�อนป;จจ%บื้�น--> <รอร�บื้เลัขีม#เต้อร�เด�อนป;จจ%บื้�น>-----------------------------------------------------จ!านวนหน�วยไฟฟ4าท$ใช้� : <แสัดงจ!านวนหน�วยไฟฟ4าท$ใช้�>ค�าไฟฟ4า : <แสัดงค�าไฟฟ4า>
ต�วอย�างการื่เขี�ยนผั�งงานแบบตามลั'าด�บ3. ขี+อม0ลัน'าเขี+า
เลัขีม.เตอรื่&เด�อนที่��แลั+ว เลัขีม.เตอรื่&เด�อนป?จจ3บ�น
4. ต�วแปรื่ที่��ใช่+ในการื่ปรื่ะมวลัผัลั Last_meter แที่น เลัขีม.เตอรื่&เด�อนที่��แลั+ว Curr_meter แที่น เลัขีม.เตอรื่&เด�อนป?จจ3บ�น Num_meter แที่น จ'านวนหน�วยม.เตอรื่&ที่��ใช่+ Electric_fee แที่น ค�าไฟฟ>า
ต�วอย�างการื่เขี�ยนผั�งงานแบบตามลั'าด�บ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. จบการื่ที่'างาน
Flow chartSTART
STOP
Num_meter = Curr_meter – Last_meter
Last_meter , Curr_meter
Electric_fee = Num_meter * 2.5
Num_meter , Electric_fee
แบบการื่เลั�อกเป�นการื่เขี�ยนโปรื่แกรื่มแบบม�การื่เปรื่�ยบเที่�ยบเง��อนไขี แลัะ
ที่'างานตามค'าสั��งอย�างใดอย�างหน��งตามเง��อนไขีที่��ก'าหนด ผัลัจากการื่เปรื่�ยบเที่�ยบเง��อนไขี จะให+ผัลัลั�พธี&เป�นจรื่.งหรื่�อเที่1จ ถึ+าผัลัเป�นจรื่.ง ให+ที่'างานตามค'าสั��งด+านที่��เง��อนไขีเป�นจรื่.ง ถึ+าเป�นเที่1จให+ที่'าตามค'าสั��งด+านที่��เง��อนไขีเป�นเที่1จ
แบบที่างเลั�อกเด�ยว (IF - THEN) แบบสัองที่างเลั�อก (IF – THEN - ELSE) แบบหลัายที่างเลั�อก (IF – THEN – ELSE IF |
CASE)
แบบที่างเลั�อกเด�ยว(1/5)
เง��อนไขี
ปรื่ะโยคงาน
งานลั'าด�บถึ�ดไป
จร#ง
เท.จ
เง��อนไขี
ปรื่ะโยคงาน 1
งานลั'าด�บถึ�ดไป
จร#ง
เท.จ
ปรื่ะโยคงาน 2
แบบที่างเลั�อกเด�ยว(2/5)START
STOP
read age
age > 60
“You are old”
true
false
เร#$มต้�น
ร�บื้ค�าใสั�ต้�วแปร age
ถ้�าเป0นจร#ง พิ#มพิ�ขี�อความ You are oldถ้�าเป0นเท.จ ไม�ต้�องท!าอะไร
จบื้การท!างาน
เปรยบื้เทยบื้ค�า age มากกว�า 60
แบบที่างเลั�อกเด�ยว(3/5)
ร�บื้ค�า รห�สัผั�านจากผั(�ใช้� ถ้�ารห�สัผั�านท$ป4อนมค�า GoodLuck ให�แสัดงขี�อว�า Welcome Manager แลัะขี�อความ Exit Password System
เร#$ม
ร�บื้ค�า ans
ans = “GoodLuck”
พิ#มพิ� Welcome Manager
พิ#มพิ� Exit PasswordSystem
จบื้
จร#ง
เท.จ
แบบที่างเลั�อกเด�ยว(4/5) บรื่.ษ�ที่แห�งหน��งต+องการื่เพ.�มเง.นเด�อนให+พน�กงานที่��ม�เง.น
เด�อนต'�ากว�า 5000 อ�กคนลัะ 10% แลัะให+พน�กงานที่3กคนได+รื่�บโบน�สัคนลัะ 3 เที่�าขีองเง.นเด�อน
ขี�)นตอนการื่ปรื่ะมวลัผัลั1 .รื่�บค�าช่��อพน�กงาน . เง.นเด�อน2. เปรื่�ยบเที่�ยบค�า เง.นเด�อน
- ถึ+าน+อยกว�า 5000 ให+เง.นเด�อน = เง.นเด�อน + (เง.นเด�อน * 10/100)
3. ค'านวณ์โบน�สั = เง.นเด�อน *34. แสัดงผัลัลั�พธี&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
แต้�ไม�ต้�องเขียนเสั�นเช้�$อมน�
ขี+อควรื่จ'า ในการื่เปรื่�ยบเที่�ยบเง��อนไขีแบบ IF – THEN น.ยมให+
ที่'างานตามค'าสั��งเม��อเง��อนไขีม�ค�าเป�นจรื่.ง ไม�น.ยมให+ที่'างามตามค'าสั��งเป�นเที่1จ
เง��อนไขี
ปรื่ะโยคงาน 1
งานลั'าด�บถึ�ดไป
จร#ง
เท.จ
ปรื่ะโยคงาน 2
เง��อนไขี
ปรื่ะโยคงาน 1
งานลั'าด�บถึ�ดไป
จร#ง
เท.จ
ปรื่ะโยคงาน 2
เง��อนไขี
ปรื่ะโยคงาน 1
งานลั'าด�บถึ�ดไป
จร#ง
เท.จ
ปรื่ะโยคงาน 2
IF เง��อนไขี THEN BEGIN
ปรื่ะโยคงาน 1 ;ปรื่ะโยคงาน 2 ;
END;
เง��อนไขี
ปรื่ะโยคงาน 1
งานลั'าด�บถึ�ดไป
เท.จ
จร#ง
ปรื่ะโยคงาน 2
IF เง��อนไขี THEN
ELSE BEGIN
ปรื่ะโยคงาน 1 ;ปรื่ะโยคงาน 2 ;
END;
แบบสัองที่างเลั�อก(1/6) การื่ที่'างานขี�)นอย0�ก�บเง��อนไขี ถึ+าเป�นจรื่.งไปที่'างานด+าน
หน��ง ถึ+าเป�นเที่1จก1จะไปที่'างานอ�กอย�างหน��ง
เง��อนไขี
ปรื่ะโยคงาน2
งานลั'าด�บถึ�ดไป
จร#งเท.จ
ปรื่ะโยคงาน1
แบบสัองที่างเลั�อก(2/6) ถึ+า sex =1 เง��อนไขี
เป�นจรื่.ง จะเพ.�มค�าต�วแปรื่ Male ขี�)นอ�ก 1
ถึ+า sex =1 เง��อนไขีเป�นเที่1จ จะเพ.�มค�าต�วแปรื่ Female ขี�)นอ�ก 1
Sex = 1
Male = Male +1Female = Female + 1
TrueFalse
แบบสัองที่างเลั�อก(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
แบบสัองที่างเลั�อก(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
จบื้การท!างาน
แบบสัองที่างเลั�อก(5/6) บรื่.ษ�ที่แห�งหน��งต+องการื่เพ.�มเง.นเด�อนให+พน�กงานที่��ม�
เง.นเด�อนต'�ากว�า 5000 อ�กคนลัะ 10% แลัะพน�กงานที่��ม�เง.นเด�อนต�)งแต� 5000 เพ.�ม 5% ให+พน�กงานที่3กคนได+รื่�บโบน�สัคนลัะ 3 เที่�าขีองเง.นเด�อน
ขี�)นตอนการื่ปรื่ะมวลัผัลั1 .รื่�บค�าช่��อพน�กงาน . เง.นเด�อน2. เปรื่�ยบเที่�ยบค�า เง.นเด�อน < 5000
- ถึ+าเป�นจรื่.ง ให+อ�ตรื่าเพ.�มเง.นเด�อน = 10/100- ถึ+าเป�นเที่1จให+อ�ตรื่าเพ.�มเง.นเด�อน = 5/100
3. ค'านวณ์เง.นเด�อน = เง.นเด�อน + (เง.นเด�อน * อ�ตรื่าเพ.�มเง.นเด�อน)
4. โบน�สั = เง.นเด�อน *35. แสัดงผัลัลั�พธี&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)
การื่เลั�อกหลัายที่าง(แบบ IF) เป�นรื่0ปแบบการื่เลั�อกการื่
ที่'างานที่��ม�ที่างเลั�อกมากกว�า 2 ที่างขี�)นไป
เง�$อนไขี 1
ค'าสั��งที่�� 1
TrueFalse
เง�$อนไขี 2
ค'าสั��งที่�� 2
TrueFalse
เง�$อนไขี 3
ค'าสั��งที่�� 3
TrueFalse
ค'าสั��งที่�� 4
การื่เลั�อกหลัายที่าง(แบบ 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
การื่เลั�อกหลัายที่าง(แบบ CASE) เป�นรื่0ปแบบการื่เลั�อกการื่ที่'างานที่��ม�ที่างเลั�อกมากกว�า
2 ที่างขี�)นไป
เง�$อนไขี
ค'าสั��งที่�� 2ค'าสั��งที่�� 1 ค'าสั��งที่�� 4ค'าสั��งที่�� 3
กรณ์ 1 กรณ์ 2 กรณ์ 3 กรณ์ 4
การื่เลั�อกหลัายที่าง(แบบ 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
แบบวนซั')าแบบก'าหนดรื่อบไว+ลั�วง
หน+า(Controlled Loop)แบบตรื่วจสัอบเง��อนไขีก�อน(Pre-Test Condition)
แบบตรื่วจสัอบเง��อนไขีที่�หลั�ง(Post-Test Condition)
แบบก'าหนดรื่อบการื่ที่'างานเอาไว+ลั�วงหน+า ม�การื่ก'าหนดรื่อบการื่ที่'างานซั')าไว+ลั�วงหน+า เม��อครื่บตาม
จ'านวนรื่อบจ�งหย3ดที่'างานซั')าแลั+วที่'าค'าสั��งต�อไป
ก!าหนดรอบื้การท!างาน
ค'าสั��งที่'าซั')า 1
ค'าสั��งที่'าซั')า 2
Next
แบบก'าหนดรื่อบการื่ที่'างานเอาไว+ลั�วงหน+า ค�า N จะเรื่.�มต+นที่�� 1 แลัะเพ.�มค�าที่�ลัะ 1 จนกรื่ะที่��ง
มากกว�า 5 จ�งหย3ดการื่ที่'างานซั')า แลัะที่'าค'าสั��งถึ�ดจาก Next ในแต�ลัะรื่อบขีองงานที่��ให+ที่'าซั')าค�อ พ.มพ&ค�าในต�วแปรื่ N ที่�ลัะรื่อบ
For N =1 , 5
Next
Print N
แบบตรื่วจสัอบเง��อนไขีก�อนถึ+าเป�นจรื่.งแลั+วค�อยที่'าซั')า แบบตรื่วจสัอบเง��อนไขีก�อน ถึ+าเง��อนไขีย�งเป�นจรื่.งให+
ที่'างานซั')า จนกรื่ะที่��งเง��อนไขีเป�นเที่1จจ�งหย3ดที่'างานซั')า แลั+วไปที่'างานค'าสั��งอ��นถึ�ดไป
เง�$อนไขี
ค!าสั�$งงานซ้ำ!�า 1
True
False
ค!าสั�$งงานซ้ำ!�า 2
แบบตรื่วจสัอบเง��อนไขีก�อนถึ+าเป�นจรื่.งแลั+วค�อยที่'าซั')า
ตรื่วจสัอบเง��อนไขีถึ+า N <= 5 ให+พ.มพ& ค�า N เพ.�มค�า N อ�ก 1 (N=N+1)
กลั�บไปตรื่วจสัอบเง��อนไขีอ�ก จนกว�าเง��อนจะเป�นเที่1จ จ�งหย3ดที่'างานซั')า แลั+วไปที่'างานค'าสั��งอ��น
N <=5
N = N+1
True
False
Print N
N = 1
แบบที่'าซั')าก�อนแลั+วค�อยตรื่วจเง��อนไขี แบบให+ที่'างานในค'าสั��งที่'าซั')าก�อน
แลั+วค�อยตรื่วจสัอบเง��อนไขี ถึ+าเง��อนไขีย�งเป�นเที่1จให+กลั�บไปที่'างานในค'าสั��งที่'าซั')าอ�ก จนกรื่ะที่��งตรื่วจสัอบแลั+วเง��อนเป�นจรื่.ง จ�งหย3ด แลั+วไปที่'างานค'าสั��งอ��น
เง�$อนไขี
ค!าสั�$งงานซ้ำ!�า 1
True
False
ค!าสั�$งงานซ้ำ!�า 2
แบบที่'าซั')าก�อนแลั+วค�อยตรื่วจเง��อนไขี ให+พ.มพ&ค�าในต�วแปรื่ N เพ.�มค�าให+ต�วแปรื่ N อ�ก 1
ตรื่วจสัอบเง��อนไขี ถึ+า N > 5 เป�นจรื่.งให+หย3ดที่'างานซั')า ถึ+าเป�นเที่1จให+กลั�บไปที่'างานค'าสั��งซั')าอ�กรื่อบ
N > 5
True
False
N = N+1
Print N
N = 1
จงเขี�ยนลั'าด�บขี�)นตอนขีองผั�งงานต�อไปน�)