large_สัปดาห์ที่_2_Flowchart

Download Report

Transcript large_สัปดาห์ที่_2_Flowchart

ครูสธุ าสินนี ี ก้อนใจ
1
5
ขัน้ ตอนในการพัฒนาโปรแกรม
1. กำหนดและวิเครำะห์ปัญหำ (State problem & Problem analysis)
2. วิธีแก้ ไขและเขียนผังงำน (Flowchart)
3. เขียนโปรแกรม (Programming)
4. ทดสอบและแก้ ไขโปรแกรม (Testing & debugging)
5. ทำเอกสำรและบำรุงรักษำโปรแกรม (Document & maintenance)
2
กาหนดขอบเขตของปั ญหา (State problem)
ให้ ชดั เจนว่ำ จะให้ คอมพิวเตอร์ ทำอะไร (What?)
วิเคราะห์ ปัญหา (Problem analysis)
• Input: กำหนดลักษณะข้ อมูลเข้ ำ
• Process: กำหนดวิธีกำรประมวลผล (How?)
• Output: กำหนดลักษณะข้ อมูลออก
3
ออกแบบโปรแกรมให้ คอมพิวเตอร์ ทำงำนเป็ น
เครื่ องคิดเลขอย่ำงง่ำย โดยรับข้ อมูล 2 ค่ำ (X, Y)
และแสดงผลบวกทำงจอภำพ
Problem: คำนวณผลบวกของ 2 ค่ำ
Problem Analysis
1. Input: รับข้ อมูล (X, Y) จำกคีย์บอร์ ด
2. Process: คำนวณ sum = X + Y
3. Output: แสดงผลบวก (sum) ทำงจอภำพ
4
ออกแบบโปรแกรมให้ คอมพิวเตอร์ รับข้ อมูล 3 ค่ำ
คำนวณค่ำเฉลี่ย และแสดงค่ำเฉลี่ย ทำงจอภำพ
Problem: คำนวณค่ำเฉลี่ยของ 3 ค่ำ ((X1+X2+X3)/3)
Problem Analysis
1. Input: รับข้ อมูล (X1, X2, X3) จำกคีย์บอร์ ด
2. Process: คำนวณ sum = X1 + X2 + X3
mean = sum/3
3. Output: แสดงค่ำเฉลี่ย (mean) ทำงจอภำพ
5
(Flowchart) เป็ นแผนภาพที่ใช้ อธิบำย
กำรทำงำนของโปรแกรมเป็ นขันตอน
้
ประโยชน์ ของ Flowchart
1. อธิบำยลำดับขันตอนกำรท
้
ำงำนของโปรแกรม
2. ทำให้ ตรวจสอบข้ อผิดพลำดของโปรแกรมได้ งำ่ ย
3. ทำให้ ผ้ อู ื่นสำมำรถศึกษำกำรทำงำนและแก้ ไข
โปรแกรมได้ งำ่ ย
ผังงาน
6
การวางแผนการไปโรงเรียน
เริ่มต้น
ตื่นนอน
อาบน้า
ไปโรงเรียน
จบ
การหาผลบวกของเลขจานวนเต็ม 2 ตัวแล้ว
แสดงผลลัพธ์ ออกทางจอภาพ
เริ่มต้ น
รับค่ าจานวนเต็มเก็บไว้ ใน x
รับค่ าจานวนเต็มเก็บไว้ ใน y
c ←x+y
แสดงค่ า C
จบ
7
 สัญลักษณ์ที่ใช้ เขียนผังงำนเป็ นสัญลักษณ์มำตรฐำนสำกล กำหนด
