flowchart
TRANSCRIPT
Basic Flowcharting
การเขี�ยนผังงาน(Flowcharting)
ผังงาน หมายถึ�ง เคร��องม�อที่��ช่�วยในการเขี�ยนโปรแกรม โดยเขี�ยนเป�นเคร��องหมายภาพสัญลักษณ์&แสัดงลั'าดบขี)นตอนการที่'างาน
การเขี�ยนผังงาน เป�นการถึ�ายที่อดความเขี+าใจที่��ได+จากการว.เคราะห&งานให+อย0�ในร0ปภาพหร�อสัญลักษณ์&
ผั0+เขี�ยนโปรแกรมจะสัามารถึเขี+าใจลั'าดบขี)นตอนการเขี�ยนโปรแกรมได+อย�างรวดเร1วแลัะง�ายขี�)น แลัะง�ายต�อการตรวจสัอบความถึ0กต+องขีองลั'าดบขี)นตอนในว.ธี�การประมวลัผัลั
การเขี�ยนผังงาน(Flowcharting)
งานที่3กช่น.ดที่��ม�การว.เคราะห&เป�นลั'าดบขี)นตอนแลั+ว เราสัามารถึน'ามาเขี�ยนผังงานได+ แม+กระที่�งงานที่��เก��ยวขี+องกบช่�ว.ตประจ'าวนขีองเราเอง
ตวอย�างผังงานที่�วไป(1/3)
แสัดงการโยนเหร�ยญ 3 คร)ง ถึ+าออกหว ผั0+โยนจะได+เง.น 10 บาที่ ถึ+าออกก+อย ผั0+โยนจะเสั�ยเง.น 10 บาที่
เร.�มต+น
โยนเหร�ยญ
ผัลัการโยน
ได+เง.น 10 บาที่เสั�ยเง.น 10 บาที่
ครบ 3 คร)งหร�อยง?
หย3ด
หวก+อย
ยง
ครบ
ตวอย�างผังงานที่�วไป(2/3)
ผังงานแสัดงการเด.นขี+ามถึนนที่��ม�สัญญาณ์ไฟจราจร
เร.�มต+น
รอสัญญาณ์ไฟ
ไฟแดงหร�อไม�
เด.นขี+ามถึนน
หย3ด
ใช่�
ไม�ใช่�
ตวอย�างผังงานที่�วไป(3/3)ผังงานพ.จารณ์าการ
ใช่+ยาตามฉลัากยาที่��ป6ดขี+างขีวด แยกตามขีนาดการใช่+ดงน�)
–อาย3ต'�ากว�า 5 ป7 ห+ามรบประที่าน
–อาย3 5 - 7 ป7 คร)งลัะ 1 เม1ด
–อาย3 8 - 14 ป7 คร)งลัะ 2 เม1ด
–อาย3 15 ป7ขี�)นไป คร)งลัะ 3 เม1ด
เร.�มต+นอาย3ต'�ากว�า
5 ป7 ห+ามรบประที่าน
อาย3 5 ป7ขี)นไป แต�ไม�ถึ�ง 8 ป7 คร)งลัะ 1 เม1ด
อาย3 8 ป7ขี)นไปแต�ไม�ถึ�ง 15 ป7 คร)งลัะ 2 เม1ด
คร)งลัะ 3 เม1ด
หย3ด
ใช่�
ใช่�
ใช่�
ไม�ใช่�
ไม�ใช่�
ไม�ใช่�
ผังงานที่างคอมพ.วเตอร&ผังงานที่างคอมพ.วเตอร&แบ�งออกเป�น 2 ประเภที่ ได+แก�
ผังงานระบบ (System flowchart)
ผังงานโปรแกรม (Program flowchart)
ผังงานระบบ(System flowchart) ใช่+แสัดงขี)นตอนการที่'างานขีองระบบงาน
อย�างกว+าง ๆ ที่)งระบบ โดยแสัดงให+เห1นถึ�งความสัมพนธี&ขีองสั�วนสั'าคญต�าง ๆ ในระบบน)น
เช่�น เอกสัารเบ�)องต+น หร�อสั��อบนที่�กที่��ใช่+อย0�เป�นอะไร แลัะผั�านไปยงหน�วยงานใด ม�ก.จกรรมอะไรในหน�วยงานน)น ๆ แลั+วสั�งต�อไปยงหน�วยงานใด เป�นต+น ดงน)น ผังงานระบบ จะเก��ยวขี+องกบ คน วสัด3 แลัะเคร��องจกร โดยแสัดงการน'าขี+อม0ลัเขี+า ประมวลัผัลั แสัดงผัลัลัพธี& ว�ามาจากที่��ใดกว+าง ๆ
ตวอย�างผังงานระบบ
ผังงานแสัดงการค'านวณ์พ�)นที่��สัามเหลั��ยมจ'านวน 100 ร0ป
เร.�มต+น
บนที่�กความสั0งแลัะความยาวฐานลังในด.สัก&
รบความสั0ง แลัะความยาวฐานขีองสัามเหลั��ยม 100 ร0ป
ด.สัก&ที่��บนที่�กแลั+ว
ค'านวณ์พ�)นที่��ขีองสัามเหลั��ยม
พ.มพ&รายงานขีองพ�)นที่��สัามเหลั��ยม
จบ
ผังงานโปรแกรม(Program
flowchart) เป�นผังงานที่��แสัดงขี)นตอนขีองค'าสั�งที่��ใช่+ใน
โปรแกรม
ผังงานน�)แยกย�อยมาจากผังงานระบบ โดยผั0+เขี�ยนโปรแกรมจะด�งเอาแต�ลัะจ3ดที่��เก��ยวขี+องกบการประมวลัผัลัในคอมพ.วเตอร&ที่��ปรากฏใน ผังงานระบบมาเขี�ยนแสัดงรายลัะเอ�ยดในการประมวลัผัลัอย�างเป�นลั'าดบขี)นตอน เพ��อน'าไปประกอบการเขี�ยนโปรแกรมต�อไป
ตวอย�างผังงานโปรแกรม
ผังงานแสัดงการค'านวณ์พ�)นที่��สัามเหลั��ยมจ'านวน 100 ร0ป
เร.�มต+น
รบความสั0ง แลัะความยาวฐานที่�ลัะร0ป
ครบ 100 ร0ปแลั+วใช่�หร�อไม�
ค'านวณ์พ�)นที่��= 0.5 * ฐาน * สั0ง
พ.มพ&พ�)นที่��สัามเหลั��ยมที่�ลัะร0ป
จบ
ไม�ใช่�
ใช่�
เปร�ยบเที่�ยบผังงานระบบแลัะผังงานโปรแกรมเร.�มต+น
บนที่�กความสั0งแลัะความยาวฐานลังในด.สัก&
รบความสั0ง แลัะความยาวฐานขีองสัามเหลั��ยม 100 ร0ป
ด.สัก&ที่��บนที่�กแลั+ว
ค'านวณ์พ�)นที่��ขีองสัามเหลั��ยม
พ.มพ&รายงานขีองพ�)นที่��สัามเหลั��ยม
จบ
เร.�มต+น
รบความสั0ง แลัะความยาวฐานที่�ลัะร0ป
ครบ 100 ร0ปแลั+วใช่�หร�อไม�
ค'านวณ์พ�)นที่��= 0.5 * ฐาน * สั0ง
พ.มพ&พ�)นที่��สัามเหลั��ยมที่�ลัะร0ป
จบ
ไม�ใช่�
ใช่�
ผังงานระบบ
ผังงานโปรแกรม
ประโยช่น&ขีองการเขี�ยนผังงาน เราสัามารถึเร�ยนร0+แลัะเขี+าใจผังงานได+ง�าย เพราะ
ผังงานไม�ขี�)นอย0�กบภาษาคอมพ.วเตอร&ภาษาใดภาษาหน��ง
ผังงานเป�นการสั��อความหมายด+วยภาพ ที่'าให+ง�ายแลัะสัะดวกต�อการพ.จารณ์าลั'าดบขี)นตอนในการที่'างานด�กว�าการบรรยายเป�นตวอกษร
ช่�วยให+การค+นหาความผั.ดพลัาดขีองลั'าดบการที่'างานได+รวดเร1ว แลัะสัามารถึแก+ไขีได+ง�าย
การเขี�ยนโปรแกรมโดยพ.จารณ์าจากผังงาน สัามารถึที่'าได+รวดเร1วแลัะง�ายขี�)น
ในการบ'าร3งรกษาโปรแกรม หร�อม�การเปลั��ยนแปลังแก+ไขีโปรแกรมให+ม�ประสั.ที่ธี.ภาพ ถึ+าด0จากผังงานจะช่�วยให+สัามารถึที่บที่วนการที่'างานในโปรแกรมได+ง�ายขี�)น
ขี+อจ'ากดขีองการเขี�ยนผังงาน
การเขี�ยนผังงานไม�เหมาะกบงานที่��ม�ว.ธี�การซับซั+อน เช่�น ม�การที่��เง��อนไขีในการที่อสัอบมากมาย ซั��งมกจะใช่+ตารางการตดสั.นใจ(decision table) เขี+ามาช่�วยมากกว�า
สัญลักษณ์&ในการเขี�ยนผังงาน(1/13)
การเขี�ยนผังงานเป�นการน'าเอาภาพสัญลักษณ์&ต�าง ๆ มาเร�ยงต�อกน เพ��อแสัดงลั'าดบขี)นตอนการที่'างาน โดยม�เสั+นลั0กศรเช่��อมระหว�างภาพต�างๆ
สัญลักษณ์&ในการเขี�ยนผังงานที่��น.ยมใช่+กนน)น เป�นสัญลักษณ์&ขีองหน�วยงานที่��ช่��อว�า American National Standard Institute (ANSI) แลัะ International Standard Organization (ISO) เป�นผั0+ก'าหนดแลัะรวบรวมให+เป�นสัญลักษณ์&มาตรฐานในการเขี�ยนผังงาน
สัญลักษณ์&ในการเขี�ยนผังงาน(2/13)
สัญลักษณ์&
ความหมาย ตวอย�างการใช่+
ค'าอธี.บาย
การเร.�มต+นหร�อสั.)นสั3ดการเขี�ยนผังงาน(Terminal)
1 .เร.�มต+นผังงาน
2. จบผังงาน
รบขี+อม0ลัหร�อแสัดงขี+อม0ลัโดยไม�ระบ3สั��อ(Input/output)
1 .รบค�าใสั�ในตวแปรช่��อ name
2. แสัดงค�าจากตวแปร area
START
STOP
read name
display area
สัญลักษณ์&ในการเขี�ยนผังงาน(3/13)
สัญลักษณ์&
ความหมาย ตวอย�างการใช่+
ค'าอธี.บาย
การประมวลัผัลั(Process)
1 .ค'านวณ์ A
+ B แลัะเก1บไว+ใน C
2. ก'าหนดค�า sum เที่�ากบ 0
การเปร�ยบเที่�ยบหร�อตวสั.นใจ(Compare / Decision)
เปร�ยบเที่�ยบถึ+า i ม�ค�า
น+อยกว�าหร�อเที่�ากบ 10
- เป�นจร.ง พ.มพ&ค�า i เสัร1จแลั+วไปที่'าค'าสั�งอ��น ๆ
- เป�นเที่1จ ไปที่'าค'าสั�งอ��น ๆ
C = A + B
Sum = 0
i <= 10
true
false
แสดง i
สัญลักษณ์&ในการเขี�ยนผังงาน(4/13)
สัญลักษณ์&
ความหมาย ตวอย�างการใช่+
ค'าอธี.บาย
การแสัดงผัลัลัพธี&ที่างเคร��องพ.มพ&(Docume
nt)
พ.มพ&ค�า A
ที่างเคร��องพ.มพ&
การแสัดงผัลัลัพธี&ที่าง
จอภาพ(Display)
แสัดงค�า A, B
บนจอภาพ
print A
display A , B
สัญลักษณ์&ในการเขี�ยนผังงาน(5/13)
สัญลักษณ์&
ความหมาย ตวอย�างการใช่+
ค'าอธี.บาย
หมายเหต3(Comment)
รบค�าที่างการกดแป=นพ.มพ&(Manual Input)
รบค�า A ที่างแป=นพ.มพ&
read A A = Age
read A
สัญลักษณ์&ในการเขี�ยนผังงาน(6/13)สัญลักษ
ณ์&ความหมาย ตวอย�าง
การใช่+ค'าอธี.บาย
การก'าหนดค�าต�างๆ ไว+ลั�วงหน+า(Preparation)
ก'าหนดให+ i ม�ค�าเที่�ากบ
1 แลัะเพ.�มค�าที่�ลัะ 1
จนม�ค�าเป�น 100
จ�งออกจากการที่'างานซั')า โดยแต�ลัะรอบ
บวกค�า sum ด+วยค�า i
แสัดงที่.ศที่างแลัะลั'าดบขีองการที่'างาน(Flow line)
for i =1 to 100
sum = sum + i
i
สัญลักษณ์&ในการเขี�ยนผังงาน(7/13)
สัญลักษณ์&
ความหมาย ตวอย�างการใช่+
ค'าอธี.บาย
จ3ดต�อเน��องในหน+าเด�ยวกน(In-Page connector)
หลังจากพ.มพ&ค�า A
แลั+วให+ที่'าตามที่��จ3ด
ต�อเน��อง A ซั��งอย0�ใน
หน+าเด�ยวกน
จ3ดต�อเน��องที่��อย0�คนลัะหน+า(Off-Page Connector)
หลังจากก'าหนดค�า A
เที่�ากบ 3 ให+ที่'าตาม
จ3ดต�อเน��องช่��อ 1 ซั��ง
ไม�ได+อย0�ในหน+าเด�ยวกน
A
write A
A = 3
1
สัญลักษณ์&ในการเขี�ยนผังงาน(8/13)สัญลักษ
ณ์&ความหมาย ตวอย�าง
การใช่+ค'าอธี.บาย
การรบหร�อแสัดงขี+อม0ลัโดยใช่+บตรเจาะร0(Punch card)
1 .อ�านค�า A
ที่��บตรเจาะร0 1 ใบ
2 .เจาะค�า B,C บนบตร 1 ใบ
ช่3ดขีองบตรเจาะร0(Card Desk)
เจาะค�า B1 , B2 , Bn
บนบตร n ใบ
read A
punch B , C
punch bi b=1 ,…n
สัญลักษณ์&ในการเขี�ยนผังงาน(9/13)
สัญลักษณ์&
ความหมาย ตวอย�างการใช่+
ค'าอธี.บาย
การรบหร�อแสัดงขี+อม0ลัโดยใช่+เที่ปกระดาษ(Punched tape)
อ�านค�า ID , name
บนเที่ปกระดาษ
การรบหร�อแสัดงขี+อม0ลัโดยใช่+เที่ปแม�เหลั1กเป�นสั��อ(Magnatic tape)
read ID , name
สัญลักษณ์&ในการเขี�ยนผังงาน(10/13)
สัญลักษณ์&
ความหมาย ตวอย�างการใช่+
ค'าอธี.บาย
การรบหร�อแสัดงขี+อม0ลัโดยใช่+จานแม�เหลั1กเป�นสั��อ(Magnatic disk)
การรบหร�อแสัดงขี+อม0ลัโดยใช่+ดรมแม�เหลั1กเป�นสั��อ(Magnatic drum)
สัญลักษณ์&ในการเขี�ยนผังงาน(11/13)
สัญลักษณ์&
ความหมาย ตวอย�างการใช่+
ค'าอธี.บาย
การที่'างานที่��ก'าหนดไว+แลั+ว เช่�น โปรแกรมย�อย(Predefine Process)
เร�ยกโปรแกรม
ย�อยช่��อ findGrade
ให+ที่'างานการควบค3มการที่'างานด+วยมน3ษย& บางคร)งเร�ยกการที่'างานแบบออฟไลัน& (Offline Processing)
findGrade
สัญลักษณ์&ในการเขี�ยนผังงาน(12/13)
สัญลักษณ์&
ความหมาย ตวอย�างการใช่+
ค'าอธี.บาย
การที่'างานแบบออฟไลัน&ขีองอ3ปกรณ์&ที่��ไม�ได+ถึ0กควบค3มจากหน�วยประมวลัผัลักลัางโดยตรง(Auxiliary Operation)
การจดเร�ยงลั'าดบขี+อม0ลั(Sorting)
สัญลักษณ์&ในการเขี�ยนผังงาน(13/13)
สัญลักษณ์&
ความหมาย ตวอย�างการใช่+
ค'าอธี.บาย
การสั�งขี+อม0ลัที่างสัายสั��อสัาร(Communication Link)
หลักการจดภาพผังงาน(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ลั
ค'านวณ์ขี+อม0ลั
พ.มพ&ผัลัลัพธี&
ค'านวณ์
ค'านวณ์
ค'านวณ์
ร0ปแบบตามลั'าดบ(2/3)START
STOP
A = 5
B = 3
C = A + B
print C
เร.�มต+นก'าหนดค�าตวแปร A ม�ค�าเป�น 5
ก'าหนดค�าตวแปร B ม�ค�าเป�น 3
เอาค�า A บวกกบ B แลั+วเก1บไว+ใน C
พ.มพ&ค�า C
จบการที่'างาน
ร0ปแบบตามลั'าดบ(3/3)
เร.�มต+นรบขี+อม0ลัมาเก1บไว+ในตวแปร A, B ที่างแป=นพ.มพ&
เอาค�า A บวกกบ B แลั+วเก1บไว+ใน C
พ.มพ&ค�า C
จบการที่'างาน
START
STOP
C = A + B
print C
A , B
ตวอย�างการเขี�ยนผังงานแบบตามลั'าดบ
จงเขี�ยนโปรแกรมค'านวณ์ค�าไฟฟ=า โดยรบค�าม.เตอร&จ'านวนการใช่+ไฟฟ=าขีองเด�อนที่��แลั+ว แลัะค�าม.เตอร&การใช่+ไฟฟ=าขีองเด�อนป>จจ3บน ค'านวณ์ค�าไฟฟ=า โดยค.ดอตรา 2.5 บาที่ /1 หน�วยม.เตอร&1 .สั.�งที่��โจที่ย&ต+องการ
ค�าไฟฟ=า2. ร0ปแบบผัลัลัพธี&
ป=อนเลัขีม.เตอร&เด�อนที่��แลั+ว --> <รอรบเลัขีม.เตอร&เด�อนที่��แลั+ว>ป=อนเลัขีม.เตอร&เด�อนป>จจ3บน--> <รอรบเลัขีม.เตอร&เด�อนป>จจ3บน>-----------------------------------------------------จ'านวนหน�วยไฟฟ=าที่��ใช่+ : <แสัดงจ'านวนหน�วยไฟฟ=าที่��ใช่+>ค�าไฟฟ=า : <แสัดงค�าไฟฟ=า>
ตวอย�างการเขี�ยนผังงานแบบตามลั'าดบ
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จ
เง��อนไข
ปรัะโยคงาน 1
งานลั!าดบถัดไป
จร.ง
เที่1จ
ปรัะโยคงาน 2
แบบที่างเลั�อกเด�ยว(2/5)
START
STOP
read age
age > 60
“You are old”
true
false
เร.�มต+นรบค�าใสั�ตวแปร age
ถึ+าเป�นจร.ง พ.มพ&ขี+อความ You are oldถึ+าเป�นเที่1จ ไม�ต+องที่'าอะไร
จบการที่'างาน
เปร�ยบเที่�ยบค�า age มากกว�า 60
แบบที่างเลั�อกเด�ยว(3/5)รบค�า รหสัผั�านจากผั0+ใช่+ ถึ+ารหสัผั�านที่��ป=อนม�ค�า GoodLuck ให+แสัดงขี+อว�า Welcome Manager แลัะขี+อความ Exit Password System
เร.�ม
รบค�า ans
ans = “GoodLuck”
พ.มพ& Welcome Manager
พ.มพ& Exit PasswordSystem
จบ
จร.ง
เที่1จ
แบบที่างเลั�อกเด�ยว(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
งานลั!าดบถัดไป
จร.ง
เที่1จ
ปรัะโยคงาน 2
เง��อนไข
ปรัะโยคงาน 1
งานลั!าดบถัดไป
จร.ง
เที่1จ
ปรัะโยคงาน 2
เง��อนไข
ปรัะโยคงาน 1
งานลั!าดบถัดไป
จร.ง
เที่1จ
ปรัะโยคงาน 2
IF เง��อนไข THEN BEGIN
ปรัะโยคงาน 1 ;ปรัะโยคงาน 2 ;
END;
เง��อนไข
ปรัะโยคงาน 1
งานลั!าดบถัดไป
เที่1จ
จร.ง
ปรัะโยคงาน 2
IF เง��อนไข THEN
ELSE BEGIN
ปรัะโยคงาน 1 ;ปรัะโยคงาน 2 ;
END;
แบบสัองที่างเลั�อก(1/6)การที่'างานขี�)นอย0�กบเง��อนไขี ถึ+าเป�นจร.งไป
ที่'างานด+านหน��ง ถึ+าเป�นเที่1จก1จะไปที่'างานอ�กอย�างหน��ง
เง��อนไข
ปรัะโยคงาน2
งานลั!าดบถัดไป
จร.งเที่1จ
ปรัะโยคงาน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
ถึ+าเป�นจร.ง พ.มพ&ขี+อความ You are oldถึ+าเป�นเที่1จ พ.มพ&ขี+อความ You are young
จบการที่'างาน
เปร�ยบเที่�ยบค�า age มากกว�า 60
แบบสัองที่างเลั�อก(4/6)เร.�ม
รับค#า ans
ans = ‘y’ OR ans=‘Y’
พิ%มพิ� Thank Youพิ%มพิ� I’m sorry to hear that
จร.งเที่1จ
พิ%มพิ� Do you like Pascal
พิ%มพิ� Good Bye
จบ
แสัดงขี+อความ Do you like Pascal
รบค�าใสั�ตวแปร ans
เร.�มการที่'างาน
เปร�ยบเที่�ยบค�า ans เที่�ากบ y หร�อ Y- ถึ+าเป�นจร.ง พ.มพ&Thank you- ถึ+าเป�นเที่1จ พ.มพ&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