Flowcharting
โดยครูวีณา นาคะพันธุ์






ผังงาน หมายถึง เครื่ องมือที่ชวยในการเขียนโปรแกรม โดยเขียนเป็ นเครื่ องหมายภาพ
่
สัญลักษณ์แสดงลาดับขันตอนการทางาน
้
การเขียนผังงาน เป็ นการถ่ายทอดความเข้ าใจที่ได้ จากการวิเคราะห์งานให้ อยูใน
่
รูปภาพหรื อสัญลักษณ์
ผู้เขียนโปรแกรมจะสามารถเข้ าใจลาดับขันตอนการเขียนโปรแกรมได้ อย่างรวดเร็ว
้
และง่ายขึ ้น และง่ายต่อการตรวจสอบความถูกต้ องของลาดับขันตอนในวิธีการ
้
ประมวลผล


งานทุกชนิดที่มีการวิเคราะห์เป็ นลาดับขันตอนแล้ ว เราสามารถนามาเขียนผังงานได้
้
แม้ กระทังงานที่เกี่ยวข้ องกับชีวิตประจาวันของเราเอง
่


แสดงการโยนเหรียญ 3 ครัง
้
ถ้าออกหัว ผูโ้ ยนจะได้เงิน 10
บาท ถ้าออกก้อย ผูโ้ ยนจะเสียเงิน
10 บาท

เริมต้น
่

โยนเหรียญ
ก้อย

ี
เสยเงิน 10 บาท

ย ัง

ห ัว

ผลการโยน

ได้เงิน 10 บาท

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

ครบ
หยุด


ผังงานแสดงการเดินข้ ามถนนที่มี
สัญญาณไฟจราจร

เริมต้น
่

ั
รอสญญาณไฟ
ไม่ใช่

ไฟแดง
หรือไม่

ใช่
เดินข้ามถนน

หยุด


ผังงานพิจารณาการใช้ ยาตามฉลากยาที่
ปิ ดข้ างขวด แยกตามขนาดการใช้ ดงนี ้
ั
◦
◦
◦
◦

อายุต่ากว่า 5 ปี ห้ ามรับประทาน
อายุ 5 - 7 ปี ครังละ 1 เม็ด
้
อายุ 8 - 14 ปี ครังละ 2 เม็ด
้
อายุ 15 ปี ขึ ้นไป ครังละ 3 เม็ด
้

เริมต้น
่

อายุตากว่า
่
5 ปี

ใช่

ห้ามร ับประทาน

ไม่ใช่
อายุ 5 ปี ขนไป
ั้
แต่ไม่ถง 8 ปี
ึ

ใช่

ครงละ 1 เม็ด
ั้

ไม่ใช่
อายุ 8 ปี ขนไป
ั้
แต่ไม่ถง 15 ปี
ึ

ไม่ใช่
ครงละ 3 เม็ด
ั้

หยุด

ใช่

ครงละ 2 เม็ด
ั้
ผังงานทางคอมพิวเตอร์ แบ่งออกเป็ น 2 ประเภท ได้ แก่
ผังงานระบบ (System flowchart)
ผังงานโปรแกรม (Program flowchart)






เป็ นผังงานที่ใช้ แสดงขันตอนการทางานของระบบงานอย่างกว้ าง ๆ ทังระบบ โดย
้
้
แสดงให้ เห็นถึงความสัมพันธ์ของส่วนสาคัญต่าง ๆ ในระบบนัน
้
เช่น เอกสารเบื ้องต้ น หรื อสื่อบันทึกที่ใช้ อยูเ่ ป็ นอะไร และผ่านไปยังหน่วยงานใด มี
กิจกรรมอะไรในหน่วยงานนัน ๆ แล้ วส่งต่อไปยังหน่วยงานใด เป็ นต้ น
้
ดังนัน ผังงานระบบ จะเกี่ยวข้ องกับ คน วัสดุ และเครื่ องจักร โดยแสดงการนาข้ อมูล
้
เข้ า ประมวลผล แสดงผลลัพธ์ ว่ามาจากที่ใดกว้ าง ๆ
เริมต้น
่



ผังงานแสดงการคานวณพื ้นที่
สามเหลี่ยมจานวน 100 รูป

