You are on page 1of 64

การเขียนผังงาน

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

ได้เงิน 10 บาท ถ้าออก


ก้อย ห ัว
ก้อย ผู้โยนจะเสียเงิน ผลการโยน

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


เสย ได้เงิน 10 บาท

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

ครบ

หยุด
ตัวอย่างผังงานทั่วไป(2/3)
• ผังงานแสดงการเดิน เริม
่ ต้น

ข้ามถนนที่มีสัญญาณ
ไฟจราจร

รอสญญาณไฟ

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

ใช่

เดินข้ามถนน

หยุด
ตัวอย่างผังงานทั่วไป(3/3)
เริม
่ ต้น
• ผังงานพิจารณาการใช้ยา
ใช่
ตามฉลากยาที่ปิดข้างขวด อายุตา
่ กว่า
5 ปี
ห้ามร ับประทาน

แยกตามขนาดการใช้ดังนี้ ไม่ใช่

– อายุต่ากว่า 5 ปี ห้าม อายุ 5 ปี ขนไป


ั้
แต่ไม่ถงึ 8 ปี
ใช่ ครงละ
ั้ 1 เม็ด

รับประทาน ไม่ใช่

– อายุ 5 - 7 ปี ครั้งละ 1 เม็ด อายุ 8 ปี ขนไป


ั้
แต่ไม่ถงึ 15 ปี
ใช่ ครงละ
ั้ 2 เม็ด

– อายุ 8 - 14 ปี ครั้งละ 2 เม็ด ไม่ใช่

– อายุ 15 ปีขึ้นไป ครั้งละ 3 ครงละ


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

• ผังงานแสดงการคานวณ ร ับความสูง และความยาวฐาน


ของสามเหลีย่ ม 100 รูป
พื้นที่สามเหลี่ยมจานวน
100 รูป บ ันทึกความสูงและความยาวฐาน
ลงในดิสก์

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

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

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

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

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

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

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


่ รือไม่
ใชห

ใช่
จบ
เปรียบเทียบผังงานระบบและผังงานโปรแกรม
เริม
่ ต้น
เริม
่ ต้น
ร ับความสูง และความยาวฐาน
ของสามเหลีย่ ม 100 รูป
ร ับความสูง และ
ความยาวฐานทีละรูป

บ ันทึกความสูงและความยาวฐาน
ลงในดิสก์ ผังงานระบบ
้ ที=
คานวณพืน ่ 0.5 * ฐาน * สูง

ดิสก์ท ี่
บ ันทึกแล้ว ื้ ทีส
พิมพ์พน ่ ามเหลีย
่ ม
ผังงานโปรแกรม ทีละรูป

