Post on 26-Feb-2020
By…Mr.Prasit Tawanha
www.prasit.sirin.ac.thprasittawan@gmail.com
Basic Flowcharting
การเขียนผังงาน(Flowcharting)• ผังงาน หมายถึง เครื่องมือที่ช่วยในการเขียนโปรแกรม โดยเขียน
เป็นเครื่องหมายภาพสัญลักษณ์แสดงล าดับขั้นตอนการท างาน
• การเขียนผังงาน เป็นการถ่ายทอดความเข้าใจทีไ่ด้จากการวิเคราะห์งานให้อยู่ในรูปภาพหรือสัญลักษณ์
• ผู้เขียนโปรแกรมจะสามารถเข้าใจล าดับขั้นตอนการเขียนโปรแกรมได้อย่างรวดเร็วและง่ายขึ้น และง่ายต่อการตรวจสอบความถูกต้องของล าดับขั้นตอนในวิธีการประมวลผล
การเขียนผังงาน(Flowcharting)• งานทุกชนิดที่มีการวิเคราะห์เป็นล าดับขั้นตอนแล้ว เราสามารถ
น ามาเขียนผังงานได้ แม้กระทั่งงานที่เกี่ยวข้องกับชีวิตประจ าวันของเราเอง
ตัวอย่างผังงานทั่วไป(1/3)• แสดงการโยนเหรียญ 3
ครั้ง ถ้าออกหัว ผู้โยนจะได้เงิน 10 บาท ถ้าออกก้อย ผู้โยนจะเสียเงิน 10 บาท
เริ่มต้น
โยนเหรียญ
ผลการโยน
ได้เงิน 10 บาทเสียเงิน 10 บาท
ครบ 3 ครั้งหรือยัง?
หยุด
หัวก้อย
ยัง
ครบ
ตัวอย่างผังงานทั่วไป(2/3)• ผังงานแสดงการเดินข้าม
ถนนที่มีสัญญาณไฟจราจร
เริ่มต้น
รอสัญญาณไฟ
ไฟแดงหรือไม่
เดินข้ามถนน
หยุด
ใช่
ไม่ใช่
ตัวอย่างผังงานทั่วไป(3/3)• ผังงานพิจารณาการใช้ยาตาม
ฉลากยาที่ปิดข้างขวด แยกตามขนาดการใช้ดังนี้– อายุต่ ากว่า 5 ปี ห้าม
รับประทาน
– อายุ 5 - 7 ปี ครั้งละ 1 เม็ด
– อายุ 8 - 14 ปี ครั้งละ 2 เม็ด
– อายุ 15 ปีขึ้นไป ครั้งละ 3 เม็ด
เริ่มต้น
อายุต่ ากว่า 5 ปี
ห้ามรับประทาน
อายุ 5 ปีขัน้ไป แต่ไม่ถึง 8 ปี
ครั้งละ 1 เม็ด
อายุ 8 ปีขัน้ไปแต่ไม่ถึง 15 ปี
ครัง้ละ 2 เม็ด
ครัง้ละ 3 เม็ด
หยุด
ใช่
ใช่
ใช่
ไม่ใช่
ไม่ใช่
ไม่ใช่
ผังงานทางคอมพิวเตอร์ผังงานทางคอมพิวเตอร์แบ่งออกเป็น 2 ประเภท ได้แก่
ผังงานระบบ (System flowchart)
ผังงานโปรแกรม (Program flowchart)
ผังงานระบบ(System flowchart)• เป็นผังงานที่ใช้แสดงขั้นตอนการท างานของระบบงานอย่างกว้าง ๆ
ทั้งระบบ โดยแสดงให้เห็นถึงความสัมพันธ์ของส่วนส าคัญต่าง ๆ ในระบบนั้น
• เช่น เอกสารเบื้องต้น หรือสื่อบันทึกที่ใช้อยู่เป็นอะไร และผ่านไปยังหน่วยงานใด มีกิจกรรมอะไรในหน่วยงานนั้น ๆ แล้วส่งต่อไปยังหน่วยงานใด เป็นต้น
• ดังนั้น ผังงานระบบ จะเกี่ยวข้องกับ คน วัสดุ และเครื่องจักร โดยแสดงการน าข้อมูลเข้า ประมวลผล แสดงผลลัพธ์ ว่ามาจากที่ใดกว้าง ๆ
ตัวอย่างผังงานระบบ• ผังงานแสดงการค านวณ
พื้นที่สามเหลี่ยมจ านวน 100 รูป
เริ่มต้น
บันทกึความสูงและความยาวฐานลงในดสิก์
รับความสูง และความยาวฐานของสามเหลี่ยม 100 รูป
ดิสก์ที่บันทกึแล้ว
ค านวณพื้นที่ของสามเหลีย่ม
พิมพ์รายงานของพื้นทีส่ามเหลี่ยม
จบ
ผังงานโปรแกรม(Program flowchart)• เป็นผังงานที่แสดงขั้นตอนของค าสั่งที่ใช้ในโปรแกรม
• ผังงานนี้แยกย่อยมาจากผังงานระบบ โดยผู้เขียนโปรแกรมจะดึงเอาแต่ละจุดที่เกี่ยวข้องกับการประมวลผลในคอมพิวเตอร์ที่ปรากฏในผังงานระบบมาเขียนแสดงรายละเอียดในการประมวลผลอย่างเป็นล าดับขั้นตอน เพื่อน าไปประกอบการเขียนโปรแกรมต่อไป
ตัวอย่างผังงานโปรแกรม• ผังงานแสดงการค านวณพื้นที่สามเหลี่ยมจ านวน 100 รูป
เริ่มต้น
รับความสงู และความยาวฐานทีละรูป
ครบ 100 รูปแล้วใช่หรือไม่
ค านวณพื้นที=่ 0.5 * ฐาน * สูง
พิมพ์พื้นที่สามเหลี่ยมทีละรูป
จบ
ไม่ใช่
ใช่
เปรียบเทียบผังงานระบบและผังงานโปรแกรมเริ่มต้น
บันทึกความสูงและความยาวฐานลงในดิสก์
รับความสงู และความยาวฐานของสามเหล่ียม 100 รูป
ดิสก์ที่บันทึกแลว้
ค านวณพื้นที่ของสามเหล่ียม
พิมพ์รายงานของพื้นที่สามเหล่ียม
จบ
เริ่มต้น
รับความสงู และความยาวฐานทีละรูป
ครบ 100 รูปแล้วใช่หรือไม่
ค านวณพื้นที=่ 0.5 * ฐาน * สูง
พิมพ์พื้นที่สามเหล่ียมทีละรูป
จบ
ไม่ใช่
ใช่
ผังงานระบบ
ผังงานโปรแกรม
ประโยชน์ของการเขียนผังงาน• เราสามารถเรียนรู้และเขา้ใจผังงานได้ง่าย เพราะผังงานไม่ขึ้นอยู่กับ
ภาษาคอมพวิเตอร์ภาษาใดภาษาหนึ่ง• ผังงานเป็นการสื่อความหมายด้วยภาพ ท าให้ง่ายและสะดวกตอ่การ
พิจารณาล าดับขั้นตอนในการท างานดีกว่าการบรรยายเป็นตัวอักษร• ช่วยให้การคน้หาความผิดพลาดของล าดับการท างานได้รวดเรว็ และ
สามารถแก้ไขได้ง่าย• การเขยีนโปรแกรมโดยพจิารณาจากผังงาน สามารถท าได้รวดเร็วและ
ง่ายขึ้น• ในการบ ารงุรักษาโปรแกรม หรือมีการเปลี่ยนแปลงแก้ไขโปรแกรมให้
มีประสิทธิภาพ ถ้าดจูากผังงานจะช่วยให้สามารถทบทวนการท างานในโปรแกรมได้ง่ายขึ้น
ข้อจ ากัดของการเขียนผังงาน• การเขียนผังงานไม่เหมาะกับงานที่มีวิธีการซับซ้อน เช่น มีการที่เงื่อนไขในการทอสอบมากมาย ซึ่งมักจะใช้ตารางการตัดสินใจ(decision table) เข้ามาช่วยมากกว่า
สัญลักษณ์ในการเขียนผังงาน(1/13)• การเขียนผังงานเป็นการน าเอาภาพสัญลักษณ์ต่าง ๆ มาเรียงต่อกัน เพื่อแสดงล าดับขั้นตอนการท างาน โดยมีเส้นลูกศรเชื่อมระหว่างภาพต่างๆ
• สัญลักษณ์ในการเขียนผังงานที่นิยมใช้กันนั้น เป็นสัญลักษณ์ของหน่วยงานที่ชื่อว่า American National Standard Institute (ANSI) และ International Standard Organization (ISO) เป็นผู้ก าหนดและรวบรวมให้เป็นสัญลักษณ์มาตรฐานในการเขียนผังงาน
สัญลักษณ์ในการเขียนผังงาน(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
- เป็นจริง พิมพ์ค่า i เสร็จแล้วไปท าค าสั่งอื่น ๆ
- เป็นเท็จ ไปท าค าสั่งอื่น ๆ
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)
รับค่าทางการกดแป้นพิมพ์
(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)สัญลักษณ์ ความหมาย ตัวอย่างการใช้ ค าอธิบาย
จุดต่อเนื่องในหน้าเดียวกัน
(In-Page connector)
หลังจากพิมพ์ค่า A
แล้วให้ท าตามที่จุด
ต่อเนื่อง A ซึ่งอยู่ใน
หน้าเดียวกัน
จุดต่อเนื่องทีอ่ยู่คนละหน้า
(Off-Page Connector)
หลังจากก าหนดค่า A
เท่ากับ 3 ให้ท าตาม
จุดต่อเนื่องชื่อ 1 ซึ่ง
ไม่ได้อยู่ในหนา้
เดียวกัน
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
บนเทปกระดาษ
การรับหรือแสดงข้อมูลโดยใชเ้ทปแม่เหล็กเป็นสื่อ
(Magnatic tape)
read ID , name
สัญลักษณ์ในการเขียนผังงาน(10/13)สัญลักษณ์ ความหมาย ตัวอย่างการใช้ ค าอธิบาย
การรับหรือแสดงข้อมูลโดยใชจ้านแม่เหล็กเป็นสื่อ
(Magnatic disk)
การรับหรือแสดงข้อมูลโดยใชด้รัมแม่เหล็กเป็นสื่อ
(Magnatic drum)
สัญลักษณ์ในการเขียนผังงาน(11/13)สัญลักษณ์ ความหมาย ตัวอย่างการใช้ ค าอธิบาย
การท างานที่ก าหนดไว้แล้ว เช่น โปรแกรมย่อย
(Predefine Process)
เรียกโปรแกรม
ย่อยชื่อ findGrade
ให้ท างาน
การควบคุมการท างานด้วยมนุษย์ บางครั้งเรียกการท างานแบบออฟไลน์
(Offline Processing)
findGrade
สัญลักษณ์ในการเขียนผังงาน(12/13)สัญลักษณ์ ความหมาย ตัวอย่างการใช้ ค าอธิบาย
การท างานแบบออฟไลน์ของอุปกรณ์ที่ไม่ได้ถูกควบคุมจากหน่วยประมวลผลกลางโดยตรง
(Auxiliary Operation)
การจัดเรียงล าดับข้อมูล
(Sorting)
สัญลักษณ์ในการเขียนผังงาน(13/13)สัญลักษณ์ ความหมาย ตัวอย่างการใช้ ค าอธิบาย
การส่งข้อมูลทางสายส่ือสาร
(Communication Link)
หลักการจัดภาพผังงาน(1/2)• ทิศทางของผังงานจะเริ่ม
จากส่วนบนของหน้ากระดาษลงมายงัส่วนล่าง และจากซ้ายมือไปของหน้ากระดาษ และควรเขียนเครื่องหมายลูกศรก ากับทิศทางไว้ด้วย
START
STOP
read age
age > 60
“You are old”
true
false
บน
ล่าง
ทิศทางของเส้น
หลักการจัดภาพผังงาน(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
STOP
A = 5
B = 3
C = A + B
print C
เริ่มต้น
ก าหนดค่าตวัแปร A มีค่าเป็น 5
ก าหนดค่าตวัแปร B มีค่าเป็น 3
เอาค่า A บวกกับ B แล้วเก็บไว้ใน C
พิมพ์ค่า C
จบการท างาน
รูปแบบตามล าดับ(3/3)
เริ่มต้น
รับข้อมูลมาเก็บไว้ในตัวแปร A, B ทางแป้นพิมพ์
เอาค่า A บวกกับ B แล้วเก็บไว้ใน C
พิมพ์ค่า C
จบการท างาน
START
STOP
C = A + B
print C
A , B
ตัวอย่างการเขียนผังงานแบบตามล าดับ• จงเขียนโปรแกรมค านวณค่าไฟฟ้า โดยรับค่ามิเตอร์จ านวนการใช้
ไฟฟ้าของเดอืนที่แล้ว และค่ามิเตอรก์ารใช้ไฟฟ้าของเดือนปจัจบุัน ค านวณค่าไฟฟ้า โดยคิดอัตรา 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 chartSTART
STOP
Num_meter = Curr_meter – Last_meter
Last_meter , Curr_meter
Electric_fee = Num_meter * 2.5
Num_meter , Electric_fee
แบบการเลือกเป็นการเขียนโปรแกรมแบบมีการเปรียบเทียบเงื่อนไข และท างานตามค าส่ังอย่างใดอย่างหนึ่งตามเงื่อนไขที่ก าหนด ผลจากการเปรียบเทียบเงื่อนไข จะให้ผลลัพธ์เป็นจริงหรือเท็จ ถ้าผลเป็นจริง ให้ท างานตามค าสั่งด้านที่เงื่อนไขเป็นจริง ถ้าเป็นเท็จให้ท าตามค าสั่งด้านที่เงื่อนไขเป็นเทจ็
• แบบทางเลอืกเดียว (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
ถ้าเป็นจริง พิมพ์ข้อความ You are oldถ้าเป็นเท็จ ไม่ต้องท าอะไร
จบการท างาน
เปรียบเทียบค่า age มากกว่า 60
แบบทางเลือกเดียว(3/5)
รับค่า รหัสผ่านจากผู้ใช้ ถ้ารหัสผ่านที่ป้อนมีค่า GoodLuck ให้แสดงข้อว่า Welcome Manager และข้อความ Exit Password System
เริ่ม
รับค่า ans
ans = “GoodLuck”
พิมพ์ Welcome
Manager
พิมพ์ Exit Password
System
จบ
จริง
เท็จ
แบบทางเลือกเดียว(4/5)• บริษัทแห่งหนึ่งต้องการเพิ่มเงินเดือนให้พนักงานที่มีเงินเดือนต่ ากว่า 5000 อีกคนละ 10% และให้พนักงานทุกคนได้รับโบนัสคนละ 3 เท่าของเงินเดือน
• ขั้นตอนการประมวลผล1. รับค่าชื่อพนกังาน . เงินเดือน2. เปรียบเทียบค่า เงินเดือน
- ถ้าน้อยกว่า 5000 ให้เงินเดือน = เงินเดือน + (เงินเดือน * 10/100)
3. ค านวณโบนัส = เงินเดือน * 34. แสดงผลลัพธ์5. จบการท างาน
แบบทางเลือกเดียว(5/5)START
STOP
read
name ,salary
salary < 5000Name , salary ,
bonus true
false
salary = salary + (salary*10/100)
A
A
bonus = salary * 3
แต่ไม่ต้องเขียนเสน้เชื่อมนี้
ข้อควรจ า• ในการเปรียบเทียบเงื่อนไขแบบ IF – THEN นิยมให้ท างานตามค าสั่งเมื่อเงื่อนไขมีค่าเป็นจริง ไม่นิยมให้ท างามตามค าสั่งเป็นเท็จ
เงื่อนไข
ประโยคงาน 1
งานล าดับถัดไป
จริง
เท็จ
ประโยคงาน 2
เงื่อนไข
ประโยคงาน 1
งานล าดับถัดไป
จริง
เท็จ
ประโยคงาน 2
เงื่อนไข
ประโยคงาน 1
งานล าดับถัดไป
จริง
เท็จ
ประโยคงาน 2
IF เงื่อนไข THEN
BEGINประโยคงาน 1 ;ประโยคงาน 2 ;
END;
เงื่อนไข
ประโยคงาน 1
งานล าดับถัดไป
เท็จ
จริง
ประโยคงาน 2
IF เงื่อนไข THEN
ELSE
BEGINประโยคงาน 1 ;ประโยคงาน 2 ;
END;
แบบสองทางเลือก(1/6)• การท างานขึ้นอยู่กับเงื่อนไข ถ้าเป็นจริงไปท างานด้านหนึ่ง ถ้าเป็นเท็จก็จะไปท างานอีกอย่างหนึ่ง
เงื่อนไข
ประโยคงาน2
งานล าดับถัดไป
จริงเท็จ
ประโยคงาน1
แบบสองทางเลือก(2/6)• ถ้า sex =1 เงื่อนไขเป็นจริง จะเพิ่มค่าตัวแปร Male ขึ้นอีก 1
• ถ้า sex =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ถ้าเป็นเท็จ พิมพ์ข้อความ 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
- ถ้าเป็นจริง พิมพ์Thank you-ถ้าเป็นเท็จ พิมพ์I’m sorry to hear that
พิมพ์ค าว่า Goodbye
จบการท างาน
แบบสองทางเลือก(5/6)• บริษัทแห่งหนึ่งต้องการเพิ่มเงินเดือนให้พนักงานที่มีเงินเดือนต่ ากว่า
5000 อกีคนละ 10% และพนักงานที่มีเงินเดือนตั้งแต่ 5000 เพิ่ม 5% ให้พนักงานทุกคนได้รับโบนัสคนละ 3 เท่าของเงินเดือน
• ขั้นตอนการประมวลผล1. รับค่าชื่อพนักงาน . เงินเดือน2. เปรียบเทียบคา่ เงินเดือน < 5000
- ถ้าเป็นจริง ให้อัตราเพิ่มเงินเดือน = 10/100- ถ้าเป็นเท็จให้อัตราเพิ่มเงินเดือน = 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)• เป็นรูปแบบการเลือกการท างานที่มทีางเลือกมากกว่า 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)• เป็นรูปแบบการเลือกการท างานที่มีทางเลือกมากกว่า 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)
แบบก าหนดรอบการท างานเอาไว้ล่วงหน้า• มีการก าหนดรอบการท างานซ้ าไว้ล่วงหน้า เมื่อครบตามจ านวนรอบจึงหยุดท างานซ้ าแล้วท าค าสั่งต่อไป
ก าหนดรอบการท างาน
ค ำสั่งท ำซ ำ 1
ค ำสั่งท ำซ ำ 2
Next
แบบก าหนดรอบการท างานเอาไว้ล่วงหน้า• ค่า N จะเริ่มต้นที่ 1 และเพิ่มค่าทีละ 1 จนกระทั่ง มากกว่า 5 จึงหยุดการท างานซ้ า และท าค าส่ังถัดจาก Next ในแต่ละรอบของงานที่ให้ท าซ้ าคือ พิมพ์ค่าในตัวแปร N ทีละรอบ
For N =1 , 5
Next
Print N
แบบตรวจสอบเงื่อนไขก่อนถ้าเป็นจริงแล้วค่อยท าซ้ า
• แบบตรวจสอบเงื่อนไขก่อน ถ้าเงื่อนไขยังเป็นจริงให้ท างานซ้ า จนกระทั่งเงื่อนไขเป็นเท็จจึงหยุดท างานซ้ า แล้วไปท างานค าสั่งอ่ืนถัดไป
เงื่อนไข
ค าสั่งงานซ้ า 1
True
False
ค าสั่งงานซ้ า 2
แบบตรวจสอบเงื่อนไขก่อนถ้าเป็นจริงแล้วค่อยท าซ้ า
• ตรวจสอบเงื่อนไขถ้า N <= 5– ให้พิมพ ์ค่า N
– เพิ่มค่า N อกี 1 (N=N+1)
• กลับไปตรวจสอบเงื่อนไขอีกจนกว่าเงื่อนจะเป็นเท็จ จึงหยุดท างานซ้ า แล้วไปท างานค าสั่งอ่ืน
N <=5
N = N+1
True
False
Print N
N = 1
แบบท าซ้ าก่อนแล้วค่อยตรวจเงื่อนไข• แบบให้ท างานในค าสั่งท าซ้ าก่อน แล้วค่อยตรวจสอบเงื่อนไข ถ้าเงื่อนไขยังเป็นเท็จให้กลับไปท างานในค าสั่งท าซ้ าอีก จนกระทั่งตรวจสอบแล้วเงื่อนเป็นจริง จึงหยุด แล้วไปท างานค าส่ังอื่น
เงื่อนไข
ค าสั่งงานซ้ า 1
True
False
ค าสั่งงานซ้ า 2
แบบท าซ้ าก่อนแล้วค่อยตรวจเงื่อนไข– ให้พิมพ์ค่าในตัวแปร N
– เพิ่มค่าให้ตัวแปร N อีก 1
• ตรวจสอบเงื่อนไข ถ้า N > 5 เป็นจริงให้หยุดท างานซ้ า ถ้าเป็นเท็จให้กลับไปท างานค าสั่งซ้ าอีกรอบ
N > 5
True
False
N = N+1
Print N
N = 1