ร ับความสูง และความยาวฐาน
ของสามเหลียม 100 รูป
่

บ ันทึกความสูงและความยาวฐาน
ลงในดิสก์

ดิสก์ท ี่
บ ันทึกแล้ว

้ ่
คานวณพืนทีของสามเหลียม
่

พิมพ์รายงานของ
้ ่
พืนทีสามเหลียม
่

จบ



เป็ นผังงานที่แสดงขันตอนของคาสังที่ใช้ ในโปรแกรม
้
่
ผังงานนี ้แยกย่อยมาจากผังงานระบบ โดยผู้เขียนโปรแกรมจะดึงเอาแต่ละจุดที่
เกี่ยวข้ องกับการประมวลผลในคอมพิวเตอร์ ที่ปรากฏในผังงานระบบมาเขียนแสดง
รายละเอียดในการประมวลผลอย่างเป็ นลาดับขันตอน เพื่อนาไปประกอบการเขียน
้
โปรแกรมต่อไป


เริมต้น
่

ผังงานแสดงการคานวณพื ้นที่
สามเหลี่ยมจานวน 100 รูป

ร ับความสูง และ
ความยาวฐานทีละรูป

้ ่
คานวณพืนที= 0.5 * ฐาน * สูง

พิมพ์พนทีสามเหลียม
ื้ ่
่
ทีละรูป

ไม่ใช่

ครบ 100 รูปแล้ว
่
ใชหรือไม่

ใช่

จบ
เริมต้น
่

เริมต้น
่

ร ับความสูง และความยาวฐาน
ของสามเหลียม 100 รูป
่

บ ันทึกความสูงและความยาวฐาน
ลงในดิสก์

ร ับความสูง และ
ความยาวฐานทีละรูป

ผังงานระบบ
้ ่
คานวณพืนที= 0.5 * ฐาน * สูง

ดิสก์ท ี่
บ ันทึกแล้ว

พิมพ์พนทีสามเหลียม
ื้ ่
่
ทีละรูป

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

้ ่
คานวณพืนทีของสามเหลียม
่

ไม่ใช่

ครบ 100 รูปแล้ว
่
ใชหรือไม่

พิมพ์รายงานของ
้ ่
พืนทีสามเหลียม
่

ใช่

จบ
จบ
 เราสามารถเรี ยนรู้ และเข้ าใจผังงานได้ งาย เพราะผังงานไม่ขึ ้นอยูกบ
่
่ั

ภาษาคอมพิวเตอร์ ภาษาใดภาษาหนึง
่
 ผังงานเป็ นการสื่อความหมายด้ วยภาพ ทาให้ งายและสะดวกต่อการ
่
พิจารณาลาดับขันตอนในการทางานดีกว่าการบรรยายเป็ นตัวอักษร
้
 ช่วยให้ การค้ นหาความผิดพลาดของลาดับการทางานได้ รวดเร็ ว และสามารถ
แก้ ไขได้ งาย
่
 การเขียนโปรแกรมโดยพิจารณาจากผังงาน สามารถทาได้ รวดเร็ วและง่ายขึ ้น
 ในการบารุ งรักษาโปรแกรม หรื อมีการเปลี่ยนแปลงแก้ ไขโปรแกรมให้ มี
ประสิทธิภาพ ถ้ าดูจากผังงานจะช่วยให้ สามารถทบทวนการทางานใน
โปรแกรมได้ งายขึ ้น
่
 การเขียนผังงานไม่เหมาะกับงานที่มีวิธีการซับซ้ อน เช่น มี

การที่เงื่อนไขในการทอสอบมากมาย ซึงมักจะใช้ ตาราง
่
การตัดสินใจ(decision table) เข้ ามาช่วย
มากกว่า
การเขียนผังงานเป็ นการนาเอาภาพสัญลักษณ์ตาง ๆ มาเรี ยง
่

ต่อกัน เพื่อแสดงลาดับขันตอนการทางาน โดยมีเส้ นลูกศร
้
เชื่อมระหว่างภาพต่างๆ
สัญลักษณ์ในการเขียนผังงานที่นิยมใช้ กนนัน เป็ นสัญลักษณ์
ั ้
ของหน่วยงานที่ชื่อว่า American National
Standard Institute (ANSI) และ
International Standard
Organization (ISO) เป็ นผู้กาหนดและรวบรวม
ให้ เป็ นสัญลักษณ์มาตรฐานในการเขียนผังงาน
สัญลักษณ์

