กกกกกกกก กกกกกกกก กกกกกก กกกกกก กกกกกกกกก กกกกกกกกก กกกกกกกกกกกก กกกกกก กกกก กก.ก.(กกกกกกกก กกกกกกกกกกก) กก.ก.(กกก กกกกกกก)
การเขี�ยนผังการเขี�ยนผังงานเบื้ �องต้�นงานเบื้ �องต้�น
เกร�ยงศักดิ์�� จันทร�วงค์�วท.บื้.(ว�ทยาการค์อมพิ�วเต้อร� )
ศัษ.บื้.(ค์ณิ�ต้ศัาสต้ร�)
การเขี�ยนผังการเขี�ยนผังงานงาน(Flowcharting)(Flowcharting)
• ผังงาน หมายถึ#ง เค์ร $องม อท�$ช่&วยในการเขี�ยนโปรแกรม โดิ์ยเขี�ยนเป+นเค์ร $องหมายภาพิสญลักษณิ�แสดิ์งลั/าดิ์บื้ขี�นต้อนการท/างาน
• การเขี�ยนผังงาน เป+นการถึ&ายทอดิ์ค์วามเขี�าใจัท�$ไดิ์�จัากการว�เค์ราะห�งานให�อย2&ในร2ปภาพิหร อสญลักษณิ�
• ผั2�เขี�ยนโปรแกรมจัะสามารถึเขี�าใจัลั/าดิ์บื้ขี�นต้อนการเขี�ยนโปรแกรมไดิ์�อย&างรวดิ์เร3วแลัะง&ายขี#�น แลัะง&ายต้&อการต้รวจัสอบื้ค์วามถึ2กต้�องขีองลั/าดิ์บื้ขี�นต้อนในว�ธี�การประมวลัผัลั
การเขี�ยนผังการเขี�ยนผังงานงาน(Flowcharting)(Flowcharting)
• งานท5กช่น�ดิ์ท�$ม�การว�เค์ราะห�เป+นลั/าดิ์บื้ขี�นต้อนแลั�ว เราสามารถึน/ามาเขี�ยนผังงานไดิ์� แม�กระท$งงานท�$เก�$ยวขี�องกบื้ช่�ว�ต้ประจั/าวนขีองเราเอง
ต้วอย&างผังงานท$วไปต้วอย&างผังงานท$วไป((1/3)1/3)• แสดิ์งการโยน
เหร�ยญ 3 ค์ร�ง ถึ�าออกหว ผั2�โยนจัะไดิ์�เง�น 10 บื้าท ถึ�าออกก�อย ผั2�โยนจัะเส�ยเง�น 10 บื้าท
เร�$มต้�น
โยนเหร�ยญ
ผัลัการโยน
ไดิ์�เง�น 10 บื้าทเส�ยเง�น 10 บื้าท
ค์รบื้ 3 ค์ร�งหร อยง?
หย5ดิ์
หวก�อย
ยง
ค์รบื้
ต้วอย&างผังงานท$วไปต้วอย&างผังงานท$วไป(2/3)(2/3)• ผังงานแสดิ์งการ
เดิ์�นขี�ามถึนนท�$ม�สญญาณิไฟจัราจัร
เร�$มต้�น
รอสญญาณิไฟ
ไฟแดิ์งหร อไม&
เดิ์�นขี�ามถึนน
หย5ดิ์
ใช่&
ไม&ใช่&
ต้วอย&างผังงานต้วอย&างผังงานท$วไปท$วไป(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ดิ์
ใช่&
ใช่&
ใช่&
ไม&ใช่&
ไม&ใช่&
ไม&ใช่&
ผังงานทางค์อมพิ�วเต้อร�ผังงานทางค์อมพิ�วเต้อร�ผังงานทางค์อมพิ�วเต้อร�แบื้&งออกเป+น 2 ประเภท ไดิ์�แก&
ผังงานระบื้บื้ (System flowchart)
ผังงานโปรแกรม (Program flowchart)
ผังงานผังงานโปรแกรมโปรแกรม(Program (Program
flowchart)flowchart)• เป+นผังงานท�$แสดิ์งขี�นต้อนขีองค์/าส$งท�$ใช่�ในโปรแกรม
• ผังงานน��แยกย&อยมาจัากผังงานระบื้บื้ โดิ์ยผั2�เขี�ยนโปรแกรมจัะดิ์#งเอาแต้&ลัะจั5ดิ์ท�$เก�$ยวขี�องกบื้การประมวลัผัลัในค์อมพิ�วเต้อร�ท�$ปรากฏในผังงานระบื้บื้มาเขี�ยนแสดิ์งรายลัะเอ�ยดิ์ในการประมวลัผัลัอย&างเป+นลั/าดิ์บื้ขี�นต้อน เพิ $อน/าไปประกอบื้การเขี�ยนโปรแกรมต้&อไป
ต้วอย&างผังงานโปรแกรมต้วอย&างผังงานโปรแกรม• ผังงานแสดิ์งการ
ค์/านวณิพิ �นท�$สามเหลั�$ยมจั/านวน 100 ร2ป
เร�$มต้�น
รบื้ค์วามส2ง แลัะค์วามยาวฐานท�ลัะร2ป
ค์รบื้ 100 ร2ปแลั�วใช่&หร อไม&
ค์/านวณิพิ �นท�$= 0.5 * ฐาน * ส2ง
พิ�มพิ�พิ �นท�$สามเหลั�$ยมท�ลัะร2ป
จับื้
ไม&ใช่&
ใช่&
เปร�ยบื้เท�ยบื้ผังงานระบื้บื้แลัะผังเปร�ยบื้เท�ยบื้ผังงานระบื้บื้แลัะผังงานโปรแกรมงานโปรแกรมเร�$มต้�น
บื้นท#กค์วามส2งแลัะค์วามยาวฐานลังในดิ์�สก�
รบื้ค์วามส2ง แลัะค์วามยาวฐานขีองสามเหลั�$ยม 100 ร2ป
ดิ์�สก�ท�$บื้นท#กแลั�ว
ค์/านวณิพิ �นท�$ขีองสามเหลั�$ยม
พิ�มพิ�รายงานขีองพิ �นท�$สามเหลั�$ยม
จับื้
เร�$มต้�น
รบื้ค์วามส2ง แลัะค์วามยาวฐานท�ลัะร2ป
ค์รบื้ 100 ร2ปแลั�วใช่&หร อไม&
ค์/านวณิพิ �นท�$= 0.5 * ฐาน * ส2ง
พิ�มพิ�พิ �นท�$สามเหลั�$ยมท�ลัะร2ป
จับื้
ไม&ใช่&
ใช่&
ผังงานระบื้บื้
ผังงานโปรแกรม
สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(1/13)(1/13)
•การเขี�ยนผังงานเป+นการน/าเอาภาพิสญลักษณิ�ต้&าง ๆ มาเร�ยงต้&อกน เพิ $อแสดิ์งลั/าดิ์บื้ขี�นต้อนการท/างาน โดิ์ยม�เส�นลั2กศัรเช่ $อมระหว&างภาพิต้&างๆ
•สญลักษณิ�ในการเขี�ยนผังงานท�$น�ยมใช่�กนน�น เป+นสญลักษณิ�ขีองหน&วยงานท�$ช่ $อว&า American National Standard Institute (ANSI) แลัะ International Standard Organization (ISO) เป+นผั2�ก/าหนดิ์แลัะรวบื้รวมให�เป+นสญลักษณิ�มาต้รฐานในการเขี�ยนผังงาน
สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(2/13)(2/13)
สญลักษณิ�
ค์วามหมาย ต้วอย&างการใช่�
ค์/าอธี�บื้าย
การเร�$มต้�นหร อส��นส5ดิ์การเขี�ยนผังงาน(Terminal)
1 .เร�$มต้�นผังงาน
2. จับื้ผังงาน
รบื้ขี�อม2ลัหร อแสดิ์งขี�อม2ลัโดิ์ยไม&ระบื้5ส $อ(Input/output)
1 .รบื้ค์&าใส&ในต้วแปรช่ $อ name
2. แสดิ์งค์&าจัากต้วแปร area
START
STOP
read name
display area
สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(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
สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(4/13)(4/13)
สญลักษณิ�
ค์วามหมาย ต้วอย&างการใช่�
ค์/าอธี�บื้าย
การแสดิ์งผัลัลัพิธี�ทางเค์ร $องพิ�มพิ�(Document)
พิ�มพิ�ค์&า A ทาง
เค์ร $องพิ�มพิ�
การแสดิ์งผัลัลัพิธี�ทางจัอภาพิ(Display)
แสดิ์งค์&า A, B
บื้นจัอภาพิ
print A
display A , B
สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(5/13)(5/13)
สญลักษณิ�
ค์วามหมาย ต้วอย&างการใช่�
ค์/าอธี�บื้าย
หมายเหต้5(Comment)รบื้ค์&าทางการกดิ์แป>นพิ�มพิ�(Manual Input)
รบื้ค์&า A ทางแป>นพิ�มพิ�
read A A = Age
read A
สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(6/13)(6/13)สญลักษ
ณิ�ค์วามหมาย ต้วอย&าง
การใช่�ค์/าอธี�บื้าย
การก/าหนดิ์ค์&าต้&างๆ ไว�ลั&วงหน�า(Preparation)
ก/าหนดิ์ให� i ม�ค์&าเท&ากบื้
1 แลัะเพิ�$มค์&าท�ลัะ 1
จันม�ค์&าเป+น 100 จั#งออก
จัากการท/างานซ้ำ/�า โดิ์ยแต้&ลัะรอบื้
บื้วกค์&า sum ดิ์�วยค์&า i
แสดิ์งท�ศัทางแลัะลั/าดิ์บื้ขีองการท/างาน(Flow line)
for i =1 to 100
sum = sum + i
i
สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(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
สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(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
สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(9/13)(9/13)
สญลักษณิ�
ค์วามหมาย ต้วอย&างการใช่�
ค์/าอธี�บื้าย
การรบื้หร อแสดิ์งขี�อม2ลัโดิ์ยใช่�เทปกระดิ์าษ(Punched tape)
อ&านค์&า ID , name
บื้นเทปกระดิ์าษ
การรบื้หร อแสดิ์งขี�อม2ลัโดิ์ยใช่�เทปแม&เหลั3กเป+นส $อ(Magnatic tape)
read ID , name
สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(10/13)(10/13)
สญลักษณิ�
ค์วามหมาย ต้วอย&างการใช่�
ค์/าอธี�บื้าย
การรบื้หร อแสดิ์งขี�อม2ลัโดิ์ยใช่�จัานแม&เหลั3กเป+นส $อ(Magnatic disk)การรบื้หร อแสดิ์งขี�อม2ลัโดิ์ยใช่�ดิ์รมแม&เหลั3กเป+นส $อ(Magnatic drum)
สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(11/13)(11/13)
สญลักษณิ�
ค์วามหมาย ต้วอย&างการใช่�
ค์/าอธี�บื้าย
การท/างานท�$ก/าหนดิ์ไว�แลั�ว เช่&น โปรแกรมย&อย(Predefine Process)
เร�ยกโปรแกรม
ย&อยช่ $อ findGrade
ให�ท/างานการค์วบื้ค์5มการท/างานดิ์�วยมน5ษย� บื้างค์ร�งเร�ยกการท/างานแบื้บื้ออฟไลัน� (Offline Processing)
findGrade
สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(12/13)(12/13)
สญลักษณิ�
ค์วามหมาย ต้วอย&างการใช่�
ค์/าอธี�บื้าย
การท/างานแบื้บื้ออฟไลัน�ขีองอ5ปกรณิ�ท�$ไม&ไดิ์�ถึ2กค์วบื้ค์5มจัากหน&วยประมวลัผัลักลัางโดิ์ยต้รง(Auxiliary Operation)
การจัดิ์เร�ยงลั/าดิ์บื้ขี�อม2ลั(Sorting)
สญลักษณิ�ในการเขี�ยนผังสญลักษณิ�ในการเขี�ยนผังงานงาน(13/13)(13/13)
สญลักษณิ�
ค์วามหมาย ต้วอย&างการใช่�
ค์/าอธี�บื้าย
การส&งขี�อม2ลัทางสายส $อสาร(Communication Link)
หลักการจัดิ์ภาพิผังหลักการจัดิ์ภาพิผังงานงาน(1/2)(1/2)
• ท�ศัทางขีองผังงานจัะเร�$มจัากส&วนบื้นขีองหน�ากระดิ์าษลังมายงส&วนลั&าง แลัะจัากซ้ำ�ายม อไปขีองหน�ากระดิ์าษ แลัะค์วรเขี�ยนเค์ร $องหมายลั2กศัรก/ากบื้ท�ศัทางไว�ดิ์�วย
START
STOP
read age
age > 60
“You are old”
true
false
บื้น
ลั&าง
ท�ศัทางขีองเส�น
หลักการจัดิ์ภาพิผังหลักการจัดิ์ภาพิผังงานงาน(2/2)(2/2)
• สญลักษณิ�หร อภาพิท�$ใช่�ในการเขี�ยนผังงานม�ขีนาดิ์ต้&าง ๆ กนไดิ์� แต้&จัะต้�องม�ร2ปมาต้รฐานต้ามค์วามหมายท�$ก/าหนดิ์
START
sum = 0
i = 1 to 10
sum = sum + i
i
sum
STOP
ขนาดของสญลักษณ์�ปรับให้�เห้มาะสมกบข�อความในสญลักษณ์�
ร2ปแบื้บื้การเขี�ยนผังงานร2ปแบื้บื้การเขี�ยนผังงาน•แบื้บื้ต้ามลั/าดิ์บื้ (Sequence)•แบื้บื้การเลั อก/ต้ดิ์ส�นใจั/เง $อนไขี (Selection/Decision/Condition)
•แบื้บื้วนซ้ำ/�า (Iteration / Loop)
ร2ปแบื้บื้ต้ามลั/าดิ์บื้ร2ปแบื้บื้ต้ามลั/าดิ์บื้(1/3)(1/3)• เป+นร2ปแบื้บื้การเขี�ยนโปรแกรมท�$ง&ายท�$ส5ดิ์
ท/างานท�ลัะอย&างจัากบื้นลังลั&าง แสดิ์งลั/าดิ์บื้การท/างานจัากบื้นลังลั&างต้ามลั2กศัร
งานท�$ 1
งานท�$ 2
งานท�$ 3
อ&านขี�อม2ลั
ค์/านวณิขี�อม2ลั
พิ�มพิ�ผัลัลัพิธี�
ค์/านวณิ
ค์/านวณิ
ค์/านวณิ
ร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
จับื้การท/างาน
ร2ปแบื้บื้ต้ามลั/าดิ์บื้ร2ปแบื้บื้ต้ามลั/าดิ์บื้(3/3)(3/3)
เร�$มต้�นรบื้ขี�อม2ลัมาเก3บื้ไว�ในต้วแปร A, B ทางแป>นพิ�มพิ�
เอาค์&า A บื้วกกบื้ B แลั�วเก3บื้ไว�ใน C
พิ�มพิ�ค์&า C
จับื้การท/างาน
START
STOP
C = A + B
print C
A , B
ต้วอย&างการเขี�ยนผังงานแบื้บื้ต้วอย&างการเขี�ยนผังงานแบื้บื้ต้ามลั/าดิ์บื้ต้ามลั/าดิ์บื้
• จังเขี�ยนโปรแกรมค์/านวณิค์&าไฟฟ>า โดิ์ยรบื้ค์&าม�เต้อร�จั/านวนการใช่�ไฟฟ>าขีองเดิ์ อนท�$แลั�ว แลัะค์&าม�เต้อร�การใช่�ไฟฟ>าขีองเดิ์ อนป@จัจั5บื้น ค์/านวณิค์&าไฟฟ>า โดิ์ยค์�ดิ์อต้รา 25. บื้าท 1/ หน&วยม�เต้อร�
1 .ส�$งท�$โจัทย�ต้�องการค์&าไฟฟ>า
2 .ร2ปแบื้บื้ผัลัลัพิธี�ป>อนเลัขีม�เต้อร�เดิ์ อนท�$แลั�ว --> <รอรบื้เลัขีม�เต้อร�เดิ์ อนท�$แลั�ว>ป>อนเลัขีม�เต้อร�เดิ์ อนป@จัจั5บื้น--> <รอรบื้เลัขีม�เต้อร�เดิ์ อนป@จัจั5บื้น>-----------------------------------------------------จั/านวนหน&วยไฟฟ>าท�$ใช่� : <แสดิ์งจั/านวนหน&วยไฟฟ>าท�$ใช่�>ค์&าไฟฟ>า : <แสดิ์งค์&าไฟฟ>า>
ต้วอย&างการเขี�ยนผังงานแบื้บื้ต้วอย&างการเขี�ยนผังงานแบื้บื้ต้ามลั/าดิ์บื้ต้ามลั/าดิ์บื้
3. ขี�อม2ลัน/าเขี�า– เลัขีม�เต้อร�เดิ์ อนท�$แลั�ว– เลัขีม�เต้อร�เดิ์ อนป@จัจั5บื้น
4. ต้วแปรท�$ใช่�ในการประมวลัผัลั– Last_meter แทน เลัขีม�เต้อร�เดิ์ อนท�$แลั�ว– Curr_meter แทน เลัขีม�เต้อร�เดิ์ อนป@จัจั5บื้น– Num_meter แทน จั/านวนหน&วยม�เต้อร�ท�$ใช่�– Electric_fee แทน ค์&าไฟฟ>า
ต้วอย&างการเขี�ยนผังงานแบื้บื้ต้วอย&างการเขี�ยนผังงานแบื้บื้ต้ามลั/าดิ์บื้ต้ามลั/าดิ์บื้
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. จับื้การท/างาน
Flow chartFlow chartSTART
STOP
Num_meter = Curr_meter – Last_meter
Last_meter , Curr_meter
Electric_fee = Num_meter * 2.5
Num_meter , Electric_fee
แบื้บื้การเลั อกแบื้บื้การเลั อกเป+นการเขี�ยนโปรแกรมแบื้บื้ม�การเปร�ยบื้เท�ยบื้
เง $อนไขี แลัะท/างานต้ามค์/าส$งอย&างใดิ์อย&างหน#$งต้ามเง $อนไขีท�$ก/าหนดิ์ ผัลัจัากการเปร�ยบื้เท�ยบื้เง $อนไขี จัะให�ผัลัลัพิธี�เป+นจัร�งหร อเท3จั ถึ�าผัลัเป+นจัร�ง ให�ท/างานต้ามค์/าส$งดิ์�านท�$เง $อนไขีเป+นจัร�ง ถึ�าเป+นเท3จัให�ท/าต้ามค์/าส$งดิ์�านท�$เง $อนไขีเป+นเท3จั
• แบื้บื้ทางเลั อกเดิ์�ยว (IF - THEN)• แบื้บื้สองทางเลั อก (IF – THEN - ELSE)• แบื้บื้หลัายทางเลั อก (IF – THEN – ELSE IF
| CASE)
แบื้บื้ทางเลั อกเดิ์�ยวแบื้บื้ทางเลั อกเดิ์�ยว(1/5)(1/5)
เง��อนไข
ปรัะโยคงาน
งานลั!าดบถัดไป
จัร�ง
เท3จั
เง��อนไข
ปรัะโยคงาน 1
งานลั!าดบถัดไป
จัร�ง
เท3จั
ปรัะโยคงาน 2
แบื้บื้ทางเลั อกเดิ์�ยวแบื้บื้ทางเลั อกเดิ์�ยว(2/5)(2/5)START
STOP
read age
age > 60
“You are old”
true
false
เร�$มต้�น
รบื้ค์&าใส&ต้วแปร age
ถึ�าเป+นจัร�ง พิ�มพิ�ขี�อค์วาม You are oldถึ�าเป+นเท3จั ไม&ต้�องท/าอะไร
จับื้การท/างาน
เปร�ยบื้เท�ยบื้ค์&า age มากกว&า 60
แบื้บื้ทางเลั อกเดิ์�ยวแบื้บื้ทางเลั อกเดิ์�ยว(3/5)(3/5)รบื้ค์&า รหสผั&านจัากผั2�ใช่� ถึ�ารหสผั&านท�$ป>อนม�ค์&า GoodLuck ให�แสดิ์งขี�อว&า Welcome Manager แลัะขี�อค์วาม Exit Password System
เร�$ม
รบื้ค์&า ans
ans = “GoodLuck”
พิ�มพิ� Welcome Manager
พิ�มพิ� Exit PasswordSystem
จับื้
จัร�ง
เท3จั
แบื้บื้ทางเลั อกเดิ์�ยวแบื้บื้ทางเลั อกเดิ์�ยว(4/5)(4/5)• บื้ร�ษทแห&งหน#$งต้�องการเพิ�$มเง�นเดิ์ อนให�พินกงานท�$
ม�เง�นเดิ์ อนต้/$ากว&า 5000 อ�กค์นลัะ 10% แลัะให�พินกงานท5กค์นไดิ์�รบื้โบื้นสค์นลัะ 3 เท&าขีองเง�นเดิ์ อน
• ขี�นต้อนการประมวลัผัลั1 .รบื้ค์&าช่ $อพินกงาน . เง�นเดิ์ อน2.เปร�ยบื้เท�ยบื้ค์&า เง�นเดิ์ อน
- ถึ�าน�อยกว&า 5000 ให�เง�นเดิ์ อน = เง�นเดิ์ อน + (เง�นเดิ์ อน * 10/100)
3.ค์/านวณิโบื้นส = เง�นเดิ์ อน *34.แสดิ์งผัลัลัพิธี�5.จับื้การท/างาน
แบื้บื้ทางเลั อกเดิ์�ยวแบื้บื้ทางเลั อกเดิ์�ยว(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
แต้&ไม&ต้�องเขี�ยนเส�นเช่ $อมน��
ขี�อค์วรจั/า• ในการเปร�ยบื้เท�ยบื้เง $อนไขีแบื้บื้ IF –
THEN น�ยมให�ท/างานต้ามค์/าส$งเม $อเง $อนไขีม�ค์&าเป+นจัร�ง ไม&น�ยมให�ท/างามต้ามค์/าส$งเป+นเท3จั
เง��อนไข
ปรัะโยคงาน 1
งานลั!าดบถัดไป
จัร�ง
เท3จั
ปรัะโยคงาน 2
เง��อนไข
ปรัะโยคงาน 1
งานลั!าดบถัดไป
จัร�ง
เท3จั
ปรัะโยคงาน 2
เง��อนไข
ปรัะโยคงาน 1
งานลั!าดบถัดไป
จัร�ง
เท3จั
ปรัะโยคงาน 2
IF เง��อนไข THEN BEGIN
ปรัะโยคงาน 1 ;ปรัะโยคงาน 2 ;
END;
เง��อนไข
ปรัะโยคงาน 1
งานลั!าดบถัดไป
เท3จั
จัร�ง
ปรัะโยคงาน 2
IF เง��อนไข THEN
ELSE BEGIN
ปรัะโยคงาน 1 ;ปรัะโยคงาน 2 ;
END;
แบื้บื้สองทางเลั อกแบื้บื้สองทางเลั อก(1/6)(1/6)• การท/างานขี#�นอย2&กบื้เง $อนไขี ถึ�าเป+นจัร�งไป
ท/างานดิ์�านหน#$ง ถึ�าเป+นเท3จัก3จัะไปท/างานอ�กอย&างหน#$ง
เง��อนไข
ปรัะโยคงาน2
งานลั!าดบถัดไป
จัร�งเท3จั
ปรัะโยคงาน1
แบื้บื้สองทางเลั อกแบื้บื้สองทางเลั อก(2/6)(2/6)• ถึ�า sex =1
เง $อนไขีเป+นจัร�ง จัะเพิ�$มค์&าต้วแปร Male ขี#�นอ�ก 1
• ถึ�า sex =1 เง $อนไขีเป+นเท3จั จัะเพิ�$มค์&าต้วแปร Female ขี#�นอ�ก 1
Sex = 1
Male = Male +1Female = Female + 1
TrueFalse
แบื้บื้สองทางเลั อกแบื้บื้สองทางเลั อก(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
แบื้บื้สองทางเลั อกแบื้บื้สองทางเลั อก(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
จับื้การท/างาน
แบื้บื้สองทางเลั อกแบื้บื้สองทางเลั อก(5/6)(5/6)• บื้ร�ษทแห&งหน#$งต้�องการเพิ�$มเง�นเดิ์ อนให�พินกงานท�$ม�
เง�นเดิ์ อนต้/$ากว&า 5000 อ�กค์นลัะ 10% แลัะพินกงานท�$ม�เง�นเดิ์ อนต้�งแต้& 5000 เพิ�$ม 5% ให�พินกงานท5กค์นไดิ์�รบื้โบื้นสค์นลัะ 3 เท&าขีองเง�นเดิ์ อน
• ขี�นต้อนการประมวลัผัลั1 .รบื้ค์&าช่ $อพินกงาน . เง�นเดิ์ อน2. เปร�ยบื้เท�ยบื้ค์&า เง�นเดิ์ อน < 5000
- ถึ�าเป+นจัร�ง ให�อต้ราเพิ�$มเง�นเดิ์ อน = 10/100- ถึ�าเป+นเท3จัให�อต้ราเพิ�$มเง�นเดิ์ อน = 5/100
3. ค์/านวณิเง�นเดิ์ อน = เง�นเดิ์ อน + (เง�นเดิ์ อน * อต้ราเพิ�$มเง�นเดิ์ อน)
4.โบื้นส = เง�นเดิ์ อน *35.แสดิ์งผัลัลัพิธี�6.จับื้การท/างาน
แบื้บื้ทางเลั อกเดิ์�ยวแบื้บื้ทางเลั อกเดิ์�ยว(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)
การเลั อกหลัายทางการเลั อกหลัายทาง((แบื้บื้ แบื้บื้ IF)IF)
• เป+นร2ปแบื้บื้การเลั อกการท/างานท�$ม�ทางเลั อกมากกว&า 2ทางขี#�นไป
เง $อนไขี 1
ค!าส�งที่'� 1
TrueFalse
เง $อนไขี 2
ค!าส�งที่'� 2
TrueFalse
เง $อนไขี 3
ค!าส�งที่'� 3
TrueFalse
ค!าส�งที่'� 4
การเลั อกหลัายทางการเลั อกหลัายทาง((แบื้บื้ แบื้บื้ 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
การเลั อกหลัายทางการเลั อกหลัายทาง((แบื้บื้ แบื้บื้ CASE)CASE)
• เป+นร2ปแบื้บื้การเลั อกการท/างานท�$ม�ทางเลั อกมากกว&า 2 ทางขี#�นไป
เง $อนไขี
ค!าส�งที่'� 2ค!าส�งที่'� 1 ค!าส�งที่'� 4ค!าส�งที่'� 3
กรณิ� 1 กรณิ� 2 กรณิ� 3 กรณิ� 4
การเลั อกหลัายทางการเลั อกหลัายทาง((แบื้บื้ แบื้บื้ 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
แบื้บื้วนซ้ำ/�าแบื้บื้วนซ้ำ/�า•แบื้บื้ก/าหนดิ์รอบื้ไว�ลั&วง
หน�า(Controlled Loop)•แบื้บื้ต้รวจัสอบื้เง $อนไขีก&อน(Pre-Test Condition)
•แบื้บื้ต้รวจัสอบื้เง $อนไขีท�หลัง(Post-Test Condition)
แบื้บื้ก/าหนดิ์รอบื้การท/างานเอาแบื้บื้ก/าหนดิ์รอบื้การท/างานเอาไว�ลั&วงหน�าไว�ลั&วงหน�า
• ม�การก/าหนดิ์รอบื้การท/างานซ้ำ/�าไว�ลั&วงหน�า เม $อค์รบื้ต้ามจั/านวนรอบื้จั#งหย5ดิ์ท/างานซ้ำ/�าแลั�วท/าค์/าส$งต้&อไป
ก/าหนดิ์รอบื้การท/างาน
ค!าส�งที่!าซ้ำ!)า 1
ค!าส�งที่!าซ้ำ!)า 2
Next
แบื้บื้ก/าหนดิ์รอบื้การท/างานเอาแบื้บื้ก/าหนดิ์รอบื้การท/างานเอาไว�ลั&วงหน�าไว�ลั&วงหน�า
• ค์&า N จัะเร�$มต้�นท�$ 1 แลัะเพิ�$มค์&าท�ลัะ 1 จันกระท$ง มากกว&า 5 จั#งหย5ดิ์การท/างานซ้ำ/�า แลัะท/าค์/าส$งถึดิ์จัาก Next ในแต้&ลัะรอบื้ขีองงานท�$ให�ท/าซ้ำ/�าค์ อ พิ�มพิ�ค์&าในต้วแปร N ท�ลัะรอบื้
For N =1 , 5
Next
Print N
แบื้บื้ต้รวจัสอบื้เง $อนไขีก&อนถึ�าเป+นจัร�งแบื้บื้ต้รวจัสอบื้เง $อนไขีก&อนถึ�าเป+นจัร�งแลั�วค์&อยท/าซ้ำ/�าแลั�วค์&อยท/าซ้ำ/�า
• แบื้บื้ต้รวจัสอบื้เง $อนไขีก&อน ถึ�าเง $อนไขียงเป+นจัร�งให�ท/างานซ้ำ/�า จันกระท$งเง $อนไขีเป+นเท3จัจั#งหย5ดิ์ท/างานซ้ำ/�า แลั�วไปท/างานค์/าส$งอ $นถึดิ์ไป
เง $อนไขี
ค์/าส$งงานซ้ำ/�า 1
True
False
ค์/าส$งงานซ้ำ/�า 2
แบื้บื้ต้รวจัสอบื้เง $อนไขีก&อนถึ�าเป+นจัร�งแบื้บื้ต้รวจัสอบื้เง $อนไขีก&อนถึ�าเป+นจัร�งแลั�วค์&อยท/าซ้ำ/�าแลั�วค์&อยท/าซ้ำ/�า
• ต้รวจัสอบื้เง $อนไขีถึ�า N <= 5– ให�พิ�มพิ� ค์&า N – เพิ�$มค์&า N อ�ก 1
(N=N+1)
• กลับื้ไปต้รวจัสอบื้เง $อนไขีอ�ก จันกว&าเง $อนจัะเป+นเท3จั จั#งหย5ดิ์ท/างานซ้ำ/�า แลั�วไปท/างานค์/าส$งอ $น
N <=5
N = N+1
True
False
Print N
N = 1
แบื้บื้ท/าซ้ำ/�าก&อนแลั�วค์&อยต้รวจัแบื้บื้ท/าซ้ำ/�าก&อนแลั�วค์&อยต้รวจัเง $อนไขีเง $อนไขี
• แบื้บื้ให�ท/างานในค์/าส$งท/าซ้ำ/�าก&อน แลั�วค์&อยต้รวจัสอบื้เง $อนไขี ถึ�าเง $อนไขียงเป+นเท3จัให�กลับื้ไปท/างานในค์/าส$งท/าซ้ำ/�าอ�ก จันกระท$งต้รวจัสอบื้แลั�วเง $อนเป+นจัร�ง จั#งหย5ดิ์ แลั�วไปท/างานค์/าส$งอ $น
เง $อนไขี
ค์/าส$งงานซ้ำ/�า 1
True
False
ค์/าส$งงานซ้ำ/�า 2
แบื้บื้ท/าซ้ำ/�าก&อนแลั�วค์&อยต้รวจัแบื้บื้ท/าซ้ำ/�าก&อนแลั�วค์&อยต้รวจัเง $อนไขีเง $อนไขี
– ให�พิ�มพิ�ค์&าในต้วแปร N
– เพิ�$มค์&าให�ต้วแปร N อ�ก 1
• ต้รวจัสอบื้เง $อนไขี ถึ�า N > 5 เป+นจัร�งให�หย5ดิ์ท/างานซ้ำ/�า ถึ�าเป+นเท3จัให�กลับื้ไปท/างานค์/าส$งซ้ำ/�าอ�กรอบื้
N > 5
True
False
N = N+1
Print N
N = 1
ผังงานการหาผัลัรวมต้วเลัขีผังงานการหาผัลัรวมต้วเลัขีจั/านวนเต้3ม จั/านวนเต้3ม -115-115
Start
sum=0
i=1sum=su
m+ii=i+1i>15
sum
end
Flow Chart ของการัค!านวนห้าพิ�)นที่'�ส'�เห้ลั'�ยมผื�นผื�า
W , L
ส+ตรั Area = W x L
Print Area
Start
end
Flow Chart ของการัค!านวนห้าพิ�)นที่'�วงกลัม
R
ส+ตรั Area = 3.14159*R*R
Print Area
Start
end
ตวอย#างผืงงาน การับวกเลัขสามจำ!านวน
Start
Read Num1, Num2, Num3SUM = Num1 +
Num2 + Num3
Display SUM
End
ผังงานการหาผัลัรวมต้วเลัขีผังงานการหาผัลัรวมต้วเลัขีจั/านวนเต้3มค์�$ จั/านวนเต้3มค์�$ -1100-1100
Start
sum=0
i=1sum=su
m+ii=i+2i>=100
sum
end
ผังงานการหาผัลัรวมต้วเลัขีผังงานการหาผัลัรวมต้วเลัขีจั/านวนเต้3มค์2& จั/านวนเต้3มค์2& -1100-1100
Start
sum=0
i=2sum=su
m+ii=i+2i>=100
sum
end