Professional Documents
Culture Documents
455563941 บทที 1ProgramFlowchart ppsx
455563941 บทที 1ProgramFlowchart ppsx
ผังงานโปรแกรม
(Program Flowchart)
2
1.1 ขั้นตอนพัฒนาโปรแกรม Problem
กำหนดปั ญหา
การพัฒนาโปรแกรม 5 ขัน้ ตอน
1. กำหนดปั ญหา Analysis
วิเคราะห์ ปัญหา
2. วิเคราะห์ ปัญหา
3. เขียนผังงาน Flowchart
4. เขียนโปรแกรม เขียนผังงาน
5. ทดสอบโปรแกรม
Input
Input Program Output
Output
ข้ อมูล เขียนโปรแกรม ผลลัพธ์
ปั ญหาคืออะไร? คำ Testing
ทดสอบโปรแกรม
ตอบ ที่ต้องการคือ
อะไร 3
1.2
วิ เ คราะห์ ป
ั ญหา
วิเคราะห์ ปัญหา (Problem Analysis): 3 ขันตอน
้
◦ การรับข้ อมูล (Input Data)
◦ การคำนวณ (Process)
◦ การแสดงผลลัพธ์ (Output Result)
4
ตัวอย่าง 1.1
การวิเคราะห์ ปัญหาการคำนวณผลบวก ที่คล้ ายการ
ทำงานของเครื่องคิดเลขอย่ างง่ าย
ตัวแปร X, Y สำหรั บเก็บค่ าของเลข 2 ค่ า
ตัวแปร Sum สำหรั บเก็บผลลัพธ์
การวิเคราะห์ ปัญหา Memory
X
1. Input: รับค่า X, Y Y
Sum
2. Process: คำนวณ Sum = X + Y
3. Output: พิมพ์คา่ Sum …
5
ตัวอย่าง 1.2
การวิเคราะห์ปัญหา การคำนวณค่าเฉลี่ยของเลข
3ค่า และแสดงค่าเฉลี่ย ทางจอภาพ
ตัวแปร X1, X2, X3 สำหรับเก็บค่ าของเลข 3 ค่ า
ตัวแปร Sum สำหรับเก็บผลบวก
ตัวแปร Mean สำหรับเก็บค่ าเฉลี่ย
การวิเคราะห์ ปัญหา Memory
1. Input: รั บค่ า X1, X2, X3 X1
X2
2. Process: Sum = X1 + X2 + X3 X3
Sum
Mean = Sum/3 Mean
…
3. Output: พิมพ์ ค่า Mean
6
ตัวการวิ
อย่เคราะห์
าง 1.3ปัญหา การคำนวณค่ าเฉลี่ยของเลข N
ค่ า เมื่อ ค่ าเฉลี่ย = åiN Xi / N)
ตัวแปร N สำหรั บเก็บจำนวนค่ า
ตัวแปร X สำหรั บเก็บค่ าของเลข N ค่ า (เป็ นข้ อมูลเข้ าในแต่ ละรอบ)
ตัวแปร Sum สำหรั บเก็บผลบวก (แบบสะสมในแต่ ละรอบ)
ตัวแปร Mean สำหรั บเก็บค่ าเฉลี่ย
การวิเคราะห์ ปัญหา
Memory
1. Input: รับค่ า N (1 ค่ า) และค่ า X (N ค่ า) โดยรับรอบละค่ า N
2. Process: ในแต่ ละรอบ (i=1, 2, … , N) X
รับค่ า X Sum
คำนวณ Sum = Sum + X Mean
จบการทำงานซ้ำ (เมื่อทำซ้ำครบ N รอบ)
คำนวณ Mean = Sum/N …
3. Output: พิมพ์ ค่า Mean
7
1.3 การเขี ย นผั ง งาน
ผังงาน (Flowchart) เป็ นแผนภาพ ที่ใช้ อธิบายขันตอนและลำดั
้ บการ
ทำงานของโปรแกรมตังแต่
้ เริ่ มจนจบ
สัญลักษณ์พื ้นฐาน ทีใช้ ในผังงาน
แสดงจุดเริ่มต้ น หรือจุดจบของผังงาน
แสดงทิศทางของการดำเนินงาน
แสดงการคำนวณ
แสดงการรั บข้ อมูล หรือแสดงผล (ไม่ ระบุชนิดอุปกรณ์ )
การแสดงผลทางจอภาพ
การแสดงผลทางเครื่องพิมพ์
แสดงการทดสอบเงื่อนไข (เมื่อมีทางเลือก)
แสดงจุดเชื่อมต่ อในผังงาน 8
รูปแบบของผังงาน
ผังงานแบบลำดับ
ผังงานแบบเงื่อนไข
ผังงานแบบวนซ้ำ
9
1.3.1 ผังงานแบบลำดับ
Flowchart แบบลำดับ (Sequence)
start
แสดงขันตอนการทำงานที
้ ่ทำงานตามลำดับ
Input (จากบนลงล่าง) ไม่มีการข้ ามขัน้ หรื อย้ อน
Process กลับ)
Output
end
10
ตัวอย่าง 1.4
แสดง Flowchart ของการหาผลบวก (Sum) ของ
ข้ อมูล 2 ค่ า (X, Y) พร้ อมแสดงผลบวก
start
Memory
Input X,Y
X 50
Y 100
Print Sum …
end
11
1.3.2 ผังงานแบบเงื่อนไข
แสดงการทำงานตามเงื่อนไข
ที่จะต้ องเลือกทำอย่ างใดอย่ างหนึ่ง
ซึ่งมี 3 กรณี คือ เลือกจาก 1, 2, หรื อ n
1. เงื่อนไขทางเลือกจาก 1 เส้ นทาง
check
condition
yes
Statement(s) จะทำงาน (Statement)
no
เมื่อเงื่อนไขเป็ นจริง
เท่ านัน้
12
ตัวอย่าง 1.5
แสดง Flowchart เพื่อตรวจสอบเงื่อนไข Memory
เพื่อคัดเลือกที่สอบผ่ าน (คะแนน X ³ X
60 ) และแสดงผลเฉพาะผู้ท่ ส ี อบผ่ าน …
start
Input ID,X
X >= 60 yes
Print ID,X
no
end
13
ผังงาน-เงื่อนไข
2. เงื่อนไขทางเลือกจาก 2 เส้ นทาง
check
yes condition no
statement 1 statement 2
Input ID,
Name,Gender
Print “Female”
end
15
ผังงาน-เงื่อนไข
3. เงื่อนไขทางเลือกจาก n เส้ นทาง cond1
no
yes statement1
statement n
16
ตัแสดง
วอย่Flowchart
าง 1.7
start
Input ID
Name,X
เพื่อตัดเกรดตาม
คะแนน พร้ อมแสดงผลทางลัพธ์ X ³ 80
no
yes
Grade = ‘A’
Memory
X ³ 70 yes
Grade = ‘B’
ID
เงื่อนไข >>> Name
.…
..
no
Grade = ‘F’
คะแนน 50-59 เกรด D
คะแนน < 50 เกรด F Print Grade
end
17
1.3.3
การทำซ้ำ
ผังงานแบบวนซ้ำ
(Looping) แบ่ งเป็ น 3 กรณี
while, do-while, for
1. การทำซ้ำที่มีเงื่อนไขแบบ while
ตรวจสอบเงื่อนไขก่ อน
exit loopจะทำงาน (Statement) ซ้ำ
check
condition no
ค่ าเพิ่ม I=I+1
I = I+1
19
ตัแสดง
วอย่Flowchart
าง 1.8เพื่อคำนวณ ผลบวกของเลขนับ
1+2+...+100 (ด้ วยคำสั่ง while) Memory
ทำงาน (Statement) ก่ อน
statement(s)
จึงทำการตรวจเงื่อนไข
exit loopและทำซ้ำถ้ าเงื่อนไขเป็ นจริ ง
check
condition no
yes
(จนกระทั่งเงื่อนไขเป็ นเท็จจึง
ออกจากทำงานซ้ำ)
21
ตัแสดง
วอย่Flowchart
าง 1.9 เพื่อคำนวณ ผลบวกของเลขนับ
1+2+...+100 (ด้ วยคำสัง่ do-while) Memory
statement(s)
ไปยังรอบสุดท้ าย (i=N)
(แต่ละรอบปกติจะเพิ่มทีละ 1 ค่า
(i = i+1))
(ออกจากทำงานซ้ำเมื่อ i > N)
23
ตัวอย่าง 1.10
แสดง Flowchart เพื่อคำนวณ ผลบวก ของเลข
นับ1+2+...+100 (ด้ วยคำสัง่ for) Memory
3 ค่ าในการทำซ้ำ start
…
ค่ าเริ่มต้ น I=1 MUL = 1
ค่ าสุดท้ าย I=10
for I=1 to 10
ค่ าเพิ่ม I=I+1 yes
no
end
25
ตัวอย่าง 1.12
แสดง Flowchart เพื่อคำนวณ สูตรคูณแม่ T (เช่น T=2)
กำหนด i=1, 2, …, 12, และ R = T x i
start Txi=R
2x1=2
Memory Input T 2x2=4
2x3=6
T 2x4=8
i i > 12
for i=1 to 12 2 x 5 = 10
R i <=12 2 x 6 = 12
end 2 x 7 = 14
… R=Txi 2 x 8 = 16
2 x 9 = 18
2 x10 = 20
Print T, i, R 2 x11 = 22
2 x12 = 24
26
ตัแสดง
วอย่Flowchart
าง 1.13 เพื่อคำนวณค่าเฉลี่ยของข้ อมูล N ค่า
ข้ อมูลแต่ละค่าเก็บใน X รอบละค่า (X1, X2, ..., XN)
เมื่อ ค่าเฉลี่ย (åi Xi/N)
N
start
Sum = 0
Memory Sum
N =0
Input N N = _5
X x1 = 60
_ 60
Sum
for i=1 to N i>N x2 = 50
_ 110
Mean
i£N x3 = 25
_ 135
Mean = Sum/N
… Input X x4 = 30
_ 165
x5 = 80
_ 245
Print Mean
Sum=Sum+X Mean = 245/5 =49
end 27