ความหมาย
การเริ่มต้ นหรื อ
สินสุดการเขียน
้
ผังงาน
(Terminal)
รับข้ อมูลหรือ
แสดงข้ อมูลโดย
ไม่ ระบุส่ ือ
(Input/output)

ตัวอย่ างการใช้
START

STOP

read name

display area

คาอธิบาย
1. เริ่มต้ นผัง
งาน
2. จบผังงาน
1.

2.

รั บค่ าใส่ ในตัว
แปรชื่อ name
แสดงค่ าจาก
ตัวแปร area
สัญลักษณ์

ความหมาย
ตัวอย่ างการใช้ คาอธิบาย
1. คานวณ A + B
การประมวลผล
C=A+B
และเก็บไว้ ใน C
(Process)
Sum = 0

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

i <= 10
true

แสดง i

false

2.

กาหนดค่ า sum
เท่ ากับ 0

เปรียบเทียบถ้ า i มีค่า
น้ อยกว่ าหรือเท่ ากับ 10
- เป็ นจริง พิมพ์ ค่า i
เสร็จแล้ วไปทา
คาสั่งอื่น ๆ
- เป็ นเท็จ ไปทาคาสั่ง
อื่น ๆ
สัญลักษณ์

ความหมาย
ตัวอย่ างการใช้
การแสดงผลลัพธ์
ทางเครื่องพิมพ์
print A
(Document)

คาอธิบาย
พิมพ์ ค่า A ทาง
เครื่องพิมพ์

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

แสดงค่ า A, B
บนจอภาพ

display A , B
สัญลักษณ์

ความหมาย
หมายเหตุ
(Comment)
รับค่ าทางการกด
แปนพิมพ์
้
(Manual Input)

ตัวอย่ างการใช้
read A

read A

คาอธิบาย

A = Age

รั บค่ า A ทาง
แปนพิมพ์
้
สัญลักษณ์

ความหมาย
ตัวอย่ างการใช้ คาอธิบาย
กาหนดให้ i มีค่าเท่ ากับ
การกาหนดค่ า
1 และเพิ่มค่ าทีละ 1
ต่ างๆ ไว้ ล่วงหน้ า
for i =1 to 100
จนมีค่าเป็ น 100 จึงออก
(Preparation)
sum = sum + i
จากการทางานซา
้
i

แสดงทิศทางและ
ลาดับของการ
ทางาน
(Flow line)

โดยแต่ ละรอบ บวกค่ า
sum ด้ วยค่ า i
สัญลักษณ์

ความหมาย
จุดต่ อเนื่องใน
หน้ าเดียวกัน
(In-Page
connector)
จุดต่ อเนื่องที่อยู่
คนละหน้ า
(Off-Page
Connector)

ตัวอย่ างการใช้
write A
A

A=3
1

คาอธิบาย
หลังจากพิมพ์ ค่า A
แล้ วให้ ทาตามที่จุด
ต่ อเนื่อง A ซึ่งอยู่ใน
หน้ าเดียวกัน
หลังจากกาหนดค่ า A
เท่ ากับ 3 ให้ ทาตาม
จุดต่ อเนื่องชื่อ 1 ซึ่ง
ไม่ ได้ อยู่ในหน้ า
เดียวกัน
สัญลักษณ์

ความหมาย
ตัวอย่ างการใช้
การรับหรือแสดง
read A
ข้ อมูลโดยใช้
บัตรเจาะรู
punch B , C
(Punch card)
ชุดของบัตรเจาะรู
(Card Desk)

punch
bi b=1 ,
…n

คาอธิบาย
1.

อ่ านค่ า A ที่
บัตรเจาะรู 1
ใบ
2. เจาะค่ า B,C
บนบัตร 1 ใบ
เจาะค่ า B1 , B2 , Bn
บนบัตร n ใบ
สัญลักษณ์

ความหมาย
ตัวอย่ างการใช้
การรับหรือแสดง
ข้ อมูลโดยใช้ เทป
read ID ,
name
กระดาษ
(Punched tape)
การรับหรือแสดง
ข้ อมูลโดยใช้ เทป
แม่ เหล็กเป็ นสื่อ
(Magnatic tape)