้ ทีข
คานวณพืน ่ องสามเหลีย
่ ม
ไม่ใช่ ครบ 100 รูปแล้ว
่ รือไม่
ใชห
พิมพ์รายงานของ
พืน้ ทีส
่ ามเหลีย
่ ม ใช่
จบ
จบ
ประโยชน์ของการเขียนผังงาน
• เราสามารถเรียนรู้และเข้าใจผังงานได้ง่าย เพราะผังงานไม่ขึ้นอยู่กับ
ภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง
• ผังงานเป็นการสื่อความหมายด้วยภาพ ทาให้ง่ายและสะดวกต่อการ
พิจารณาลาดับขั้นตอนในการทางานดีกว่าการบรรยายเป็นตัวอักษร
• ช่วยให้การค้นหาความผิดพลาดของลาดับการทางานได้รวดเร็ว และ
สามารถแก้ไขได้ง่าย
• การเขียนโปรแกรมโดยพิจารณาจากผังงาน สามารถทาได้รวดเร็วและ
ง่ายขึ้น
• ในการบารุงรักษาโปรแกรม หรือมีการเปลี่ยนแปลงแก้ไขโปรแกรมให้
มีประสิทธิภาพ ถ้าดูจากผังงานจะช่วยให้สามารถทบทวนการทางาน
ในโปรแกรมได้ง่ายขึ้น
ข้อจากัดของการเขียนผังงาน
• การเขียนผังงานไม่เหมาะกับงานที่มีวิธีการซับซ้อน เช่น
มีการที่เงื่อนไขในการทอสอบมากมาย ซึ่งมักจะใช้
ตารางการตัดสินใจ(decision table) เข้ามาช่วยมากกว่า
สัญลักษณ์ในการเขียนผังงาน(1/13)
• การเขียนผังงานเป็นการนาเอาภาพสัญลักษณ์ต่าง ๆ
มาเรียงต่อกัน เพื่อแสดงลาดับขั้นตอนการทางาน โดย
มีเส้นลูกศรเชื่อมระหว่างภาพต่างๆ
• สัญลักษณ์ในการเขียนผังงานที่นิยมใช้กันนั้น เป็น
สัญลักษณ์ของหน่วยงานที่ชื่อว่า American National
Standard Institute (ANSI) และ International Standard
Organization (ISO) เป็นผู้กาหนดและรวบรวมให้เป็น
สัญลักษณ์มาตรฐานในการเขียนผังงาน
สัญลักษณ์ในการเขียนผังงาน(2/13)
สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คาอธิบาย
การเริ่มต้นหรือ START
1. เริ่มต้นผัง
สิ้นสุดการเขียน งาน
ผังงาน STOP 2. จบผังงาน
(Terminal)
รับข้อมูลหรือ read name
1. รับค่าใส่ในตัว
แสดงข้อมูลโดย แปรชื่อ name
ไม่ระบุสื่อ display area
2. แสดงค่าจาก
ตัวแปร area
(Input/output)
สัญลักษณ์ในการเขียนผังงาน(3/13)
สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คาอธิบาย
การประมวลผล 1. คานวณ A + B
C=A+B
และเก็บไว้ใน C
(Process)
2. กาหนดค่า sum
Sum = 0
เท่ากับ 0
การเปรียบเทียบ เปรียบเทียบถ้า i มีค่า
หรือตัวสินใจ i <= 10
false น้อยกว่าหรือเท่ากับ 10
true - เป็นจริง พิมพ์ค่า i
(Compare / เสร็จแล้วไปทา
แสดง i
Decision) คาสั่งอื่น ๆ
- เป็นเท็จ ไปทาคาสั่ง
อื่น ๆ
สัญลักษณ์ในการเขียนผังงาน(4/13)
สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คาอธิบาย
การแสดงผลลัพธ์ พิมพ์ค่า A ทาง
ทางเครื่องพิมพ์ print A เครื่องพิมพ์
(Document)
การแสดงผลลัพธ์ แสดงค่า A, B
ทางจอภาพ บนจอภาพ
display A , B
(Display)
สัญลักษณ์ในการเขียนผังงาน(5/13)
สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คาอธิบาย
หมายเหตุ
(Comment) read A A = Age

รับค่าทางการกด รับค่า A ทาง


แป้นพิมพ์ แป้นพิมพ์
read A
(Manual Input)
สัญลักษณ์ในการเขียนผังงาน(6/13)
สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คาอธิบาย
การกาหนดค่า กาหนดให้ i มีค่าเท่ากับ
ต่างๆ ไว้ล่วงหน้า 1 และเพิ่มค่าทีละ 1
for i =1 to 100
จนมีค่าเป็น 100 จึงออก
(Preparation) sum = sum + i จากการทางานซ้า
i
โดยแต่ละรอบ บวกค่า
sum ด้วยค่า i
แสดงทิศทางและ
ลาดับของการ
ทางาน
(Flow line)
สัญลักษณ์ในการเขียนผังงาน(7/13)
สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คาอธิบาย
จุดต่อเนื่องใน หลังจากพิมพ์ค่า A
write A
หน้าเดียวกัน แล้วให้ทาตามที่จุด
(In-Page ต่อเนื่อง A ซึ่งอยู่ใน
A
connector) หน้าเดียวกัน
จุดต่อเนื่องที่อยู่ หลังจากกาหนดค่า A
A=3
คนละหน้า เท่ากับ 3 ให้ทาตาม
(Off-Page จุดต่อเนื่องชื่อ 1 ซึ่ง
1
Connector) ไม่ได้อยู่ในหน้า
เดียวกัน
สัญลักษณ์ในการเขียนผังงาน(8/13)
สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คาอธิบาย
การรับหรือแสดง 1. อ่านค่า A ที่
ข้อมูลโดยใช้ read A บัตรเจาะรู 1
บัตรเจาะรู ใบ
punch B , C 2. เจาะค่า B,C
(Punch card) บนบัตร 1 ใบ
ชุดของบัตรเจาะรู เจาะค่า B1 , B2 , Bn
(Card Desk) punch บนบัตร n ใบ
bi b=1 ,
…n
สัญลักษณ์ในการเขียนผังงาน(9/13)
สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คาอธิบาย
การรับหรือแสดง อ่านค่า ID , name
ข้อมูลโดยใช้เทป read ID , บนเทปกระดาษ
กระดาษ name