ขึ ้นโดย ANSI (The American National Standard Institute)
ภาพสัญลักษณ์
Processing
ความหมาย
ตัวอย่ าง
กระบวนกำร
กำรคำนวณ
-
ความหมาย
1.คำนวณค่ำ B+C แล้ว
เก็บผลลัพธ์ไว้ที่ A
2. กำหนดค่ำ
Num = 5
-
กระบวนกำร
Auxiliary Processing สำรอง
8
ภาพสัญลักษณ์
ความหมาย
ทำงำนโปรแกรม
ย่อย
ตัวอย่ าง
ความหมาย
เรี ยกโปรแกรมย่อยชื่อ
sub1
Subroutine Processing
Input/output Data
ข้ อมูล รับหรื อ
แสดงข้ อมูลโดยไม่
ระบุชนิดอุปกรณ์
1. รับค่ำ a โดยไม่ระบุ
อุปกรณ์
2. แสดงค่ำ a โดยไม่ระบุ
อุปกรณ์
-
-
ที่เก็บภำยใน
Internal Storage
กำรตัดสินใจ กำร
เปรี ยบเทียบ
เปรี ยบเทียบ X > 5
หรื อไม่
Decision
9
ภาพสัญลักษณ์
Preparation Symbol
ความหมาย
กำรเตรี ยมกำร กำร
กำหนดค่ำล่วงหน้ ำหรื อ
กำหนดค่ำเป็ นชุดตัวเลข
Manual Input
ป้อนข้ อมูลด้ วยตนเอง
กำรรับข้ อมูลเข้ ำทำง
แป้นพิมพ์
Manual Control
ขันตอนที
้
่ทำด้ วยตนเอง
กำรควบคุมโปรแกรมทำง
แป้นพิมพ์
เอกสำรแสดงผล, กำร
แสดงผลทำงเครื่ องพิมพ์
Document Output
ตัวอย่ าง
ความหมาย
กำหนดให้ i=1
แล้วเพิ่มขึ้นทีละ 1
จนถึง 10
ป้ อนค่ำ a ทำง
คียบ์ อร์ด
-
-
พิมพ์ค่ำ a ทำง
กระดำษ
10
ภาพสัญลักษณ์
More Document
ความหมาย
เอกสำแสดงผล
หลำยฉบับ
ตัวอย่ าง
ความหมาย
Write a
พิมพ์ค่ำ a ทำง
กระดำษหลำยฉบับ
จอภำพแสดงผล
แสดงค่ำ a ทำง
จอภำพ
กำร์ ดหรื บตั รเจำะรู
ใช้ ใส่ข้อมูล
รับค่ำ a ทำงกำร์ ด
หรื อบัตรเจำะรู้
Monitor
Read a
Card
เทป (สื่อบันทึก
ข้ อมูล)
Tape
-
11
ภาพสัญลักษณ์
ความหมาย
ตัวอย่ าง
ความหมาย
เริ่มต้ น/สิ ้นสุด, กำร
เริ่มต้ นหรื อกำรลงท้ ำย
1. เริ่มผังงาน
2. จบผังงาน
จุดเชื่อมต่อในหน้ ำ
เดียวกัน
หลังกาหนด a=3 แล้วให้
ไปทางานต่อที่จดุ
ต่อเนือ่ ง 1 หน้าเดียวกัน
Start/End
Connection
ตัวเชื่อมต่อไปหน้ ำอื่น
Connection
หลังกาหนด b=5 แล้วให้
ไปทางานต่อที่จดุ
ต่อเนือ่ ง a ซึ่งอยู่คนละ
หน้ากัน
จุดร่วมกำรเชื่อมต่อ
12
ภาพสัญลักษณ์
ความหมาย
เส้นแสดงทิศ
ทำงกำร
ทำงำน
ตัวอย่ าง
ความหมาย
ประมวลผลแล้ว
ต่อด้วยกำร
แสดงผล
หมำยเหตุหรื อ
คำอธิบำย
13
 แทนกำรประมวลผลทัว่ ไป ยกเว้ นกำรอ่ำนข้ อมูลและกำร
แสดงผลลัพธ์
 แทนกำรนำข้ อมูลเข้ ำ (Input) และกำรนำผลลัพธ์ ออก
(Output) โดยทัง้ 2 กรณีนี ้ยังไม่ได้ ระบุชนิดเครื่ องมือหรื อ
อุปกรณ์ที่ใช้
 แทนกิจกรรมเปรี ยบเทียบข้ อมูลกับเงื่อนไข โดยมีเส้ นทำง
ออกเป็ นทำงเลือก
 แทนกิจกรรมเตรี ยมกำร หรื อกำหนดคุณลักษณะของกำร