คาอธิบาย
อ่ านค่ า ID , name
บนเทปกระดาษ
สัญลักษณ์

ความหมาย
ตัวอย่ างการใช้
การรับหรือแสดง
ข้ อมูลโดยใช้ จาน
แม่ เหล็กเป็ นสื่อ
(Magnatic disk)
การรับหรือแสดง
ข้ อมูลโดยใช้ ดรั ม
แม่ เหล็กเป็ นสื่อ
(Magnatic drum)

คาอธิบาย
สัญลักษณ์

ความหมาย
การทางานที่กาหนด
ไว้ แล้ ว เช่ น
โปรแกรมย่ อย
(Predefine Process)
การควบคุมการ
ทางานด้ วยมนุษย์
บางครั งเรี ยกการ
้
ทางานแบบ
ออฟไลน์
(Offline Processing)

ตัวอย่ างการใช้
findGrade

คาอธิบาย
เรี ยกโปรแกรม
ย่ อยชื่อ findGrade
ให้ ทางาน
สัญลักษณ์

ความหมาย
การทางานแบบ
ออฟไลน์ ของอุปกรณ์ ท่ ี
ไม่ ได้ ถูกควบคุมจาก
หน่ วยประมวลผลกลาง
โดยตรง
(Auxiliary Operation)

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

ตัวอย่ างการใช้

คาอธิบาย
สัญลักษณ์

ความหมาย
การส่ งข้ อมูลทาง
สายสื่อสาร
(Communication
Link)

ตัวอย่ างการใช้

คาอธิบาย


ทิศทางของผังงานจะเริ่ม
จากส่วนบนของ
หน้ ากระดาษลงมายัง
ส่วนล่าง และจากซ้ ายมือไป
ของหน้ ากระดาษ และควร
เขียนเครื่ องหมายลูกศร
กากับทิศทางไว้ ด้วย

บน

START

ทิศทางของเส้ น

read age
age > 60
true
“You are old”

ล่ าง

STOP

false


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

START

sum
=0
i = 1 to 10

sum =
sum + i
i
sum
STOP

ขนาดของ
สัญลักษณ์
ปรับให้ เหมาะสมกับ
ข้ อความใน
สัญลักษณ์
การเขียนทิศทางของผังงานควรเป็ นไปอย่างมีระเบียบ

และหลีกเลี่ยงการขีดโยงไปโยงมาในทิศทางตัดกัน ถ้ า
จาเป็ นต้ องโยงถึงกัน ควรใช้ เครื่ องหมายจุดต่อเนื่องแทน
และถ้ าเป็ นไปได้ ควรเขียนผังงานให้ จบในหน้ าเดียวกัน
คาอธิบายในภาพ เขียนเพียงสัน ๆ และเข้ าใจง่าย
้
ผังงานที่ดีควรจะมีความเป็ นระเบียบเรี ยบร้ อยและสะอาด
นอกจากนี ้แล้ ว จะมีชื่อของผังงาน ผู้เขียน วันที่เขียน และ
เลขหน้ าลาดับ
 แบบตามลาดับ (Sequence)
 แบบการเลือก/ตัดสินใจ/เงื่อนไข

(Selection/Decision/Conditi
on)
 แบบวนซ ้า (Iteration / Loop)


เป็ นรูปแบบการเขียนโปรแกรมที่งายที่สด ทางานทีละอย่างจากบนลงล่าง แสดง
่
ุ
ลาดับการทางานจากบนลงล่างตามลูกศร

งานที่ 1

งานที่ 2

งานที่ 3

อ่านข้อมูล

คานวณข้อมูล

พิมพ์ผลล ัพธ์

คานวณ

คานวณ

คานวณ
START

เริ่มต้ น

A=5

กาหนดค่ าตัวแปร A มีค่าเป็ น 5

B=3

กาหนดค่ าตัวแปร B มีค่าเป็ น 3

C=A+B

print C
STOP

เอาค่ า A บวกกับ B แล้ วเก็บไว้ ใน C
พิมพ์ ค่า C
จบการทางาน
START

A,B
C=A+B

print C
STOP

