More Related Content Similar to การเขียนผังงานเบื้องต้น Similar to การเขียนผังงานเบื้องต้น (20) การเขียนผังงานเบื้องต้น2.
ผังงาน หมายถึง เครื่ องมือที่ชวยในการเขียนโปรแกรม โดยเขียนเป็ นเครื่ องหมายภาพ
่
สัญลักษณ์แสดงลาดับขันตอนการทางาน
้
การเขียนผังงาน เป็ นการถ่ายทอดความเข้ าใจที่ได้ จากการวิเคราะห์งานให้ อยูใน
่
รูปภาพหรื อสัญลักษณ์
ผู้เขียนโปรแกรมจะสามารถเข้ าใจลาดับขันตอนการเขียนโปรแกรมได้ อย่างรวดเร็ว
้
และง่ายขึ ้น และง่ายต่อการตรวจสอบความถูกต้ องของลาดับขันตอนในวิธีการ
้
ประมวลผล
4.
แสดงการโยนเหรียญ 3 ครัง
้
ถ้าออกหัว ผูโ้ ยนจะได้เงิน 10
บาท ถ้าออกก้อย ผูโ้ ยนจะเสียเงิน
10 บาท
เริมต้น
่
โยนเหรียญ
ก้อย
ี
เสยเงิน 10 บาท
ย ัง
ห ัว
ผลการโยน
ได้เงิน 10 บาท
ครบ 3 ครง
ั้
หรือย ัง?
ครบ
หยุด
6.
ผังงานพิจารณาการใช้ ยาตามฉลากยาที่
ปิ ดข้ างขวด แยกตามขนาดการใช้ ดงนี ้
ั
◦
◦
◦
◦
อายุต่ากว่า 5 ปี ห้ ามรับประทาน
อายุ 5 - 7 ปี ครังละ 1 เม็ด
้
อายุ 8 - 14 ปี ครังละ 2 เม็ด
้
อายุ 15 ปี ขึ ้นไป ครังละ 3 เม็ด
้
เริมต้น
่
อายุตากว่า
่
5 ปี
ใช่
ห้ามร ับประทาน
ไม่ใช่
อายุ 5 ปี ขนไป
ั้
แต่ไม่ถง 8 ปี
ึ
ใช่
ครงละ 1 เม็ด
ั้
ไม่ใช่
อายุ 8 ปี ขนไป
ั้
แต่ไม่ถง 15 ปี
ึ
ไม่ใช่
ครงละ 3 เม็ด
ั้
หยุด
ใช่
ครงละ 2 เม็ด
ั้
8.
เป็ นผังงานที่ใช้ แสดงขันตอนการทางานของระบบงานอย่างกว้ าง ๆ ทังระบบ โดย
้
้
แสดงให้ เห็นถึงความสัมพันธ์ของส่วนสาคัญต่าง ๆ ในระบบนัน
้
เช่น เอกสารเบื ้องต้ น หรื อสื่อบันทึกที่ใช้ อยูเ่ ป็ นอะไร และผ่านไปยังหน่วยงานใด มี
กิจกรรมอะไรในหน่วยงานนัน ๆ แล้ วส่งต่อไปยังหน่วยงานใด เป็ นต้ น
้
ดังนัน ผังงานระบบ จะเกี่ยวข้ องกับ คน วัสดุ และเครื่ องจักร โดยแสดงการนาข้ อมูล
้
เข้ า ประมวลผล แสดงผลลัพธ์ ว่ามาจากที่ใดกว้ าง ๆ
12. เริมต้น
่
เริมต้น
่
ร ับความสูง และความยาวฐาน
ของสามเหลียม 100 รูป
่
บ ันทึกความสูงและความยาวฐาน
ลงในดิสก์
ร ับความสูง และ
ความยาวฐานทีละรูป
ผังงานระบบ
้ ่
คานวณพืนที= 0.5 * ฐาน * สูง
ดิสก์ท ี่
บ ันทึกแล้ว
พิมพ์พนทีสามเหลียม
ื้ ่
่
ทีละรูป
ผังงานโปรแกรม
้ ่
คานวณพืนทีของสามเหลียม
่
ไม่ใช่
ครบ 100 รูปแล้ว
่
ใชหรือไม่
พิมพ์รายงานของ
้ ่
พืนทีสามเหลียม
่
ใช่
จบ
จบ
13. เราสามารถเรี ยนรู้ และเข้ าใจผังงานได้ งาย เพราะผังงานไม่ขึ ้นอยูกบ
่
่ั
ภาษาคอมพิวเตอร์ ภาษาใดภาษาหนึง
่
ผังงานเป็ นการสื่อความหมายด้ วยภาพ ทาให้ งายและสะดวกต่อการ
่
พิจารณาลาดับขันตอนในการทางานดีกว่าการบรรยายเป็ นตัวอักษร
้
ช่วยให้ การค้ นหาความผิดพลาดของลาดับการทางานได้ รวดเร็ ว และสามารถ
แก้ ไขได้ งาย
่
การเขียนโปรแกรมโดยพิจารณาจากผังงาน สามารถทาได้ รวดเร็ วและง่ายขึ ้น
ในการบารุ งรักษาโปรแกรม หรื อมีการเปลี่ยนแปลงแก้ ไขโปรแกรมให้ มี
ประสิทธิภาพ ถ้ าดูจากผังงานจะช่วยให้ สามารถทบทวนการทางานใน
โปรแกรมได้ งายขึ ้น
่
15. การเขียนผังงานเป็ นการนาเอาภาพสัญลักษณ์ตาง ๆ มาเรี ยง
่
ต่อกัน เพื่อแสดงลาดับขันตอนการทางาน โดยมีเส้ นลูกศร
้
เชื่อมระหว่างภาพต่างๆ
สัญลักษณ์ในการเขียนผังงานที่นิยมใช้ กนนัน เป็ นสัญลักษณ์
ั ้
ของหน่วยงานที่ชื่อว่า American National
Standard Institute (ANSI) และ
International Standard
Organization (ISO) เป็ นผู้กาหนดและรวบรวม
ให้ เป็ นสัญลักษณ์มาตรฐานในการเขียนผังงาน
17. สัญลักษณ์
ความหมาย
ตัวอย่ างการใช้ คาอธิบาย
1. คานวณ A + B
การประมวลผล
C=A+B
และเก็บไว้ ใน C
(Process)
Sum = 0
การเปรียบเทียบ
หรือตัวสินใจ
(Compare /
Decision)
i <= 10
true
แสดง i
false
2.
กาหนดค่ า sum
เท่ ากับ 0
เปรียบเทียบถ้ า i มีค่า
น้ อยกว่ าหรือเท่ ากับ 10
- เป็ นจริง พิมพ์ ค่า i
เสร็จแล้ วไปทา
คาสั่งอื่น ๆ
- เป็ นเท็จ ไปทาคาสั่ง
อื่น ๆ
20. สัญลักษณ์
ความหมาย
ตัวอย่ างการใช้ คาอธิบาย
กาหนดให้ i มีค่าเท่ ากับ
การกาหนดค่ า
1 และเพิ่มค่ าทีละ 1
ต่ างๆ ไว้ ล่วงหน้ า
for i =1 to 100
จนมีค่าเป็ น 100 จึงออก
(Preparation)
sum = sum + i
จากการทางานซา
้
i
แสดงทิศทางและ
ลาดับของการ
ทางาน
(Flow line)
โดยแต่ ละรอบ บวกค่ า
sum ด้ วยค่ า i
25. สัญลักษณ์
ความหมาย
การทางานที่กาหนด
ไว้ แล้ ว เช่ น
โปรแกรมย่ อย
(Predefine Process)
การควบคุมการ
ทางานด้ วยมนุษย์
บางครั งเรี ยกการ
้
ทางานแบบ
ออฟไลน์
(Offline Processing)
ตัวอย่ างการใช้
findGrade
คาอธิบาย
เรี ยกโปรแกรม
ย่ อยชื่อ findGrade
ให้ ทางาน
35. จงเขียนโปรแกรมคานวณค่าไฟฟา โดยรับค่ามิเตอร์ จานวนการใช้ ไฟฟา
้
้
ของเดือนที่แล้ ว และค่ามิเตอร์ การใช้ ไฟฟาของเดือนปั จจุบน คานวณค่า
้
ั
ไฟฟา โดยคิดอัตรา 2.5 บาท /1 หน่วยมิเตอร์
้
1. สิงที่โจทย์ต้องการ
่
ค่าไฟฟา
้
2. รู ปแบบผลลัพธ์
ปอนเลขมิเตอร์ เดือนที่แล้ ว --> <รอรั บเลขมิเตอร์ เดือนที่แล้ ว>
้
ปอนเลขมิเตอร์ เดือนปั จจุบัน--> <รอรั บเลขมิเตอร์ เดือนปั จจุบัน>
้
----------------------------------------------------จานวนหน่ วยไฟฟาที่ใช้ : <แสดงจานวนหน่ วยไฟฟาที่ใช้ >
้
้
ค่ าไฟฟา : <แสดงค่ าไฟฟา>
้
้
36. 3.
ข้ อมูลนาเข้ า
◦
◦
4.
เลขมิเตอร์ เดือนที่แล้ ว
เลขมิเตอร์ เดือนปั จจุบน
ั
ตัวแปรที่ใช้ ในการประมวลผล
◦
◦
◦
◦
Last_meter
Curr_meter
Num_meter
Electric_fee
แทน
แทน
แทน
แทน
เลขมิเตอร์ เดือนที่แล้ ว
เลขมิเตอร์ เดือนปั จจุบน
ั
จานวนหน่วยมิเตอร์ ที่ใช้
ค่าไฟฟา
้
37. 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. จบการทางาน
39. เป็ นการเขียนโปรแกรมแบบมีการเปรี ยบเทียบเงื่อนไข และทางานตามคาสังอย่างใด
่
อย่างหนึงตามเงื่อนไขที่กาหนด ผลจากการเปรี ยบเทียบเงื่อนไข จะให้ ผลลัพธ์เป็ น
่
จริ งหรื อเท็จ ถ้ าผลเป็ นจริ ง ให้ ทางานตามคาสังด้ านที่เงื่อนไขเป็ นจริง ถ้ าเป็ นเท็จให้
่
ทาตามคาสังด้ านที่เงื่อนไขเป็ นเท็จ
่
แบบทางเลือกเดียว (IF - THEN)
แบบสองทางเลือก (IF – THEN - ELSE)
แบบหลายทางเลือก (IF – THEN – ELSE IF | CASE)
41. เริ่มต้ น
START
รับค่ าใส่ ตัวแปร age
read age
age > 60
true
“You are old”
STOP
false
เปรียบเทียบค่ า age มากกว่ า 60
ถ้ าเป็ นจริง พิมพ์ ข้อความ You are old
ถ้ าเป็ นเท็จ ไม่ ต้องทาอะไร
จบการทางาน
42. เริ่ม
รับค่ า รหัสผ่ านจากผู้ใช้ ถ้ า
รหัสผ่ านที่ปอนมีค่า GoodLuck
้
ให้ แสดงข้ อว่ า Welcome
Manager และข้ อความ Exit
Password System
รับค่ า ans
ans = “GoodLuck”
จริง
พิมพ์ Welcome
Manager
พิมพ์ Exit Password
System
จบ
เท็จ
43.
บริ ษัทแห่งหนึงต้ องการเพิ่มเงินเดือนให้ พนักงานที่มีเงินเดือนต่ากว่า 5000 อีกคนละ
่
10% และให้ พนักงานทุกคนได้ รับโบนัสคนละ 3 เท่าของเงินเดือน
ขันตอนการประมวลผล
้
1.รับค่าชื่อพนักงาน . เงินเดือน
2.เปรี ยบเทียบค่า เงินเดือน
- ถ้ าน้ อยกว่า 5000 ให้ เงินเดือน = เงินเดือน + (เงินเดือน * 10/100)
3.คานวณโบนัส = เงินเดือน * 3
4.แสดงผลลัพธ์
5.จบการทางาน
45.
ในการเปรี ยบเทียบเงื่อนไขแบบ IF – THEN นิยมให้ ทางานตามคาสังเมื่อ
่
เงื่อนไขมีคาเป็ นจริ ง ไม่นิยมให้ ทางามตามคาสังเป็ นเท็จ
่
่
เงื่อนไข
เท็จ
จริง
ประโยคงาน 1
เท็จ
เงื่อนไข
จริง
ประโยคงาน 2
งานลาดับถัดไป
ประโยคงาน 1
ประโยคงาน 2
งานลาดับถัดไป
48.
การทางานขึ ้นอยูกบเงื่อนไข ถ้ าเป็ นจริ งไปทางานด้ านหนึง ถ้ าเป็ นเท็จก็จะไปทางาน
่ ั
่
อีกอย่างหนึง
่
เท็จ
เงื่อนไข
ประโยคงาน1
จริง
ประโยคงาน2
งานลาดับถัดไป
49.
False
Female = Female + 1
Sex = 1
True
Male = Male +1
ถ้ า sex =1 เงื่อนไขเป็ นจริ ง
จะเพิ่มค่าตัวแปร Male ขึ ้นอีก
1
ถ้ า sex =1 เงื่อนไขเป็ นเท็จ
จะเพิ่มค่าตัวแปร Female
ขึ ้นอีก 1
50. เริ่มต้ น
START
รับค่ าใส่ ตัวแปร age
read age
false
age > 60
“You are young”
true
“You are old”
STOP
เปรีบเทียบค่ า age มากกว่ า 60
ถ้ าเป็ นจริง พิมพ์ ข้อความ You are old
ถ้ าเป็ นเท็จ พิมพ์ ข้อความ You are young
จบการทางาน
51. เริ่ม
พิมพ์ 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
จบการทางาน
52. บริ ษัทแห่งหนึงต้ องการเพิ่มเงินเดือนให้ พนักงานที่มีเงินเดือนต่ากว่า
่
5000 อีกคนละ 10% และพนักงานที่มีเงินเดือนตังแต่ 5000 เพิ่ม
้
5% ให้ พนักงานทุกคนได้ รับโบนัสคนละ 3 เท่าของเงินเดือน
ขันตอนการประมวลผล
้
1.รับค่าชื่อพนักงาน . เงินเดือน
2.เปรี ยบเทียบค่า เงินเดือน < 5000
-ถ้ าเป็ นจริ ง ให้ อตราเพิ่มเงินเดือน = 10/100
ั
-ถ้ าเป็ นเท็จให้ อตราเพิ่มเงินเดือน = 5/100
ั
3.คานวณเงินเดือน = เงินเดือน + (เงินเดือน * อัตราเพิ่มเงินเดือน)
4.โบนัส = เงินเดือน * 3
5.แสดงผลลัพธ์
6.จบการทางาน
55. 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’
57. Score = mid + final
score
80..100
Grade = ‘A’
70..79
Grade = ‘B’
60..69
Grade = ‘C’
50..59
Grade = ‘D’
0..49
Grade = ‘F’
58. แบบกาหนดรอบไว้ ลวงหน้ า(Controlled
่
Loop)
แบบตรวจสอบเงื่อนไขก่อน(Pre-Test
Condition)
แบบตรวจสอบเงื่อนไขทีหลัง(Post-Test
Condition)
60.
ค่า N จะเริ่ มต้ นที่ 1 และเพิ่มค่าทีละ 1 จนกระทัง มากกว่า 5 จึงหยุดการ
่
ทางานซ ้า และทาคาสังถัดจาก Next ในแต่ละรอบของงานที่ให้ ทาซ ้าคือ พิมพ์คา
่
่
ในตัวแปร N ทีละรอบ
For N =1 , 5
Print N
Next
62.
ตรวจสอบเงื่อนไขถ้ า N <= 5
◦ ให้ พิมพ์ ค่า N
◦ เพิ่มค่า N อีก 1 (N=N+1)
กลับไปตรวจสอบเงื่อนไขอีก จนกว่าเงื่อน
จะเป็ นเท็จ จึงหยุดทางานซ ้า แล้ วไป
ทางานคาสังอื่น
่
N=1
N <=5
True
Print N
N = N+1
False
63.
แบบให้ ทางานในคาสังทาซ ้าก่อน แล้ วค่อยตรวจสอบ
่
เงื่อนไข ถ้ าเงื่อนไขยังเป็ นเท็จให้ กลับไปทางานในคาสัง
่
ทาซ ้าอีก จนกระทังตรวจสอบแล้ วเงื่อนเป็ นจริ ง จึงหยุด
่
แล้ วไปทางานคาสังอื่น
่
่ั
้
คาสงงานซา 1
่ั
้
คาสงงานซา 2
False
เงือนไข
่
True
64. ◦ ให้ พิมพ์คาในตัวแปร N
่
◦ เพิ่มค่าให้ ตวแปร N อีก 1
ั
N=1
ตรวจสอบเงื่อนไข ถ้ า N > 5 เป็ น
จริ งให้ หยุดทางานซ ้า ถ้ าเป็ นเท็จให้
กลับไปทางานคาสังซ ้าอีกรอบ
่
Print N
N = N+1
False
N>5
True