(Punched tape)
การรับหรือแสดง
ข้อมูลโดยใช้เทป
แม่เหล็กเป็นสื่อ
(Magnatic tape)
สัญลักษณ์ในการเขียนผังงาน(10/13)
สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คาอธิบาย
การรับหรือแสดง
ข้อมูลโดยใช้จาน
แม่เหล็กเป็นสื่อ
(Magnatic disk)
การรับหรือแสดง
ข้อมูลโดยใช้ดรัม
แม่เหล็กเป็นสื่อ
(Magnatic drum)
สัญลักษณ์ในการเขียนผังงาน(11/13)
สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คาอธิบาย
การทางานที่กาหนด เรียกโปรแกรม
ไว้แล้ว เช่น findGrade ย่อยชื่อ findGrade
โปรแกรมย่อย ให้ทางาน
(Predefine Process)
การควบคุมการ
ทางานด้วยมนุษย์
บางครั้งเรียกการ
ทางานแบบ
ออฟไลน์
(Offline Processing)
สัญลักษณ์ในการเขียนผังงาน(12/13)
สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คาอธิบาย
การทางานแบบ
ออฟไลน์ของอุปกรณ์ที่
ไม่ได้ถูกควบคุมจาก
หน่วยประมวลผลกลาง
โดยตรง
(Auxiliary Operation)
การจัดเรียงลาดับ
ข้อมูล
(Sorting)
สัญลักษณ์ในการเขียนผังงาน(13/13)
สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คาอธิบาย
การส่งข้อมูลทาง
สายสื่อสาร
(Communication
Link)
หลักการจัดภาพผังงาน(1/2)
• ทิศทางของผังงานจะเริ่ม บน START
จากส่วนบนของ ทิศทางของเส้น
หน้ากระดาษลงมายัง read age
ส่วนล่าง และจากซ้ายมือ
false
ไปของหน้ากระดาษ และ age > 60
ควรเขียนเครื่องหมาย true
ลูกศรกากับทิศทางไว้ด้วย “You are old”

ล่าง STOP
หลักการจัดภาพผังงาน(2/2)
• สัญลักษณ์หรือภาพที่ใช้ START

ในการเขียนผังงานมี sum = 0 ขนาดของ


ขนาดต่าง ๆ กันได้ แต่ สัญลักษณ์
จะต้องมีรูปมาตรฐานตาม i = 1 to 10
ปรับให้เหมาะสมกับ
ความหมายที่กาหนด ข้อความใน
sum = sum + i สัญลักษณ์
i

sum

STOP
หลักการจัดภาพผังงาน(3/2)
• การเขียนทิศทางของผังงานควรเป็นไปอย่างมีระเบียบ
และหลีกเลี่ยงการขีดโยงไปโยงมาในทิศทางตัดกัน ถ้า
จาเป็นต้องโยงถึงกัน ควรใช้เครื่องหมายจุดต่อเนื่อง
แทนและถ้าเป็นไปได้ควรเขียนผังงานให้จบในหน้า
เดียวกัน
• คาอธิบายในภาพ เขียนเพียงสั้น ๆ และเข้าใจง่าย
• ผังงานที่ดีควรจะมีความเป็นระเบียบเรียบร้อยและ
สะอาด นอกจากนี้แล้ว จะมีชื่อของผังงาน ผู้เขียน วันที่
เขียน และเลขหน้าลาดับ
รูปแบบการเขียนผังงาน
• แบบตามลาดับ (Sequence)
• แบบการเลือก/ตัดสินใจ/เงื่อนไข
(Selection/Decision/Condition)
• แบบวนซ้า (Iteration / Loop)
รูปแบบตามลาดับ(1/3)
• เป็นรูปแบบการเขียนโปรแกรมที่ง่ายที่สุด ทางานทีละอย่าง
จากบนลงล่าง แสดงลาดับการทางานจากบนลงล่างตามลูกศร

อ่านข้อมูล คานวณ
งานที่ 1

คานวณ
งานที่ 2 คานวณข้อมูล

คานวณ
งานที่ 3 พิมพ์ผลล ัพธ์
รูปแบบตามลาดับ(2/3)
START เริ่มต้น
A=5 กาหนดค่าตัวแปร A มีค่าเป็น 5

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