เริ่มต้ น
รับข้ อมูลมาเก็บไว้ ในตัวแปร A, B ทาง
แปนพิมพ์
้
เอาค่ า A บวกกับ B แล้ วเก็บไว้ ใน C

พิมพ์ ค่า C
จบการทางาน
 จงเขียนโปรแกรมคานวณค่าไฟฟา โดยรับค่ามิเตอร์ จานวนการใช้ ไฟฟา
้
้

ของเดือนที่แล้ ว และค่ามิเตอร์ การใช้ ไฟฟาของเดือนปั จจุบน คานวณค่า
้
ั
ไฟฟา โดยคิดอัตรา 2.5 บาท /1 หน่วยมิเตอร์
้
1. สิงที่โจทย์ต้องการ
่
ค่าไฟฟา
้
2. รู ปแบบผลลัพธ์
ปอนเลขมิเตอร์ เดือนที่แล้ ว --> <รอรั บเลขมิเตอร์ เดือนที่แล้ ว>
้
ปอนเลขมิเตอร์ เดือนปั จจุบัน--> <รอรั บเลขมิเตอร์ เดือนปั จจุบัน>
้
----------------------------------------------------จานวนหน่ วยไฟฟาที่ใช้ : <แสดงจานวนหน่ วยไฟฟาที่ใช้ >
้
้
ค่ าไฟฟา : <แสดงค่ าไฟฟา>
้
้
3.

ข้ อมูลนาเข้ า
◦
◦

4.

เลขมิเตอร์ เดือนที่แล้ ว
เลขมิเตอร์ เดือนปั จจุบน
ั

ตัวแปรที่ใช้ ในการประมวลผล
◦
◦
◦
◦

Last_meter
Curr_meter
Num_meter
Electric_fee

แทน
แทน
แทน
แทน

เลขมิเตอร์ เดือนที่แล้ ว
เลขมิเตอร์ เดือนปั จจุบน
ั
จานวนหน่วยมิเตอร์ ที่ใช้
ค่าไฟฟา
้
5.

ขันตอนวิธีการประมวลผล
้

1. เริ่มต้ น
2. รับค่าใส่ตวแปร last_meter และ curr_meter จากผู้ใช้ ทาง
ั
แปนพิมพ์
้
3. คานวณ num_meter = curr_meter –
last_meter
4. คานวณ electric_fee = num_meter * 2.5
5. แสดงค่า num_meter , electric_fee
6. จบการทางาน
START

Last_meter ,
Curr_meter

Num_meter = Curr_meter – Last_meter

Electric_fee = Num_meter * 2.5

Num_meter , Electric_fee

STOP
เป็ นการเขียนโปรแกรมแบบมีการเปรี ยบเทียบเงื่อนไข และทางานตามคาสังอย่างใด
่
อย่างหนึงตามเงื่อนไขที่กาหนด ผลจากการเปรี ยบเทียบเงื่อนไข จะให้ ผลลัพธ์เป็ น
่
จริ งหรื อเท็จ ถ้ าผลเป็ นจริ ง ให้ ทางานตามคาสังด้ านที่เงื่อนไขเป็ นจริง ถ้ าเป็ นเท็จให้
่
ทาตามคาสังด้ านที่เงื่อนไขเป็ นเท็จ
่
 แบบทางเลือกเดียว (IF - THEN)
 แบบสองทางเลือก (IF – THEN - ELSE)
 แบบหลายทางเลือก (IF – THEN – ELSE IF | CASE)
เงื่อนไข
เท็จ

จริง

เงื่อนไข
เท็จ

จริง
ประโยคงาน 1

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

งานลาดับถัดไป
งานลาดับถัดไป
เริ่มต้ น

START

รับค่ าใส่ ตัวแปร age

read age
age > 60

true
“You are old”

STOP

false

เปรียบเทียบค่ า age มากกว่ า 60
ถ้ าเป็ นจริง พิมพ์ ข้อความ You are old
ถ้ าเป็ นเท็จ ไม่ ต้องทาอะไร

จบการทางาน
เริ่ม

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

รับค่ า ans
ans = “GoodLuck”

จริง
พิมพ์ Welcome
Manager

พิมพ์ Exit Password
System

จบ

เท็จ



