Flowchart CAI

Download Report

Transcript Flowchart CAI

การวิเคราะห์ปญั หา
สัญลักษณ์ผงั งาน
ชนิดของผังงาน
WELC
OME
การวิ เ คราะห ์และก าหนดรายละเอี ย ดของ
ปัญ หา เป็ นสิ่ งที่ส าคัญ ที่สุ ด การให้ คอมพิว เตอร ์
แ ก้ ปั ญ ห า นั้ น จ ะ ต้ อ ง มี แ น ว ท า ง ก า ร แ ก้ ไ ข ที่
เ ห ม า ะ ส ม เ พื่ อ ใ ห้ ก า ร ท า ง า น เ ป็ น ไ ป อ ย่ า ง มี
ประสิ ทธิภาพ ผู้พัฒนาโปรแกรมต้องพิจาณาให้ได้
ว่า จะต้ องท าการเขีย นโปรแกรมเพื่อ แก้ ปั ญ หา
อะไร ถ้ าหากวิเ คราะห ์ปั ญ หาผิด พลาด เมื่อ ท า
ก า ร เ ขี ย น โ ป ร แ ก ร ม แ ล้ ว ไ ด้ ย่ อ ม ไ ด้ ผ ล ลั พ ธ ์ ที่
บความตองการของผู
ใช
ผิดพลาดหรือไมตรงกั
้
่
้ ้งาน
1.
วิเคราะ
ห์
ผลลัพธ ์
2. วิเคราะห ์
วิธก
ี าร
ประมวลผล
3.
วิเคราะห ์
ขอมู
้ ล
นาเขา้
1. วิเคราะห์
ผลลัพธ์
การวิเคราะหถึ
์ งผลลัพธ ์ หรือรูปแบบของผลลัพ ธที
์ ่
เราต้ องการให้คอมพิว เตอร แสดงออกมา
เป็ นหน้ าทีข
่ อง
์
ผู้เขียนโปรแกรมทีจ
่ ะต้องกาหนดรูปแบบวางานที
ต
่ ้องการ
่
ให้คอมพิว เตอร ท
์ านั้น ควรจะมีรายละเอียดอะไร เพื่อ
ความสะดวกของผู้นาผลลัพธไปใช
พธ ์
้ การวิเคราะหผลลั
์
์
เป็ นสิ่ งทีจ
่ าเป็ นและมีความสาคัญ และต้องพิจารณาอยาง
่
ละเอีย ด เพราะการวิเ คราะห รายงานจะท
าให้ เราทราบ
์
จุดหมายทีต
่ ้องการ หรือเป็ นการกาหนดขอบเขตของงาน
ทีเ่ ราตองการท
านั่นเอง
้
2. วิเคราะห์วิธีการ
ประมวลผล
เป็ นขั้น ตอนของวิธ ีก ารประมวลผล หรือ การค านวณ
เ พื่ อ ใ ห้ ไ ด้ ผ ล ลั พ ธ ์ ต า ม ที่ ต้ อ ง ก า ร ตั้ ง แ ต่ ก า ร สั่ ง ใ ห้
เครือ
่ งรับข้อมูลเข้าไปทาการประมวลผลและแสดงผลลัพธ ์
ออกมา ซึ่ ง เป็ นขั้น ตอนที่ จ ะต้ องการท างานทุ ก อย่ าง
ตามลาดับ จึงจาเป็ นจะต้องจัดลาดับการทางานตามลาดับ
กอนหลั
งให้ละเอียดและถูกตองทุ
กขัน
้ ตอน
่
้
3. วิเคราะห์ข้อมูล
นาเข้า
ผู้ พัฒ นาโปรแกรมจะต้ องวิ เ คราะห ์ ข้ อมู ล น าเข้ าจาก
ผลลัพ ธ ที
์ ่ไ ด้ จากโปรแกรม โดยค านึ ง ถึ ง ขั้น ตอนการ
ประมวลผล เพือ
่ วิเคราะหข
่ าเป็ นต้องใส่เข้า
้ ลนาเข้าทีจ
์ อมู
ไปเพือ
่ ให้ไดผลลั
พธที
่ องการ
้
้
์ ต
ตัวอย่าง การวิเคราะห์ปัญหา
โปรแกรม
แสดงการวิเคราะห์
ัญิ เานวณหา
หาและก
าหนดรายละเอี
ยดของการหา
(1) ปค
ว
คราะห์
ผ
ลลั
พ
ธ์
(2) วิเคราะห์วิธีการ
ค่าเฉลี่ยของจานวนเต็
ม
5 จ่ยของจ
านวน
คาเฉลี
ย
่
(X)
านวนทัง้
ค่
า
เฉลี
่
ประมวลผล
ห้า
2.1) รับคาจ
่ านวน
ทัง้ 5 จานวน
2.2) นาจานวนเต็มทัง้ 5 มา
บวกเขาด
น
้ วยกั
้
(3)
วิเาผลลั
คราะห์
2.3) น
พธขจาก
์ ้อมูลเข้า
ขอ
มาหารด
5
เลขจ
านวนเต็
ม 5วย
้ 2.2)
้ จานวน
ตัวอย่าง การวิเคราะห์ปัญหา
โปรแกรมหาพืน้ ที่
แสดงการวิเคราะห์ปสีัญ่เหาและก
าหนดรายละเอี
ยดของการหา
หลี
่
ย
มผื
น
ผ้
า
(1) วิเคราะห์ผลลัพธ์
พืน้ ที่สี่เหลี่ยมผืนผ้า
พื
น
้ ทีส
่วี่ ิเเหลี
ย
่ มผืวนิ ธผีก้าารประมวลผล
(2)
คราะห์
2.1) รับคาความกว
าง
่
้
2.2) รับคาความยาว
่
2.3) คานวณ ความกวาง
้ x ความ
ยาว = สี่ เหลีย
่ มผืนผ้า
(3) วิเคราะห์ข้อมูลเข้า
ความกวาง
, ความยาว
้
ตัวอย่าง การวิเคราะห์ปัญหา
โปรแกรมคานวณ
ผลการสอบ
ต้องการเขียนโปรแกรมค
านวณผลการสอบของนักเรียนว่า
สอบผ่านหรือไม่ โดยมีคะแนนสอบครัง้ ที่ 1 และครัง้ ที่ 2 หาก
ทาคะแนนสอบรวมได้ตงั ้ แต่ 50 คะแนนขึน้ ไปถือว่า ผ่าน หาก
คะแนนน้ อยกว่า ลองท
50 ถือว่าสอบไม่ผา่ น
ากอนนะ
่
ตัวอย่าง การวิเคราะห์ปัญหา
โปรแกรมคานวณ
ิ เคราะห์ผวิลลั
(1)
(2) วผลการสอบ
ธีกพารธ์
คะแนนทั
ง้ หมด
ประมวลผล
2.1) รับคาคะแนนครั
ง้ ที่ 1 ,
่
คะแนนครัง้ ที่ 2
2.2) นาคะแนนครัง้ ที่ 1 +
คะแนนครัง้ ที่ 2
(3)
วิเาคะแนนทั
คราะห์ข้อง้ มูหมดมา
ลเข้า
2.3) น
คะแนนครั
ที่ บ1 ,50
คะแนนครัง้
เปรียบเทียง้ บกั
ที่ 2
ความหมายของผังงาน
ผังงาน (Flowchart) หมายถึง แผนภาพ (Diagram) หรือ
สั ญลัก ษณ์ แสดงการอธิบ ายล าดับ ขั้น ตอนการท างาน การ
แก้ปัญหา หรือการพัฒนาโปรแกรมของคอมพิวเตอร ์ โดยใช้
สั ญลักษณต
ๆ และมีทศ
ิ ทางแสดงลาดับขัน
้ ตอนการทางาน
่
์ าง
ตัง้ แตขั
้ ตอนแรกจนถึงขัน
้ ตอนสุดท้าย วามี
้ ตอนการ
่ น
่ ลาดับขัน
ทางานอยางไรบ
าง
ซึง่ เป็ นสั ญลักษณที
่
้
์ เ่ ป็ นมาตรฐานเดียวกันทัว่
โลก
ประโยชน์ ของผังงาน
1. ช่วยอธิบายขัน
้ ตอนการทางานแตละขั
น
้ ให้เขาใจการท
างาน
่
้
ของโปรแกรมไดง้ ายและรวดเร็
ว
่
2. สามารถวิเคราะหความถู
กตองของโปรแกรมก
อนเขี
ยน
้
่
์
โปรแกรมจริง
3. สามารถตรวจสอบขัน
้ ตอนการทางานเพือ
่ หาขอผิ
้ ดพลาดที่
เกิดขึน
้ ไดสะดวก
้
4. ทาให้ทราบถึงโครงสรางของโปรแกรมทั
ง้ หมด
้
5. เป็ นสื่ อในการติดตอประสานงานระหว
างนั
กวิเคราะหระบบ
่
่
์
นักออกแบบ นักเขียนโปรแกรมและผู้ใช้ ให้สามารถเขาใจ
้
ขัน
้ ตอนการทางานทัง้ หมดได้
ประเภทของผังงาน
ผังงานระบบ
ผังงาน
โปรแกรม
ผังงานระบบ
ผังงานระบบ (System Flowchart) เป็ นการแสดงขัน
้ ตอน
การทางานของระบบทัง้ หมด ผังระบบมักจะมีลก
ั ษณะยอ
่ รวบ
รัด และแสดงเฉพาะตัวงานทีจ
่ ะตองท
าในระบบเทานั
้
่ ้น ไม่
มุงเน
างานนั
้นจะทาอยางไร
่ ้ นรายละเอียด ไมแสดงว
่
่
่
ความสาคัญของผังงานระบบอยูที
่ ารแสดงความสั มพันธ ์
่ ก
ระหวางงานต
าง
ๆ ในระบบวามี
่
่
่ ความสั มพันธกั
่
์ นอยางไร
ตัง้ แตเรื
่ งของวัสดุอุปกรณ์ บุคลากร และหน่วยงานทีเ่ กีย
่ วของ
่ อ
้
ผังงานระบบ
บัตรลงทะเบียน
ข้อมูลรำยวิชำ
ข้อมูลครู ผสอู้ อน
ชำระเงิน
บันทึกกำรลงทะเบียน
แผนผังระบบแสอดงขั้นตอนกำรลงทะเบียน
ผังงานโปรแกรม
ผังงานโปรแกรม (Program Flowchart) เป็ นภาพ
แผนผังทีแ
่ สดงลาดับขัน
้ ตอนในการทางานของโปรแกรม ซึง่ จะ
แยกย่อยมาจากผังงานระบบ คือในแต่ละขัน
้ ตอนจะแสดงการ
ทางานแตละค
าสั่ งโดยละเอียด ใส่วิธก
ี าร และจัดลาดับขัน
้ ตอน
่
ของโปรแกรม เริม
่ ต้นจากการรับข้อมูล ประมวลผล ไปจนถึง
การแสดงผลลัพธ ์
ผังงานโปรแกรม
start
ID, Name,
Salary ,Hour
Money = Hour*50
Tax = Salary*0.02
Net = Salary+Money - Tax
ID,Name,Salary,
Net
stop
Terminator
1.
สัญลักษณ์การเริ่มต้นและจบ
โปรแกรม
START
ตัวอย่าง STOP
Input / Ouput
2.
สัญลักษณ์ รบั ข้อมูลหรือแสดงผล
ตัวอย่าง INPUT PRICE
PRINT PRICE
Process
สัญลักษณ์กระบวนการ
3.
(PROCESS)
- การประมวลผลขอมู
้ ล
- การกาหนดคาตั
่ วแปร
Y
=
5+3
X
=
8
- การคานวณทางคณิตศาสตร ์
ตัวอย่าง
Decision
สัญลักษณ์การตัดสินใจ
4.
(IF)
ตัวอย่าง
N
Grade > 50
Y
Display
สัญลักษณ์แสดงผลทางจอภาพ
5.
(DISPLAY)
PRINT NAME
ตัวอย่าง
Document
สัญลักษณ์แสดงผลทาง
6.
เครื่องพิมพ์
ตัวอย่าง
PRINT
NAME
Arrow
7.
ทางานถัดไป
ตัวอย่าง
สัญลักษณ์ทิศทางขัน้ ตอนการ
INPUT PRICE
Pay=Price+Tax
Connector
8.
สัญลักษณ์ จดุ เชื่อม
(CONNECTOR)
N Grade > 50 Y
ตัPRINT
วอย่างFail
PRINT Excellent
Off-page Connector
9.
สัญลักษณ์จดุ เชื่อม
PRICE
(CONNECTOR)
Pay=Price+Tax
ตัวอย่าง
A
หน้าถัดไป
A
Pay
1. การ
2. การเขียน
เขียนผัง
งานแบบ
ลาดับ
ผังงานแบบ
มีเงื่อนไข
3. การเขียน
ผังงานแบบ
ทาซา้
การเขียนผังงานแบบลาดับ
ผังงานทีม
่ โี ครงสร้างควบคุมแบบลาดับ จะมีลก
ั ษณะการ
ท างานเป็ นล าดับ แบบเรี ย งกัน จากบนลงล ่ าง ไม่ มี ก าร
ยอนกลั
บ
้
งำน 1
งำน 2
การเขียนผังงานแบบลาดับ (ชีวิตประจาวัน)
เริม
่ ตน
้
ตืน
่ นอน
อาบน้า
แตงตั
่ ว
มา
โรงเรียน
จบ
การเขียนผังงานแบบลาดับ
ต้ องการค านวณเงิน ทอนของลู ก ค้ าร้ านค้ าพอใจ และท าการ
พิมพใบเสร็
จโดยแสดง จานวนเงินทีล
่ ูกค้าจาย
ราคาสิ นค้า และเงิน
่
์
ทอนทีล
่ ก
ู ค้าจะไดรั
้ บ
มาลองวิเคราะห ์
ปัญหากันเถอะ
การเขียนผังงานแบบลาดับ
วิเคราะห์ผลลัพธ์
เงินทอน
(2)
วิเคราะห์วิธีการประมวลผล
(1)
2.1) รับคาจ
่ ก
ู ค้าจาย
่ านวนเงินทีล
่
2.2) รับคาราคาสิ
นค้า
่
2.3) คานวณ จานวนเงินทีล
่ ก
ู ค้าจาย
–
่
ราคาสิ นค้า = เงินทอน
(3) วิเคราะห์
ข้อมูลนาเข้า
จานวนเงินทีล
่ ก
ู ค้าจาย
, ราคาสิ นค้า
่
การเขียนผังงานแบบลาดับ
เริม
่ ตน
้
จานวนเงินทีล
่ ก
ู ค้า
จาย
, ราคา
่
สิ นค้า
เงินทอน = จานวนเงินทีล
่ ก
ู ค้าจาย
่
- ราคาสิ นค้า
จานวนเงินทีล
่ ก
ู ค้าจาย,
่
ราคาสิ นค้า , เงินทอน
จบ
การเขียนผังงานแบบมีเงื่อนไข
1. แบบทางเลือกเดียว
(IF)
เงือ
่ นไข
ใช่
งานทีต
่ องท
า
้
ไมใช
่ ่
งานตอไป
่
ถ้ าตรวจสอบเงื่อ นไขแล้ วเป็ นจริง จึ ง จะท าตามงานที่ ส่ ั ง แต่ ถ้ าการ
ตรวจสอบเป็ นเท็จก็ให้ขามไปท
าคาสั่ งถัดไป
้
การเขียนผังงานแบบมีเงื่อนไข (ชีวิตประจาวัน)
1. แบบทางเลือก
เดียว
เริม
่
ตน
้
ตืน
่
นอน
อาบน้า
แตงตั
่ ว
หิว
ใชกิ่ นขาว
้
ขาว?
้
ไม่
ใชมา
่
โรงเรียน
จบ
การเขียนผังงานแบบมีเงื่อนไข (ทางเลือกเดียว)
ตองการค
านวณเงินทีล
่ ก
ู ค้าตองช
าระ โดยทางร้านมี
้
้
ส่วนลดหากซือ
้ เกิน 1,000 บาท จะไดรั
้ บส่วนลด
10%
มาลองวิเคราะห ์
ปัญหากันเถอะ
การเขียนผังงานแบบมีเงื่อนไข (ทางเลือกเดียว)
วิเคราะห์ผลลัพธ์
เงินทีต
่ องชาระ
(2) วิเ้ คราะห์วิธีการประมวลผล
(1)
2.1) รับคายอดซื
อ
้ สิ นค้า
่
2.2) ตรวจสอบยอดซือ
้ สิ นค้าเกิน
1,000 หรือไม่
2.3) คานวณ ส่วนลด = ยอดซือ
้
สิ นค้า * 10%
(3) วิเคราะห์ข้อมูลนาเข้า
ยอดซือ
้ สิ นค้า
การเขียนผังงานแบบมีเงื่อนไข (ทางเลือกเดียว)
เริม
่ ตน
้
ยอดซือ
้
ส่วนลด = 0
ยอดซือ
้ >1000ใช่
ไมใช
= ยอดซือ
้ * 10/100
่ ส่วนลด
่
เงินทีต
่ องช
าระ
้
= ยอดซือ
้ - ส่วนลด
เงินทีต
่ องช
าระ
้
จบ
การเขียนผังงานแบบมีเงื่อนไข
2. แบบหลายทางเลือก
(IF
else)
ไมใช
่
งาน
่ เงือ
่ นไข
2
ใช่
งาน 1
ถ้ าตรวจสอบเงื่ อ นไขแล้ วเป็ นจริง จึ ง จะท าตามงานที่ 1 แต่ ถ้ าการ
ตรวจสอบเป็ นเท็จก็จะไปทางานที่ 2 แทน
การเขียนผังงานแบบมีเงื่อนไข (ชีวิตประจาวัน)
2. แบบหลายทางเลือก
เริม
่ ต้
น
ตืน
่ นอน
อาบน้า
แตงตั
่ ว
กินนม ไมใ่
ช่
หิว
ขาว?
้
มา
โรงเรียน
จบ
ใช่กินขาว
้
การเขียนผังงานแบบมีเงื่อนไข (ชีวิตประจาวัน)
2. แบบหลายทางเลือก
(IF else)
เริม
่ ต้
น
ตืน
่ นอน
อาบน้า
แตงตั
่ ว
กินนม ไมใ่
ช่
หิว
ขาว?
้
มา
โรงเรียน
จบ
ใช่กินขาว
้
การเขียนผังงานแบบมีเงื่อนไข (หลายทางเลือก)
ตองการโปรแกรมแสดงผลเอกสารก
ากับยา โดยมีเงือ
่ นไขดังตอไปนี
้
้
่
เด็กอายุตา่ กวา่ 1 ปี ห้าม
รับประทาน
อายุ
2-5
ปี
รับประทานครัง้ ละ 1
ช้อนชา
อายุ
6-10
ปี
รับประทานครัง้ ละ 2 ช้อน
ชา
อายุมากกวา่ 10 ปี
รับประทานครัง้ ละ 3 ช้อนชา
การเขียนผังงานแบบมีเงื่อนไข (หลายทางเลือก)
เริม
่ ตน
้
อายุ
อายุ < 2 ใ ห้ามรับประทาน
ช่
ไม่
ใรับประทานครัง้ ละ
อายุ
<=
5
ใช่
ช่ 1 ช้อนชา
ไม่
อายุ
ใช่ <= 10ใรับประทานครัง้ ละ
ช่ 2 ชอนชา
ไม่
้
รัใช
บประทาน
ครัง้ ละ ่ 3 ช้อนชา
จบ
การเขียนผังงานแบบทาซา้
เงือ
่ นไข
ไมใช
่ ่
ใช่
งานตอไป
่
ผั ง งานที่ ม ี โ ครงสร้ างควบคุ ม แบบท าซ้ า จะท าการ
เปรีย บเทีย บเงื่อ นไขของการท าซ้า ถ้ าเงื่อ นไขเป็ นจริง ให้
ทางานตอไป
แตหากเงื
อ
่ นไขเป็ นเท็ จให้กลับไปทางานเดิม
่
่
กอน
่
การเขียนผังงานแบบทาซา้ (ชีวิตประจาวัน)
เริม
่ ตน
้
กลับ
บาน
้ าน
การบ
้
ทา0
=
การบา้
การบนาน
=
้
การบาน
+1
้
การบาน
ไมใช
้
่ ่
=5
ใช่
กินขาว
้
จบ
การเขียนผังงานแบบทาซา้
เขียนผังงานแสดงการคิดคาล
่ วงเวลาให
่
้พนักงาน 100 คน ซึง่ ให้คาท
่ างาน
ลวงเวลาชั
ว
่ โมงละ 250 บาท
่
มาลองวิเคราะห ์
ปัญหากันเถอะ
การเขียนผังงานแบบทาซา้
วิเคราะห์ผลลัพธ์
ค(2)
าล
กิ ธ
งาน
ีการประมวลผล
่ วงเวลาพนั
่ วิเคราะห์ว
(1)
2.1) รับจานวนชัว
่ โมงและชือ
่
พนักงานแตละคน
่
2.2) คาล
างาน = จานวน
่ วงเวลาท
่
ชัว
่ โมง x 250
2.3) ตรวจสอบวาพนั
กงานถึง 100
่
คนหรือไม่
การเขียนผังงานแบบทาซา้
เริม
่ ตน
้
1
ตัวนับ = 0
ชือ
่ , คาล
่ วงเวลา
่
ชือ
่ , ชัว
่ โมงลวงเวลา
่
ตัวนับ = ตัวนับ + 1
2
ไมใช
่ ่
คาล
วงเวลา
=
ชั
ว
่
โมงล
วงเวลา*250
ตั
ว
นั
บ
=
100
2
่ ่
่
ใ
จบ ช่
1
ต้องการออกหรือไม่
NO
YES
?