การเขียนผังการเขียนผัง
งานเบื้องต้นงานเบื้องต้น
BasicBasic
FlowchartingFlowcharting
การเขียนผังการเขียนผัง
งานงาน(Flowcharting)(Flowcharting)•ผังงาน หมายถึง เครื่องมือที่ช่วยในการ
เขียนโปรแกรม โดยเขียนเป็น
เครื่องหมายภาพสัญลักษณ์แสดงลำาดับ
ขั้นตอนการทำางาน
•การเขียนผังงาน เป็นการถ่ายทอดความ
เข้าใจที่ได้จากการวิเคราะห์งานให้อยู่
ในรูปภาพหรือสัญลักษณ์
•ผู้เขียนโปรแกรมจะสามารถเข้าใจ
ลำาดับขั้นตอนการเขียนโปรแกรมได้
การเขียนผังการเขียนผัง
งานงาน(Flowcharting)(Flowcharting)•งานทุกชนิดที่มีการวิเคราะห์เป็นลำาดับ
ขั้นตอนแล้ว เราสามารถนำามาเขียนผัง
งานได้ แม้กระทั่งงานที่เกี่ยวข้องกับ
ชีวิตประจำาวันของเราเอง
ตัวอย่างผังงานตัวอย่างผังงาน
ทั่วไปทั่วไป((1/3)1/3)•แสดงการโยน
เหรียญ 3 ครั้ง
ถ้าออกหัว ผู้
โยนจะได้เงิน
10 บาท ถ้า
ออกก้อย ผู้โยน
จะเสียเงิน 10
บาท
เริ่มต้น
โยนเหรียญ
ผลการโยน
ได้เงิน 10 บาทเสียเงิน 10 บาท
ครบ 3 ครั้ง
หรือยัง?
หยุด
หัวก้อย
ยัง
ครบ
ตัวอย่างผังงานตัวอย่างผังงาน
ทั่วไปทั่วไป(2/3)(2/3)•ผังงานแสดง
การเดินข้าม
ถนนที่มี
สัญญาณไฟ
จราจร
เริ่มต้น
รอสัญญาณไฟ
ไฟแดง
หรือไม่
เดินข้ามถนน
หยุด
ใช่
ไม่ใช่
ตัวอย่างผังงานตัวอย่างผังงาน
ทั่วไปทั่วไป(3/3)(3/3)•ผังงานพิจารณา
การใช้ยาตาม
ฉลากยาที่ปิดข้าง
ขวด แยกตาม
ขนาดการใช้ดังนี้
– อายุตำ่ากว่า 5 ปี
ห้ามรับประทาน
– อายุ 5 - 7 ปี ครั้ง
ละ 1 เม็ด
– อายุ 8 - 14 ปี
เริ่มต้น
อายุตำ่ากว่า
5 ปี
ห้ามรับประทาน
อายุ 5 ปีขั้นไป
แต่ไม่ถึง 8 ปี
ครั้งละ 1 เม็ด
อายุ 8 ปีขั้นไป
แต่ไม่ถึง 15 ปี
ครั้งละ 2 เม็ด
ครั้งละ 3 เม็ด
หยุด
ใช่
ใช่
ใช่
ไม่ใช่
ไม่ใช่
ไม่ใช่
ผังงานทางคอมพิวเตอร์ผังงานทางคอมพิวเตอร์
ผังงานทางคอมพิวเตอร์แบ่งออก
เป็น 2 ประเภท ได้แก่
ผังงานระบบ (System
flowchart)
ผังงานโปรแกรม (Program
flowchart)
ผังงานระบบผังงานระบบ(System(System
flowchart)flowchart)•เป็นผังงานที่ใช้แสดงขั้นตอนการ
ทำางานของระบบงานอย่างกว้าง ๆ ทั้ง
ระบบ โดยแสดงให้เห็นถึงความสัมพันธ์
ของส่วนสำาคัญต่าง ๆ ในระบบนั้น
•เช่น เอกสารเบื้องต้น หรือสื่อบันทึกที่ใช้
อยู่เป็นอะไร และผ่านไปยังหน่วยงาน
ใด มีกิจกรรมอะไรในหน่วยงานนั้น ๆ
แล้วส่งต่อไปยังหน่วยงานใด เป็นต้น
•ดังนั้น ผังงานระบบ จะเกี่ยวข้องกับ คน
ตัวอย่างผังงานระบบตัวอย่างผังงานระบบ
•ผังงานแสดงการ
คำานวณพื้นที่
สามเหลี่ยม
จำานวน 100 รูป
เริ่มต้น
บันทึกความสูงและความยาวฐาน
ลงในดิสก์
รับความสูง และความยาวฐาน
ของสามเหลี่ยม 100 รูป
ดิสก์ที่
บันทึกแล้ว
คำานวณพื้นที่ของสามเหลี่ยม
พิมพ์รายงานของ
พื้นที่สามเหลี่ยม
จบ
ผังงานผังงาน
โปรแกรมโปรแกรม(Program(Program
flowchart)flowchart)•เป็นผังงานที่แสดงขั้นตอนของคำาสั่งที่
ใช้ในโปรแกรม
•ผังงานนี้แยกย่อยมาจากผังงานระบบ
โดยผู้เขียนโปรแกรมจะดึงเอาแต่ละจุด
ที่เกี่ยวข้องกับการประมวลผลใน
คอมพิวเตอร์ที่ปรากฏในผังงานระบบมา
เขียนแสดงรายละเอียดในการประมวล
ผลอย่างเป็นลำาดับขั้นตอน เพื่อนำาไป
ประกอบการเขียนโปรแกรมต่อไป
ตัวอย่างผังงานตัวอย่างผังงาน
โปรแกรมโปรแกรม•ผังงานแสดง
การคำานวณ
พื้นที่สามเหลี่ยม
จำานวน 100 รูป
เริ่มต้น
รับความสูง และ
ความยาวฐานทีละรูป
ครบ 100 รูปแล้ว
ใช่หรือไม่
คำานวณพื้นที่= 0.5 * ฐาน * สูง
พิมพ์พื้นที่สามเหลี่ยม
ทีละรูป
จบ
ไม่ใช่
ใช่
เปรียบเทียบผังงานระบบและเปรียบเทียบผังงานระบบและ
ผังงานโปรแกรมผังงานโปรแกรมเริ่มต้น
บันทึกความสูงและความยาวฐาน
ลงในดิสก์
รับความสูง และความยาวฐาน
ของสามเหลี่ยม 100 รูป
ดิสก์ที่
บันทึกแล้ว
คำานวณพื้นที่ของสามเหลี่ยม
พิมพ์รายงานของ
พื้นที่สามเหลี่ยม
จบ
เริ่มต้น
รับความสูง และ
ความยาวฐานทีละรูป
ครบ 100 รูปแล้ว
ใช่หรือไม่
คำานวณพื้นที่= 0.5 * ฐาน * สูง
พิมพ์พื้นที่สามเหลี่ยม
ทีละรูป
จบ
ไม่ใช่
ใช่
ผังงานระบบ
ผังงานโปรแกรม
ประโยชน์ของการเขียนประโยชน์ของการเขียน
ผังงานผังงาน• เราสามารถเรียนรู้และเข้าใจผังงานได้ง่าย
เพราะผังงานไม่ขึ้นอยู่กับภาษาคอมพิวเตอร์
ภาษาใดภาษาหนึ่ง
• ผังงานเป็นการสื่อความหมายด้วยภาพ
ทำาให้ง่ายและสะดวกต่อการพิจารณาลำาดับ
ขั้นตอนในการทำางานดีกว่าการบรรยายเป็น
ตัวอักษร
• ช่วยให้การค้นหาความผิดพลาดของลำาดับ
การทำางานได้รวดเร็ว และสามารถแก้ไขได้
ง่าย
• การเขียนโปรแกรมโดยพิจารณาจากผังงาน
ข้อจำากัดของการเขียนข้อจำากัดของการเขียน
ผังงานผังงาน
•การเขียนผังงานไม่เหมาะกับงานที่
มีวิธีการซับซ้อน เช่น มีการที่
เงื่อนไขในการทอสอบมากมาย ซึ่ง
มักจะใช้ตารางการตัดสิน
ใจ(decision table) เข้ามาช่วย
มากกว่า
สัญลักษณ์ในการเขียนสัญลักษณ์ในการเขียน
ผังงานผังงาน(1/13)(1/13)
•การเขียนผังงานเป็นการนำาเอาภาพ
สัญลักษณ์ต่าง ๆ มาเรียงต่อกัน เพื่อ
แสดงลำาดับขั้นตอนการทำางาน โดย
มีเส้นลูกศรเชื่อมระหว่างภาพต่างๆ
•สัญลักษณ์ในการเขียนผังงานที่
นิยมใช้กันนั้น เป็นสัญลักษณ์ของ
หน่วยงานที่ชื่อว่า American
National Standard Institute
สัญลักษณ์ในการเขียนสัญลักษณ์ในการเขียน
ผังงานผังงาน(2/13)(2/13)สัญลักษ
ณ์
ความหมาย ตัวอย่าง
การใช้
คำาอธิบาย
การเริ่มต้น
หรือสิ้นสุด
การเขียน
ผังงาน
(Terminal
)
1. เริ่มต้น
ผังงาน
2. จบผัง
งาน
รับข้อมูล
หรือแสดง
1. รับค่าใส่
ใน
ตัวแปร
START
STOP
read name
display area
สัญลักษณ์ในการเขียนสัญลักษณ์ในการเขียน
ผังงานผังงาน(3/13)(3/13)สัญลักษ
ณ์
ความ
หมาย
ตัวอย่าง
การใช้
คำาอธิบาย
การ
ประมวล
ผล
(Process)
1. คำานวณ A
+ B และ
เก็บไว้ใน
C
2. กำาหนดค่า
sum
เท่ากับ 0
การเปรียบ
เทียบหรือ
เปรียบเทียบถ้า i
มีค่า
น้อยกว่าหรือ
C = A + B
Sum = 0
i <= 10
true
false
แสดง i
สัญลักษณ์ในการเขียนสัญลักษณ์ในการเขียน
ผังงานผังงาน(4/13)(4/13)สัญลักษ
ณ์
ความหมาย ตัวอย่าง
การใช้
คำาอธิบาย
การแสดง
ผลลัพธ์
ทาง
เครื่องพิมพ์
(Documen
t)
พิมพ์ค่า A
ทาง
เครื่องพิมพ์
การแสดง
ผลลัพธ์
แสดงค่า A,
B
print A
display A , B
สัญลักษณ์ในการเขียนสัญลักษณ์ในการเขียน
ผังงานผังงาน(5/13)(5/13)สัญลักษ
ณ์
ความหมาย ตัวอย่าง
การใช้
คำาอธิบาย
หมายเหตุ
(Commen
t)
รับค่า
ทางการกด
แป้นพิมพ์
(Manual
Input)
รับค่า A
ทาง
แป้นพิมพ์
read A A = Age
read A
สัญลักษณ์ในการเขียนสัญลักษณ์ในการเขียน
ผังงานผังงาน(6/13)(6/13)สัญลักษ
ณ์
ความหมาย ตัวอย่าง
การใช้
คำาอธิบาย
การ
กำาหนดค่า
ต่างๆ ไว้
ล่วงหน้า
(Preparati
on)
กำาหนดให้ i มี
ค่าเท่ากับ
1 และเพิ่มค่าที
ละ 1
จนมีค่าเป็น
100 จึง
ออก
จากการทำางาน
ซำ้า
โดยแต่ละรอบ
บวกค่า
sum ด้วยค่า i
for i =1 to 100
sum = sum + i
i
สัญลักษณ์ในการเขียนสัญลักษณ์ในการเขียน
ผังงานผังงาน(7/13)(7/13)สัญลักษ
ณ์
ความหมาย ตัวอย่าง
การใช้
คำาอธิบาย
จุดต่อเนื่อง
ในหน้า
เดียวกัน
(In-Page
connector
)
หลังจากพิมพ์
ค่า A
แล้วให้ทำา
ตามที่จุด
ต่อเนื่อง A
ซึ่งอยู่ใน
หน้าเดียวกัน
จุดต่อเนื่อง
ที่อยู่คนละ
หลังจาก
กำาหนด
A
write A
A = 3
1
สัญลักษณ์ในการเขียนสัญลักษณ์ในการเขียน
ผังงานผังงาน(8/13)(8/13)สัญลักษ
ณ์
ความหมาย ตัวอย่าง
การใช้
คำาอธิบาย
การรับหรือ
แสดง
ข้อมูลโดย
ใช้บัตร
เจาะรู
(Punch
card)
1. อ่านค่า A
ที่บัตร
เจาะรู 1
ใบ
2. เจาะค่า
B,C บน
บัตร 1
ใบ
ชุดของ
บัตรเจาะรู
เจาะค่า B1 ,
B2 , Bn
read A
punch B , C
punch
bi b=1 ,
…n
สัญลักษณ์ในการเขียนสัญลักษณ์ในการเขียน
ผังงานผังงาน(9/13)(9/13)สัญลักษ
ณ์
ความหมาย ตัวอย่าง
การใช้
คำาอธิบาย
การรับหรือ
แสดง
ข้อมูลโดย
ใช้เทป
กระดาษ
(Punched
tape)
อ่านค่า ID ,
name
บนเทป
กระดาษ
การรับหรือ
read ID ,
name
สัญลักษณ์ในการเขียนสัญลักษณ์ในการเขียน
ผังงานผังงาน(10/13)(10/13)สัญลักษ
ณ์
ความหมาย ตัวอย่าง
การใช้
คำาอธิบาย
การรับหรือ
แสดง
ข้อมูลโดย
ใช้จานแม่
เหล็กเป็น
สื่อ
(Magnatic
disk)
สัญลักษณ์ในการเขียนสัญลักษณ์ในการเขียน
ผังงานผังงาน(11/13)(11/13)สัญลักษ
ณ์
ความหมาย ตัวอย่าง
การใช้
คำาอธิบาย
การทำางานที่
กำาหนดไว้
แล้ว เช่น
โปรแกรม
ย่อย
(Predefine
Process)
เรียก
โปรแกร
ม
ย่อยชื่อ
findGra
de
ให้ทำางาน
การควบคุม
การทำางาน
ด้วยมนุษย์
findGrade
สัญลักษณ์ในการเขียนสัญลักษณ์ในการเขียน
ผังงานผังงาน(12/13)(12/13)สัญลักษ
ณ์
ความหมาย ตัวอย่าง
การใช้
คำาอธิบาย
การทำางาน
แบบออฟไลน์
ของอุปกรณ์ที่
ไม่ได้ถูก
ควบคุมจาก
หน่วยประมวล
ผลกลาง
โดยตรง
(Auxiliary
Operation)
การจัดเรียง
สัญลักษณ์ในการเขียนสัญลักษณ์ในการเขียน
ผังงานผังงาน(13/13)(13/13)สัญลักษ
ณ์
ความหมาย ตัวอย่าง
การใช้
คำาอธิบาย
การส่งข้อมูล
ทางสาย
สื่อสาร
(Communic
ation Link)
หลักการจัดภาพผังหลักการจัดภาพผัง
งานงาน(1/2)(1/2)• ทิศทางของผัง
งานจะเริ่มจาก
ส่วนบนของหน้า
กระดาษลงมายัง
ส่วนล่าง และ
จากซ้ายมือไป
ของหน้า
กระดาษ และ
ควรเขียน
เครื่องหมายลูก
ศรกำากับทิศทาง
START
STOP
read age
age > 60
“You are old”
true
false
บน
ล่าง
ทิศทางของเส้น
หลักการจัดภาพผังหลักการจัดภาพผัง
งานงาน(2/2)(2/2)• สัญลักษณ์หรือ
ภาพที่ใช้ในการ
เขียนผังงานมี
ขนาดต่าง ๆ กัน
ได้ แต่จะต้องมี
รูปมาตรฐานตาม
ความหมายที่
กำาหนด
START
sum =
0
i = 1 to 10
sum =
sum + i
i
sum
STOP
ขนาดของ
สัญลักษณ์
ปรับให้เหมาะ
สมกับ
ข้อความใน
สัญลักษณ์
หลักการจัดภาพผังหลักการจัดภาพผัง
งานงาน(3/2)(3/2)•การเขียนทิศทางของผังงานควร
เป็นไปอย่างมีระเบียบ และหลีก
เลี่ยงการขีดโยงไปโยงมาในทิศทาง
ตัดกัน ถ้าจำาเป็นต้องโยงถึงกัน ควร
ใช้เครื่องหมายจุดต่อเนื่องแทนและ
ถ้าเป็นไปได้ควรเขียนผังงานให้จบ
ในหน้าเดียวกัน
•คำาอธิบายในภาพ เขียนเพียงสั้น ๆ
และเข้าใจง่าย
รูปแบบการเขียนผังงานรูปแบบการเขียนผังงาน
•แบบตามลำาดับ (Sequence)
•แบบการเลือก/ตัดสิน
ใจ/เงื่อนไข
(Selection/Decision/Conditi
on)
•แบบวนซำ้า (Iteration / Loop)
รูปแบบตามลำาดับรูปแบบตามลำาดับ(1/3)(1/3)
•เป็นรูปแบบการเขียนโปรแกรมที่ง่าย
ที่สุด ทำางานทีละอย่างจากบนลงล่าง
แสดงลำาดับการทำางานจากบนลงล่าง
ตามลูกศรงานที่ 1
งานที่ 2
งานที่ 3
อ่านข้อมูล
คำานวณข้อมูล
พิมพ์ผลลัพธ์
คำานวณ
คำานวณ
คำานวณ
รูปแบบตามลำาดับรูปแบบตามลำาดับ(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)(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 chartFlow chart
START
STOP
Num_meter = Curr_meter – Last_meter
Last_meter ,
Curr_meter
Electric_fee = Num_meter * 2.5
Num_meter , Electric_fee
แบบการเลือกแบบการเลือก
เป็นการเขียนโปรแกรมแบบมีการเปรียบ
เทียบเงื่อนไข และทำางานตามคำาสั่ง
อย่างใดอย่างหนึ่งตามเงื่อนไขที่กำาหนด
ผลจากการเปรียบเทียบเงื่อนไข จะให้
ผลลัพธ์เป็นจริงหรือเท็จ ถ้าผลเป็นจริง
ให้ทำางานตามคำาสั่งด้านที่เงื่อนไขเป็น
จริง ถ้าเป็นเท็จให้ทำาตามคำาสั่งด้านที่
เงื่อนไขเป็นเท็จ
•แบบทางเลือกเดียว (IF - THEN)
แบบทางเลือกเดียวแบบทางเลือกเดียว(1/5)(1/5)
เงื่อนไข
ประโยคงาน
งานลำาดับถัดไป
จริง
เท็จ
เงื่อนไข
ประโยคงาน 1
งานลำาดับถัดไป
จริง
เท็จ
ประโยคงาน 2
แบบทางเลือกเดียวแบบทางเลือกเดียว(2/5)(2/5)
START
STOP
read age
age > 60
“You are old”
true
false
เริ่มต้น
รับค่าใส่ตัวแปร age
ถ้าเป็นจริง พิมพ์ข้อความ You ar
ถ้าเป็นเท็จ ไม่ต้องทำาอะไร
จบการทำางาน
เปรียบเทียบค่า age มากกว่า 60
แบบทางเลือกเดียวแบบทางเลือกเดียว(3/5)(3/5)
รับค่า รหัสผ่านจาก
ผู้ใช้ ถ้ารหัสผ่านที่
ป้อนมีค่า
GoodLuck ให้แสดง
ข้อว่า Welcome
Manager และ
ข้อความ Exit
Password System
เริ่ม
รับค่า ans
ans = “GoodLuck”
พิมพ์ Welcome
Manager
พิมพ์ Exit Password
System
จบ
จริง
เท็จ
แบบทางเลือกเดียวแบบทางเลือกเดียว(4/5)(4/5)
•บริษัทแห่งหนึ่งต้องการเพิ่มเงินเดือนให้
พนักงานที่มีเงินเดือนตำ่ากว่า 5000 อีก
คนละ 10% และให้พนักงานทุกคนได้รับ
โบนัสคนละ 3 เท่าของเงินเดือน
•ขั้นตอนการประมวลผล
1.รับค่าชื่อพนักงาน . เงินเดือน
2.เปรียบเทียบค่า เงินเดือน
- ถ้าน้อยกว่า 5000 ให้เงินเดือน = เงินเดือน +
(เงินเดือน * 10/100)
1.คำานวณโบนัส = เงินเดือน * 3
แบบทางเลือกเดียวแบบทางเลือกเดียว(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 นิยมให้ทำางานตามคำาสั่งเมื่อ
เงื่อนไขมีค่าเป็นจริง ไม่นิยมให้ทำางาม
ตามคำาสั่งเป็นเท็จ
เงื่อนไข
ประโยคงาน 1
งานลำาดับถัดไป
จริง
เท็จ
ประโยคงาน 2
เงื่อนไข
ประโยคงาน 1
งานลำาดับถัดไป
จริง
เท็จ
ประโยคงาน 2
เงื่อนไข
ประโยคงาน 1
งานลำาดับถัดไป
จริง
เท็จ
ประโยคงาน 2
IF เงื่อนไข THEN
BEGIN
ประโยคงาน 1 ;
ประโยคงาน 2 ;
END;
เงื่อนไข
ประโยคงาน 1
งานลำาดับถัดไป
เท็จ
จริง
ประโยคงาน 2
IF เงื่อนไข THEN
ELSE
BEGIN
ประโยคงาน 1 ;
ประโยคงาน 2 ;
END;
แบบสองทางเลือกแบบสองทางเลือก(1/6)(1/6)
•การทำางานขึ้นอยู่กับเงื่อนไข ถ้าเป็นจริง
ไปทำางานด้านหนึ่ง ถ้าเป็นเท็จก็จะไป
ทำางานอีกอย่างหนึ่ง
เงื่อนไข
ประโยคงาน2
งานลำาดับถัดไป
จริงเท็จ
ประโยคงาน1
แบบสองทางเลือกแบบสองทางเลือก(2/6)(2/6)
•ถ้า sex =1
เงื่อนไขเป็น
จริง จะเพิ่ม
ค่าตัวแปร
Male ขึ้นอีก 1
•ถ้า sex =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
ถ้าเป็นเท็จ พิมพ์ข้อความ You are
จบการทำางาน
เปรีบเทียบค่า age มากกว่า 6
แบบสองทางเลือกแบบสองทางเลือก(4/6)(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 หรือ
- ถ้าเป็นจริง พิมพ์
Thank you
-ถ้าเป็นเท็จ พิมพ์
I’m sorry to hear that
พิมพ์คำาว่า Goodbye
จบการทำางาน
แบบสองทางเลือกแบบสองทางเลือก(5/6)(5/6)
• บริษัทแห่งหนึ่งต้องการเพิ่มเงินเดือนให้
พนักงานที่มีเงินเดือนตำ่ากว่า 5000 อีกคนละ
10% และพนักงานที่มีเงินเดือนตั้งแต่ 5000
เพิ่ม 5% ให้พนักงานทุกคนได้รับโบนัสคนละ
3 เท่าของเงินเดือน
• ขั้นตอนการประมวลผล
1.รับค่าชื่อพนักงาน . เงินเดือน
2.เปรียบเทียบค่า เงินเดือน < 5000
- ถ้าเป็นจริง ให้อัตราเพิ่มเงินเดือน = 10/100
- ถ้าเป็นเท็จให้อัตราเพิ่มเงินเดือน = 5/100
1.คำานวณเงินเดือน = เงินเดือน + (เงินเดือน *
อัตราเพิ่มเงินเดือน)
2.โบนัส = เงินเดือน * 3
แบบทางเลือกเดียวแบบทางเลือกเดียว(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 ทางขึ้น
ไป
เงื่อนไข 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คำาสั่งที่ 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)
แบบกำาหนดรอบการทำางานแบบกำาหนดรอบการทำางาน
เอาไว้ล่วงหน้าเอาไว้ล่วงหน้า
•มีการกำาหนดรอบการทำางานซำ้าไว้ล่วง
หน้า เมื่อครบตามจำานวนรอบจึงหยุด
ทำางานซำ้าแล้วทำาคำาสั่งต่อไป
กำาหนดรอบการทำางาน
คำาสั่งทำาซำ้า 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

ผังงาน ปฏิพัทธ์ สคพ.2 เลขที่4