บริ ษัทแห่งหนึงต้ องการเพิ่มเงินเดือนให้ พนักงานที่มีเงินเดือนต่ากว่า 5000 อีกคนละ
่
10% และให้ พนักงานทุกคนได้ รับโบนัสคนละ 3 เท่าของเงินเดือน
ขันตอนการประมวลผล
้
1.รับค่าชื่อพนักงาน . เงินเดือน
2.เปรี ยบเทียบค่า เงินเดือน

- ถ้ าน้ อยกว่า 5000 ให้ เงินเดือน = เงินเดือน + (เงินเดือน * 10/100)

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

START

read
name ,salary

salary < 5000

bonus = salary * 3

false

Name , salary ,
bonus

true
salary = salary + (salary*10/100)

STOP

A

แต่ ไม่ ต้องเขียนเส้ นเชื่อมนี ้


ในการเปรี ยบเทียบเงื่อนไขแบบ IF – THEN นิยมให้ ทางานตามคาสังเมื่อ
่
เงื่อนไขมีคาเป็ นจริ ง ไม่นิยมให้ ทางามตามคาสังเป็ นเท็จ
่
่

เงื่อนไข

เท็จ

จริง
ประโยคงาน 1

เท็จ
เงื่อนไข
จริง

ประโยคงาน 2

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

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

งานลาดับถัดไป
เงื่อนไข

เท็จ

จริง

ประโยคงาน 1

ประโยคงาน 2

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

IF เงื่อนไข THEN
BEGIN
ประโยคงาน 1 ;
ประโยคงาน 2 ;
END;
เงื่อนไข

จริง

เท็จ

IF เงื่อนไข THEN
ประโยคงาน 1

ประโยคงาน 2

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

ELSE
BEGIN
ประโยคงาน 1 ;
ประโยคงาน 2 ;
END;


การทางานขึ ้นอยูกบเงื่อนไข ถ้ าเป็ นจริ งไปทางานด้ านหนึง ถ้ าเป็ นเท็จก็จะไปทางาน
่ ั
่
อีกอย่างหนึง
่

เท็จ

เงื่อนไข

ประโยคงาน1

จริง
ประโยคงาน2

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

False

Female = Female + 1

Sex = 1

True

Male = Male +1



ถ้ า sex =1 เงื่อนไขเป็ นจริ ง
จะเพิ่มค่าตัวแปร Male ขึ ้นอีก
1
ถ้ า sex =1 เงื่อนไขเป็ นเท็จ
จะเพิ่มค่าตัวแปร Female
ขึ ้นอีก 1
เริ่มต้ น

START

รับค่ าใส่ ตัวแปร age

read age
false

age > 60

“You are young”

true

“You are old”

STOP

เปรีบเทียบค่ า age มากกว่ า 60
ถ้ าเป็ นจริง พิมพ์ ข้อความ You are old
ถ้ าเป็ นเท็จ พิมพ์ ข้อความ You are young

จบการทางาน
เริ่ม
พิมพ์ Do you like Pascal

รับค่า ans

เท็จ

ans = ‘y’ OR ans=‘Y’

พิมพ์ I’m sorry to hear that

เริ่มการทางาน
แสดงข้ อความ Do you like Pascal
รั บค่ าใส่ ตัวแปร ans
จริง

เปรียบเทียบค่ า ans เท่ ากับ y หรือ Y

พิมพ์ Thank You

พิมพ์ Good Bye

จบ

- ถ้ าเป็ นจริง พิมพ์
Thank you
-ถ้ าเป็ นเท็จ พิมพ์
I’m sorry to hear that

พิมพ์ คาว่ า Goodbye
จบการทางาน
 บริ ษัทแห่งหนึงต้ องการเพิ่มเงินเดือนให้ พนักงานที่มีเงินเดือนต่ากว่า
่

5000 อีกคนละ 10% และพนักงานที่มีเงินเดือนตังแต่ 5000 เพิ่ม
้
5% ให้ พนักงานทุกคนได้ รับโบนัสคนละ 3 เท่าของเงินเดือน
 ขันตอนการประมวลผล
้
1.รับค่าชื่อพนักงาน . เงินเดือน
2.เปรี ยบเทียบค่า เงินเดือน < 5000