ทำงำนวนซ ้ำชนิดที่ร้ ูจำนวนรอบแน่นอน
 แทนจุดเริ่ มต้ น และจุดสิ ้นสุดงำน ซึง่ อำจเป็ นทังโปรแกรม
้
ย่อย (Subroutine) หรื อโปรแกรมหลัก
14
อ่ำนข้ อมูล...
อ่ านข้ อมูลจากแป้นพิมพ์
อ่ำนข้ อมูล...
อ่ำนข้ อมูล...
อ่ านข้ อมูลจากอุปกรณ์ ใดๆ
สัญลักษณ์ แทนการอ่ านข้ อมูลที่ระบุและไม่ ระบุอุปกรณ์
15
แสดงผล...
แสดงผล...
แสดงผลทางจอภาพ
แสดงผล...
แสดงผลในรู ปเอกสาร
(เครื่ อง printer)
แสดงผล...
แสดงผลทางอุปกรณ์ ใดๆ
สัญลักษณ์ แทนการแสดงผลโดยระบุและไม่ ระบุอุปกรณ์
16
1. มีทำงเข้ำหรื อจุดเริ่ มต้น และทำงออกหรื อจุดสิ้ นสุ ดเพียงทำงเดียวเท่ำนั้น
2. ลำดับขั้นตอนกำรทำงำนควรจะเริ่ มจำกบนลงล่ำง หรื อจำกซ้ำยไปขวำ
3. ในสัญลักษณ์ใด ๆ มีทำงออกเพียงทำงเดียว ยกเว้นสัญลักษณ์แสดงกำรตัดสิ นใจ หรื อ
ทำงเลือกสำมำรถมีทำงออกได้อย่ำงน้อยสองทำง
4. เส้นทำงเดินในผังงำนควรชัดเจน เป็ นระเบียบ
5. ข้อควำมหรื อคำสัง่ ใด ๆ ที่อยูใ่ นสัญลักษณ์ควรสั้น กระชับ ได้ใจควำม และสำมำรถ
เข้ำใจได้ง่ำย
6. ใช้สัญลักษณ์ที่มีขนำดเหมำะสมกับคำสั่ง
7. กำรกำหนดทิศทำงกำรทำงำนด้วยลูกศร ควรจะมีทิศทำงจำกบนลงล่ำง หรื อ ขวำไป
ซ้ำยเท่ำนั้น
8. ในกระบวนกำรทำงำนที่ตอ้ งกำรเพิ่มคำอธิ บำยเข้ำไปเพื่อให้เกิดควำมเข้ำใจ ก็สำมำรถ
ทำได้โดยกำรใช้สัญลักษณ์หมำยเหตุประกอบ
17

ไม้ บรรทัดสาหรับเขียนผังงาน (Flowcharting
Template)

โปแกรมช่ วยวาดอย่ างโปรแกรม VISIO
18
19
20
แบบลาดับ (Sequence)
แบบมีทางเลือก (Selection)
• กำรเลือกทำแบบ 1 เส้ นทำง
• กำรเลือกทำแบบ 2 เส้ นทำง
• กำรเลือกทำแบบหลำยเส้ นทำง
แบบทาซา้ (Looping)
21
Flowchart
แบบลาดับ (Sequence)
start
Input
statement
แสดงขันตอนกำรท
้
ำงำนที่เรี ยงลำดับ
ไม่มีกำรข้ ำมขัน้ หรื อย้ อนกลับ
output
end
22
Start
เขียนใบสมัคร

ผังงานแสดงการสมัคร
เรียนโรงเรียนกาวิละวิทยาลัย
จ่ายเงินค่าธรรมเนียม
ทาบัตรนักเรียน
รับระเบียบการ
รายงานตัว
Stop
 แสดงกำรตรวจสอบเงื่อนไขให้ โปรแกรมเลือกทำอย่ำงใดอย่ำงหนึง่ ซึง่ มี 3
 1. การเลือกแบบ 1 เส้ นทาง