C=A+B เอาค่า A บวกกับ B แล้วเก็บไว้ใน C

print C พิมพ์ค่า C

STOP จบการทางาน
รูปแบบตามลาดับ(3/3)
START เริ่มต้น

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


แป้นพิมพ์
C=A+B เอาค่า A บวกกับ B แล้วเก็บไว้ใน C
print C พิมพ์ค่า C
STOP จบการทางาน
ตัวอย่างการเขียนผังงานแบบตามลาดับ
• จงเขียนโปรแกรมคานวณค่าไฟฟ้า โดยรับค่ามิเตอร์จานวนการใช้
ไฟฟ้าของเดือนที่แล้ว และค่ามิเตอร์การใช้ไฟฟ้าของเดือนปัจจุบัน
คานวณค่าไฟฟ้า โดยคิดอัตรา 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. จบการทางาน
Flow chart
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/5)
จริง
เงื่อนไข
จริง
เงื่อนไข
เท็จ ประโยคงาน 1
เท็จ ประโยคงาน
ประโยคงาน 2

งานลาดับถัดไป
งานลาดับถัดไป
แบบทางเลือกเดียว(2/5)
START เริ่มต้น

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

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

STOP จบการทางาน
แบบทางเลือกเดียว(3/5)
เริ่ม
รับค่า รหัสผ่านจากผู้ใช้ ถ้า
รับค่า ans
รหัสผ่านที่ป้อนมีค่า GoodLuck
ให้แสดงข้อว่า Welcome ans = “GoodLuck”
เท็จ
Manager และข้อความ Exit จริง
Password System พิมพ์ Welcome
Manager

พิมพ์ Exit Password


System

จบ
แบบทางเลือกเดียว(4/5)
• บริษัทแห่งหนึ่งต้องการเพิ่มเงินเดือนให้พนักงานที่มีเงินเดือน
ต่ากว่า 5000 อีกคนละ 10% และให้พนักงานทุกคนได้รับ
โบนัสคนละ 3 เท่าของเงินเดือน
• ขั้นตอนการประมวลผล
1. รับค่าชื่อพนักงาน . เงินเดือน
2. เปรียบเทียบค่า เงินเดือน
- ถ้าน้อยกว่า 5000 ให้เงินเดือน = เงินเดือน + (เงินเดือน * 10/100)
3. คานวณโบนัส = เงินเดือน * 3
4. แสดงผลลัพธ์
5. จบการทางาน
แบบทางเลือกเดียว(5/5)
START A

read bonus = salary * 3


name ,salary

false Name , salary ,


salary < 5000
bonus
true

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

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

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

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

งานลาดับถัดไป งานลาดับถัดไป
จริง
เงื่อนไข IF เงื่อนไข THEN
BEGIN
เท็จ ประโยคงาน 1 ประโยคงาน 1 ;
ประโยคงาน 2 ;
ประโยคงาน 2
END;

งานลาดับถัดไป
เท็จ
เงื่อนไข IF เงื่อนไข THEN

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


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

งานลาดับถัดไป
แบบสองทางเลือก(1/6)
• การทางานขึ้นอยู่กับเงื่อนไข ถ้าเป็นจริงไปทางานด้านหนึ่ง ถ้า
เป็นเท็จก็จะไปทางานอีกอย่างหนึ่ง

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

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

งานลาดับถัดไป
แบบสองทางเลือก(2/6)
• ถ้า sex =1 เงื่อนไขเป็น
จริง จะเพิ่มค่าตัวแปร
False
Sex = 1
True Male ขึ้นอีก 1
• ถ้า sex =1 เงื่อนไขเป็น
Female = Female + 1 Male = Male +1 เท็จ จะเพิ่มค่าตัวแปร
Female ขึ้นอีก 1
แบบสองทางเลือก(3/6)
START เริ่มต้น

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


false
age > 60
true
เปรีบเทียบค่า age มากกว่า 60

“You are young” “You are old”


ถ้าเป็นจริง พิมพ์ข้อความ You are old
ถ้าเป็นเท็จ พิมพ์ข้อความ You are young