-ถ้ าเป็ นจริ ง ให้ อตราเพิ่มเงินเดือน = 10/100
ั
-ถ้ าเป็ นเท็จให้ อตราเพิ่มเงินเดือน = 5/100
ั

3.คานวณเงินเดือน = เงินเดือน + (เงินเดือน * อัตราเพิ่มเงินเดือน)
4.โบนัส = เงินเดือน * 3
5.แสดงผลลัพธ์
6.จบการทางาน
A

START

read
name ,salary
false

salary < 5000

rate = 5 / 100

salary = salary+(salary * rate)

true
rate = 10 / 100

A

bonus = salary * 3

Name , salary ,
bonus
STOP

แต่ ไม่ ต้องเขียนเส้ นเชื่อมนี ้


เป็ นรูปแบบการเลือกการทางานที่มี
ทางเลือกมากกว่า 2 ทางขึ ้นไป

False
False

False

ั่
คำสงที่ 4

เงือนไข 3
่

เงือนไข 2
่

True

ั่
คำสงที่ 3

เงือนไข 1
่

True

ั่
คำสงที่ 2

True

ั่
คำสงที่ 1
Score = mid + final
false
false

false
false

Grade = ‘F’

Score >=50

Score >=60

true

Grade = ‘D’

Score >=70

true

Grade = ‘C’

Score >=80

true

Grade = ‘B’

true

Grade = ‘A’


เป็ นรูปแบบการเลือกการทางานที่มีทางเลือกมากกว่า 2 ทางขึ ้นไป

เงือนไข
่

กรณี 1

ั่
คำสงที่ 1

กรณี 2

ั่
คำสงที่ 2

กรณี 3

กรณี 4

ั่
คำสงที่ 3

ั่
คำสงที่ 4
Score = mid + final

score

80..100

Grade = ‘A’

70..79

Grade = ‘B’

60..69

Grade = ‘C’

50..59

Grade = ‘D’

0..49

Grade = ‘F’
 แบบกาหนดรอบไว้ ลวงหน้ า(Controlled
่

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

มีการกาหนดรอบการทางานซ ้าไว้ ลวงหน้ า เมื่อครบตามจานวนรอบจึงหยุดทางานซ ้า
่
แล้ วทาคาสังต่อไป
่
กาหนดรอบการทางาน

ั่
คำสงทำซ้ำ 1

ั่
คำสงทำซ้ำ 2

Next


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

For N =1 , 5

Print N
Next


แบบตรวจสอบเงื่อนไขก่อน ถ้ าเงื่อนไขยังเป็ นจริ งให้ ทางานซ ้า จนกระทั่งเงื่อนไขเป็ น
เท็จจึงหยุดทางานซ ้า แล้ วไปทางานคาสังอื่นถัดไป
่

เงือนไข
่
True
่ั
้
คาสงงานซา 1

่ั
้
คาสงงานซา 2

False


ตรวจสอบเงื่อนไขถ้ า N <= 5
◦ ให้ พิมพ์ ค่า N
◦ เพิ่มค่า N อีก 1 (N=N+1)



กลับไปตรวจสอบเงื่อนไขอีก จนกว่าเงื่อน
จะเป็ นเท็จ จึงหยุดทางานซ ้า แล้ วไป
ทางานคาสังอื่น
่

N=1

N <=5
True

Print N

N = N+1

False


แบบให้ ทางานในคาสังทาซ ้าก่อน แล้ วค่อยตรวจสอบ
่
เงื่อนไข ถ้ าเงื่อนไขยังเป็ นเท็จให้ กลับไปทางานในคาสัง
่
ทาซ ้าอีก จนกระทังตรวจสอบแล้ วเงื่อนเป็ นจริ ง จึงหยุด
่
แล้ วไปทางานคาสังอื่น
่
่ั
้
คาสงงานซา 1

่ั
้
คาสงงานซา 2
False

เงือนไข
่
True
◦ ให้ พิมพ์คาในตัวแปร N
่
◦ เพิ่มค่าให้ ตวแปร N อีก 1
ั


N=1

ตรวจสอบเงื่อนไข ถ้ า N > 5 เป็ น
จริ งให้ หยุดทางานซ ้า ถ้ าเป็ นเท็จให้
กลับไปทางานคาสังซ ้าอีกรอบ
่

Print N

N = N+1

False

N>5

True

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