check
condition
yes
statement(s)
no
กรณี
จะทำงำนเฉพำะเมื่อเงื่อนไข
เป็ นจริงเท่ำนัน้
24
Start
รอสัญญาณไฟ
N
ไฟแดงหรือไม่
Y
เดินข้ามถนน
Stop
25
ตัวอย่ าง: ออกแบบ Flowchart ให้ คอมพิวเตอร์ ทางาน
เป็ นเครื่องคิดเลขอย่ างง่ าย โดยรับข้ อมูล 2 ค่ า (X, Y)
และแสดงผลบวกทางเครื่องพิมพ์
start
Read X,Y
sum = X+Y
sum
end
26
2.
การเลือกแบบ 2 เส้ นทาง
yes
statement 1
check
condition
no
statement 2
เมื่อเงื่อนไขเป็ นจริงจะทำอย่ำงหนึง่
เมื่อเงื่อนไขเป็ นเท็จจะทำอีกอย่ำงหนึง่
27
Start
โยนเหรียยญญ
โยนเหรี
ก้อย
หัว
ผลการโยน
เสียเงิน
10 บาท
ได้เงิน
10 บาท
3.
การเลือกแบบหลายเส้ นทาง (n)
check
condition
1
2
3
statement1
statement2
statement3
n
...
statement n
เมื่อเงื่อนไขเท่ำกับทำงเลือกใดจะทำตำมทำงนัน้
29
ตัวอย่ างที่
6: ออกแบบ Flowchart ให้ คอมพิวเตอร์
รับคะแนนนักศึกษำ (X) แล้ วนำมำจัดกลุม่ ตำมเงื่อนไข
และแสดงผลทำงเครื่ องพิมพ์
เงื่อนไข
คะแนน 80-100 กลุม่ G
คะแนน 50-79 กลุม่ P
คะแนนต่ำกว่ำ 50 กลุม่ F
start
Read X
X > 79
X > 49
yes
yes
grade = ‘G’
grade = ‘P’
grade = ‘F’
grade
end
30
แสดงกำรทำซ ้ำซึง่ มี 3 กรณี
1. การทาซา้ แบบเงื่อนไขเป็ นจริ ง
DO WHILE
ตรวจสอบเงื่อนไขก่อน
check
condition
yes
statement(s)
no
exit loop
จะทำงำนซ ้ำเมื่อเงื่อนไขเป็ นจริง
(ออกจำกทำงำนซ ้ำเมื่อเงื่อนไข
เป็ นเท็จ)
31

2. การทาซา้ แบบจนเงื่อนไขเป็ นจริง
DO UNTIL
statement(s)
check
condition
yes
exit loop
ทำงำนก่อนกำรตรวจเงื่อนไข
ทำงำนซ ้ำจนเงื่อนไขเป็ นจริง
(จึงออกจำกทำงำนซ ้ำ)
no
32
3.
การทาซา้ ตามจานวนที่ระบุ FOR
for i=1 to N
iN
statement(s)
i>N
exit loop
ทำงำนตำมรอบที่กำหนด
โดยเริ่ มจำกรอบเริ่มต้ น (i=1)
ไปยังรอบสุดท้ าย (i=N)
(ปกติการนับรอบจะเพิ่มที่
ละ 1 ค่ำ (i = i+1))
33
1.
2.
วิเครำะห์ปัญหำของโปรแกรมหำพื้นที่สี่เหลี่ยมคำงหมู พร้อม
ทั้งเขียนผังงำน
วิเครำะห์ปัญหำของโปรแกรมและเขียนผังงำนกำรใช้ยำตำม
ฉลำกที่ปิดข้ำงขวด มีดงั นี้
หญิงมีครรภ์และเด็กอำยุต่ำกว่ำ 6 ปี ห้ำมรับประทำน
อำยุ 6 ถึง 12 ปี รับประทำนครั้งละ 1 ช้อนช้ำ
อำยุมำกกว่ำ 12 ปี ถึง 20 ปี รับประทำนครั้งละ 2 ช้อนชำ
อำยุต้ งั แต่ 20 ปี ขึ้นไป รับประทำนครั้งละ 2ครึ่ ง ช้อนชำ
34