ตัวอย่างการเขียนผังงานจากโจทย์ปัญหา

Download Report

Transcript ตัวอย่างการเขียนผังงานจากโจทย์ปัญหา

ประโยชน์ ของผังงาน
1. ทำให้ มองเห็นรูปแบบของงำนได้ ทงหมด
ั้
โดยใช้ เวลำไม่มำก
2. กำรเขียนผังงำนเป็ นสำกลสำมำรถนำไปเขียนโปรแกรมได้ ทกุ
ภำษำ
3. สำมำรถตรวจสอบข้ อผิดพลำดของโปรแกรมได้ อย่ำงรวดเร็ว
4. หำกมีกำรพัฒนำระบบงำนในลำดับต่อไป สำมำรถทำได้ อย่ำง
รวดเร็ว โดยศึกษำจำกผังงำน จะสำมำรถศึกษำได้ อย่ำงรวดเร็ ว
และเข้ ำใจง่ำยกว่ำกำรศึกษำจำกโปรแกรม
1
หลักการเขียนผังงานที่ดี
1. มีทำงเข้ ำหรื อจุดเริ่มต้ น และทำงออกหรื อจุดสิ ้นสุดเพียงทำงเดียวเท่ำนัน้
2. ลำดับขันตอนกำรท
้
ำงำนควรจะเริ่มจำกบนลงล่ำง หรื อจำกซ้ ำยไปขวำ
3. ในสัญลักษณ์ใด ๆ มีทำงออกเพียงทำงเดียว ยกเว้ นสัญลักษณ์แสดงกำร
ตัดสินใจ หรื อ ทำงเลือก
สำมำรถมีทำงออกได้ อย่ำงน้ อยสองทำง
4. เส้ นทำงเดินในผังงำนควรชัดเจน เป็ นระเบียบ
2
หลักการเขียนผังงานที่ดี
5. ข้ อควำมหรื อคำสัง่ ใด ๆ ที่อยูใ่ นสัญลักษณ์ควรสัน้ กระชับ ได้ ใจควำม
และสำมำรถเข้ ำใจได้ ง่ำย
6. ใช้ สญ
ั ลักษณ์ที่มีขนำดเหมำะสมกับคำสัง่
7. กำรกำหนดทิศทำงกำรทำงำนด้ วยลูกศร ควรจะมีทิศทำงจำกบนลงล่ำง
หรื อ ซ้ ำยไปขวำเท่ำนัน้
8. ในกระบวนกำรทำงำนที่ต้องกำรเพิ่มคำอธิบำยเข้ ำไปเพื่อให้ เกิดควำม
เข้ ำใจ ก็สำมำรถทำได้ โดยกำรใช้ สญ
ั ลักษณ์หมำยเหตุประกอบ
3
ตัวอย่าง Flowchart
• ตัวอย่ าง การเขียนผังงานแสดงเงื่อนไขการรับประทานยา โดย
แบ่ งขนาดรับประทานตามอายุ ดังนี ้
• ◦ อำยุมำกกว่ำ 10 ปี รับประทำนครัง้ ละ 2 ช้ อนชำ
• ◦ อำยุ 3 - 10 ปี รับประทำนครัง้ ละ 1 ช้ อนชำ
• ◦ อำยุ 1 -3 ปี รับประทำนครัง้ ละ 1/2 ช้ อนชำ
• ◦ เด็กแรกเกิด ห้ ำมรับประทำน
4
5
• ตัวอย่ างการเขียน Flowchart หาพืน้ ที่วงกลม
6
ผังงานแสดงโปรแกรมการ
คานวณค่า a จากสูตร a = x + y
โดยรับค่า x และ y ทางแป้ นพิมพ์ และ
แสดงผลลัพธ์ a ออกทางจอภาพ
7
ผังงานแสดงโปรแกรมการประเมินผลการเรี ยน โดยรับคะแนน
นักศึกษาเข้ามาทางแป้ นพิมพ์ ถ้าคะแนนมากว่าหรื อเท่ากับ 50 ให้
แสดงคาว่า “Pass” ที่หน้าจอ แต่ถา้ น้อยกว่า
50 ให้แสดงคาว่า Fail
8
ผังงานแบบมีเงื่อนไข
• กำรเขียนผังงำนแบบมีทำงเลือกสำมำรถแบ่งออกเป็ นลักษณะกำรเขียน
ดังนี ้
◦ ผังงำนแบบมีทำงเลือกโดยใช้ คำสัง่ IF
◦ ผังงำนที่มีมำกกว่ำ 2 ทำงเลือกจำกกำรใช้ คำสัง่ CASE
9
ผังงานแบบมีเงื่อนไข
• ผังงานแบบมี 2 ทางเลือกจากการใช้ คาสั่ง IF
• IF แบบทางเลือกเดียว Single Selection
จะทำกำรตรวจสอบเงื่อนไข ถ้ ำเป็ นจริง จะไปทำคำสัง่ ทำงำน ถ้ ำเป็ นเท็จ
ก็จะออกจำกโครงสร้ ำงโดยมีรูปแบบกำรเขียนดังนี ้
10
ผังงานแบบมีเงื่อนไข
• IF แบบสองทางเลือก Double Selection
จะทำกำรตรวจสอบเงื่อนไข ถ้ ำเป็ นจริง จะไปทำคำสัง่ ทำงำน 1 แล้ วออก
จำกโครงสร้ ำง ถ้ ำเป็ นเท็จจะไปทำคำสัง่ ทำงำน 2 แล้ วออกจำกโครงสร้ ำง
ซึง่ มีรูปแบบกำรเขียนดังนี ้
11
ผังงานแบบมีเงื่อนไข
• IF แบบหลายทางเลือก Multi Selection
เป็ นกำรตรวจสอบแบบหลำยเงื่อนไข ทำให้ มีทำงออกได้ หลำยทำง ซึง่ เป็ น
กำรนำโครงสร้ ำงของ IF มำซ้ อนกันเพื่อให้ ได้ เงื่อนไขมำกขึ ้นตำมควำม
ต้ องกำร โดยมีรูปแบบกำรเขียนดังนี ้
12
ผังงานที่มีมากกว่ า 2 ทางเลือก CASE
เป็ นกำรตรวจสอบเงื่อนไขของตัวแปรตรวจสอบ ว่ำมีคำ่ ตรงกับค่ำใด ค่ำ
ดังกล่ำวจะเป็ นตัวบอกกิจกรรมที่ต้องทำ โดยมีรูปแบบกำรเขียนดังนี ้
13
ผังงานแบบวนซ้ า
• การเขียนผังงานแบบมีการทางานวนซา้ (Iteration Structure)
โปรแกรมส่วนใหญ่จะมีคำสัง่ สำหรับกำรทำงำนซ ้ำหรื อเรี ยกว่ำ ลูป (Loop) โดยกำร
ทำซ ้ำของโปรแกรมจะอยูภ่ ำยใต้ เงื่อนไข จริ ง หรื อ เท็จ ตำมที่ผ้ เู ขียนโปรแกรมได้ ออกแบบ
ไว้ รูปแบบของกำรวนซ ้ำมีดงั นี ้
• While
โครงสร้ ำงคำสัง่ จะทำกำรตรวจสอบเงื่อนไขก่อน ถ้ ำเงื่อนไขเป็ น จริง ก็จะทำกิจกรรมนัน้
ซ ้ำไปเรื่ อยๆ แต่เมื่อเงื่อนไขเป็ น เท็จ จะหยุดทำซ ้ำแล้ วออกจำกลูปไป มีรูปแบบกำรเขียน
ดังนี ้
14
ผังงานแบบวนซ้ า
15
ผังงานแบบวนซ้ า
• Do while
ทำกิจกรรมที่ต้องกำรก่อน แล้ วจึงตรวจสอบเงื่อนไข ถ้ ำเงื่อนไขเป็ น จริง ก็
จะทำกิจกรรมนันซ
้ ้ำไปเรื่ อยๆ แต่เมื่อเงื่อนไขเป็ น เท็จ จะหยุดทำซ ้ำแล้ ว
ออกจำกลูปไป มีรูปแบบกำรเขียนดังนี ้
16
ผังงานแบบวนซ้ า
17
ผังงานแบบวนซ้ า
• For
โครงสร้ ำงคำสัง่ จะทำกำรวนซ ้ำโดยรู้จำนวนแน่นอน โดยมีกำรกำหนดค่ำ
เริ่มต้ น ค่ำสิ ้นสุด ของตัวแปรนับรอบ มีรูปแบบกำรเขียนดังนี ้
18
ตัวอย่ างการเขียนผังงานจากโจทย์ ปัญหา
• จากโจทย์ ปัญหาวิเคราะห์ หาตัวแปรที่ใช้ ในอัลกอริทมึ นามา
เขียน Pseudo Code และเขียนผังงาน
ตัวอย่ าง 1 จงเขียน Flowchart รับข้ อมูลจำนวนมะม่วงที่ซื ้อ เพื่อ
คำนวณหำรำคำมะม่วงที่ต้องจ่ำย โดยมีเงื่อนไขว่ำ ถ้ ำซื ้อมะม่วงน้ อยกว่ำ
หรื อเท่ำกับ 5 กิโลกรัม คิดรำคำกิโลกรัมละ 35 บำท แต่ถ้ำซื ้อมะม่วง
มำกกว่ำ 5 กิโลกรัมขึ ้นไป คิดรำคำกิโลกรัมละ 30 บำท
– กาหนดตัวแปรที่ใช้
– นา้ หนักของมะม่ วงที่ซือ้ ใช้ ช่ ือตัวแปร weight
– ราคามะม่ วงที่ต้องจ่ าย ใช้ ช่ ือตัวแปร amount
19
ตัวอย่ างการเขียนผังงานจากโจทย์ ปัญหา
20
ตัวอย่ างการเขียนผังงานจากโจทย์ ปัญหา
ตัวอย่ าง จงเขียนผังงำนเพื่อรับตัวเลขจำนวน n ตัว ตำมจำนวนที่ผ้ ใู ช้
ต้ องกำร และหำผลรวมของตัวเลขทังหมดนั
้
นก
้ ำหนดตัวแปรที่ใช้ ในผังงำน
จานวนตัวเลข
ใช้ ช่ อื ตัวแปร n
ค่ าของตัวเลข
ใช้ ช่ อื ตัวแปร number
ผลรวม
ใช้ ช่ อื ตัวแปร result
ตัวนับจานวน “ครัง้ ที่ของการป้อนตัวเลข” ใช้ ช่ ือตัวแปร count
21
ตัวอย่ างการเขียนผังงานจากโจทย์ ปัญหา
22
ตัวอย่ างการเขียนผังงานจากโจทย์ ปัญหา
ตัวอย่ างที่ จงเขียนผังงำนเพื่อรับตัวเลขครัง้ ละ 1 จำนวน และให้
ตรวจสอบ ถ้ ำตัวเลขที่รับเข้ ำมำมีคำ่ มำกกว่ำ 50 ให้ แสดงตัวเลขนันบน
้
หน้ ำจอ จำกนันวนรั
้ บตัวเลขแล้ วทำซ ้ำจนครบ 5 จำนวน
กำหนดตัวแปรที่ใช้ ในผังงำน
ค่ าของตัวเลข ใช้ ช่ ือตัวแปร number
ตัวนับจานวน “ครัง้ ที่ของการป้อนตัวเลข” ใช้ ช่ ือตัวแปร count
23
ตัวอย่ างการเขียนผังงานจากโจทย์ ปัญหา
24
ตัวอย่างผังงาน
ตัวอย่ าง การวิเคราะห์ งานเพื่อเขียนโปรแกรมคานวณหาเงินโบนัสจากเงินเดือน
1. วัตถุประสงค์ ของงาน
คำนวณหำเงินโบนัสที่ได้ รับจำกเงินเดือน
2. ผลลัพธ์
แสดงผลข้ อมูล เงินโบนัสที่ได้ รับจำกเงินเดือน
3. ข้ อมูลนาเข้ า
เงินเดือน และจำนวนเดือนที่ได้ รับโบนัส
4. ตัวแปรที่ใช้
bonus หมายถึง เงินโบนัสที่ได้ รับจากเงินเดือน
month หมายถึง จานวนเดือนที่ได้ รับโบนัส
saralyหมายถึง เงินเดือน
5. ลาดับงาน
5.1 ป้อนข้ อมูลเงินเดือน, จำนวนเดือนที่ได้ รับเงินเดือน
5.2 คำนวณหำเงินโบนัสที่ได้ รับจำกเงินเดือน
bonus = saraly * month
5.3 แสดงพลลัพธ์
25
ตัวอย่างผังงาน
=
26
LAB 1
• ให้ นกั ศึกษำเขียน Flowchart โดยใช้ โปรแกรม Microsoft
Word วำดรูป Flowchart
• ส่ง Flowchart ที่วำดเสร็จแล้ วที่
Email : [email protected]
ใส่หวั ข้ ออีเมล์ “Lab 1 computer programming”
• อธิบำย Flowchart ให้ อ.ฟั งเป็ นรำยคน หลังจำกทำเสร็จ
27
Lab 1_1
• การเขียนผังงานอ่ านค่ าข้ อมูลเข้ ามาเก็บไว้ ในตัวแปร A และ B
แล้ วทาการเปรียบเทียบในตัวแปรทัง้ สอง โดยมีเงื่อนไขดังนี ้
-ถ้ า A มากกว่ า B ให้ คานวณหาค่ า A - B และเก็บผลลัพธ์ ไว้ ใน
ตัวแปรชื่อ RESULT
-ถ้ า A น้ อยกว่ าหรือเท่ ากับ B ให้ คานวณหาค่ า A + B และเก็บ
ผลลัพธ์ ไว้ ในตัวแปรชื่อ RESULT
28
Lab 1_2
• ออกแบบ Flowchart ให้ คอมพิวเตอร์ รับคะแนน
นักศึกษำ (X) แล้ วนำมำตัดเกรดตำมเงื่อนไขและ
แสดงผลทำงจอภำพ
เงื่อนไข
คะแนน 80-100 เกรด A
คะแนน 70-79 เกรด B
คะแนน 60-69 เกรด C
คะแนน 50-59 เกรด D
คะแนนต่ากว่ า 50 เกรด F