STOP จบการทางาน
แบบสองทางเลือก(4/6)
เริ่ม เริ่มการทางาน
พิมพ์ Do you like Pascal แสดงข้อความ Do you like Pascal
รับค่า ans รับค่าใส่ตัวแปร ans
เท็จ จริง
ans = ‘y’ OR ans=‘Y’ เปรียบเทียบค่า ans เท่ากับ y หรือ Y
พิมพ์ I’m sorry to hear that พิมพ์ Thank You
- ถ้าเป็นจริง พิมพ์
Thank you
-ถ้าเป็นเท็จ พิมพ์
I’m sorry to hear that
พิมพ์ Good Bye
พิมพ์คาว่า Goodbye

จบ จบการทางาน
แบบสองทางเลือก(5/6)
• บริษัทแห่งหนึ่งต้องการเพิม่ เงินเดือนให้พนักงานที่มีเงินเดือนต่ากว่า
5000 อีกคนละ 10% และพนักงานที่มีเงินเดือนตั้งแต่ 5000 เพิ่ม 5%
ให้พนักงานทุกคนได้รับโบนัสคนละ 3 เท่าของเงินเดือน
• ขั้นตอนการประมวลผล
1. รับค่าชื่อพนักงาน . เงินเดือน
2. เปรียบเทียบค่า เงินเดือน < 5000
- ถ้าเป็นจริง ให้อัตราเพิ่มเงินเดือน = 10/100
- ถ้าเป็นเท็จให้อัตราเพิ่มเงินเดือน = 5/100
3. คานวณเงินเดือน = เงินเดือน + (เงินเดือน * อัตราเพิ่มเงินเดือน)
4. โบนัส = เงินเดือน * 3
5. แสดงผลลัพธ์
6. จบการทางาน
แบบทางเลือกเดียว(6/6)
START A

read salary = salary+(salary * rate)


name ,salary

false true bonus = salary * 3


salary < 5000

rate = 5 / 100 rate = 10 / 100


Name , salary ,
bonus

A STOP

แต่ไม่ต้องเขียนเส้นเชื่อมนี้
การเลือกหลายทาง(แบบ IF)
• เป็นรูปแบบการเลือกการ
False True
ทางานที่มีทางเลือกมากกว่า เงือ
่ นไข 1

2 ทางขึ้นไป False True


เงือ
่ นไข 2 คำสงั่ ที่ 1

False True
เงือ
่ นไข 3 คำสงั่ ที่ 2

คำสงั่ ที่ 4 คำสงั่ ที่ 3


การเลือกหลายทาง(แบบ IF)
Score = mid + final

false true
Score >=80

false true
Score >=70 Grade = ‘A’

false true
Score >=60 Grade = ‘B’

false true
Score >=50 Grade = ‘C’

Grade = ‘F’ Grade = ‘D’


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

เงือ
่ นไข

กรณี 1 กรณี 2 กรณี 3 กรณี 4

คำสงั่ ที่ 1 คำสงั่ ที่ 2 คำสงั่ ที่ 3 คำสงั่ ที่ 4


การเลือกหลายทาง(แบบ CASE)
Score = mid + final

score

80..100 70..79 60..69 50..59 0..49

Grade = ‘A’ Grade = ‘B’ Grade = ‘C’ Grade = ‘D’ 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
แบบตรวจสอบเงื่อนไขก่อนถ้าเป็นจริงแล้วค่อยทาซ้า
• แบบตรวจสอบเงื่อนไขก่อน ถ้าเงื่อนไขยังเป็นจริงให้ทางานซ้า
จนกระทั่งเงื่อนไขเป็นเท็จจึงหยุดทางานซ้า แล้วไปทางาน
คาสั่งอื่นถัดไป

False
เงือ
่ นไข

True

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

คาสง่ ั งานซา้ 2
แบบตรวจสอบเงื่อนไขก่อนถ้าเป็นจริงแล้วค่อยทาซ้า
• ตรวจสอบเงื่อนไขถ้า N <= 5 N=1
– ให้พิมพ์ ค่า N
– เพิ่มค่า N อีก 1 (N=N+1)
False
N <=5

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

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

True
แบบทาซ้าก่อนแล้วค่อยตรวจเงื่อนไข
– ให้พิมพ์ค่าในตัวแปร N
N=1
– เพิ่มค่าให้ตัวแปร N อีก 1

• ตรวจสอบเงื่อนไข ถ้า N > Print N


5 เป็นจริงให้หยุดทางานซ้า
ถ้าเป็นเท็จให้กลับไป N = N+1

ทางานคาสั่งซ้าอีกรอบ
False
N>5

True

You might also like