5. ตัวอย่าง 1.1
• การวิเคราะห์ปัญหาการคำนวณผล
บวก ที่คล้ายการทำงานของเครื่องคิด
เลขอย่างง่าย
ตัวแปร X, Y สำหรับเก็บค่าของเลข 2
ค่า
ตัวแปร Sum สำหรับเก็บผลลัพธ์
5
…
Memory
X
Y
Sum
การวิเคราะห์ปัญหา
1. Input: รับค่า X,
Y
2. Process: คำนวณ
Sum = X + Y
6. ตัวอย่าง 1.2
•การวิเคราะห์ปัญหา การคำนวณค่าเฉลี่ย
ของเลข 3ค่า และแสดงค่าเฉลี่ย ทางจอภาพ
ตัวแปร X1, X2, X3 สำหรับเก็บค่าของเลข 3 ค่า
ตัวแปร Sum สำหรับเก็บผลบวก
ตัวแปร Mean สำหรับเก็บค่าเฉลี่ย
6
…
Memory
X1
X2
X3
Sum
Mean
การวิเคราะห์ปัญหา
1. Input: รับค่า
X1, X2, X3
2. Process: Sum = X1
+ X2 + X3
Mean =
Sum/3
7. ตัวอย่าง 1.3
• การวิเคราะห์ปัญหา การคำนวณค่าเฉลี่ยของเลข
N ค่า เมื่อ ค่าเฉลี่ย = åi
N
Xi / N)
ตัวแปร N สำหรับเก็บจำนวนค่า
ตัวแปร X สำหรับเก็บค่าของเลข N ค่า (เป็นข้อมูลเข้าในแต่ละ
รอบ)
ตัวแปร Sum สำหรับเก็บผลบวก (แบบสะสมในแต่ละรอบ)
ตัวแปร Mean สำหรับเก็บค่าเฉลี่ย
7
…
Memory
X
Sum
Mean
N
การวิเคราะห์ปัญหา
1. Input: รับค่า N (1 ค่า) และค่า X (N ค่า) โดยรับรอบ
ละค่า
2. Process: ในแต่ละรอบ (i=1, 2, … , N)
รับค่า X
คำนวณ Sum = Sum + X
จบการทำงานซ้ำ (เมื่อทำซ้ำครบ N
รอบ)
คำนวณ Mean = Sum/N
3. Output: พิมพ์ค่า Mean
17. ผังงาน-เงื่อนไข
3. เงื่อนไขทางเลือกจาก n
เส้นทาง
17
statement n
cond1 yes
statement1
no
cond2 statement2
yes
no
cond3 statement3
yes
no
condn-1 statement n-1
yes
no
เมื่อเงื่อนไข 1 เป็นจริงจะทำคำสั่ง 1
(statement1)
ถ้าไม่แต่เงื่อนไข 2 เป็นจริงจะทำคำสั่ง 2
(statement2). . .
ถ้าไม่แต่เงื่อนไข n-1 เป็นจริงจะทำคำสั่ง n-1
(statement n-1)
ถ้าไม่จะทำคำสั่งสุดท้าย คือ n
(statement n)
18. ตัวอย่าง 1.7
• แสดง Flowchart เพื่อตัดเกรดตาม
คะแนน พร้อมแสดงผลทางลัพธ์
18
เงื่อนไข
>>>
คะแนน 80-100
เกรด A คะแนน
70-79 เกรด B
คะแนน 60-69
เกรด C คะแนน 50-
59 เกรด D
คะแนน < 50
Grade = ‘F’
end
Input ID
Name,X
Print Grade
X > 80 yes
Grade = ‘A’
no
X > 70 yes
Grade = ‘B’
no
X > 60 yes
Grade = ‘C’
no
X > 50 yes
Grade = ‘D’
no
start
…
Memory
…
Grade
X
ID
Name
. . .
19. ตัวแปร ในการทำซ้ำ
• การทำซ้ำ (ขั้นพื้นฐาน) ที่นิยม คือ
กำหนดตัวแปรเก็บค่าเลขนับ (เช่น I = 1, 2, 3,
… , 100) เพื่อควบคุมรอบการทำซ้ำ
•กำหนดค่า I = 1, 2, 3, ..., 99,
100
19
yes
while I<=100
start
I = 1
no
Print I
end
I = I+1
1 10
0
1 1
ค่าเริ่ม
ต้น
ค่า
สุดท้าย
ค่า
เพิ่ม
I=1
I=1
00
I=I+
1
1
3 คำสั่งในการทำ
ซ้ำ
20. ตัวอย่าง 1.8
• แสดง Flowchart เพื่อคำนวณ ผล
บวกของเลขนับ 1+2+...+100 (ด้วย
คำสั่ง while)
• กำหนดค่า I = 1, 2, 3, ..., 100
20
SUM = SUM+I
start
end
…
Memory
I
SUM
ค่าเริ่ม
ต้น
ค่า
สุดท้าย
ค่า
เพิ่ม
I=1
I=1
00
I=I+
1
ค่า SUM
เริ่มต้น
ค่า SUM
เพิ่ม
SUM=
0
SUM+I
คำนวณ SUM =
1+2+3+...+100
3 คำสั่งในการทำ
ซ้ำ
yes
while I<100
I = I+1
no
Print SUM
I = 1
SUM = 0
24. ตัวอย่าง 1.10
• แสดง Flowchart เพื่อคำนวณ ผล
บวก ของเลขนับ1+2+...+100 (ด้วย
คำสั่ง for)
• กำหนดให้ I = 1, 2, 3, ..., 100
24
SUM = SUM+I
yes
for I=1 to 100
start
SUM = 0
no
Print SUM
end
…
Memory
I
SUM
ค่าเริ่ม
ต้น
ค่า
สุดท้าย
ค่า
เพิ่ม
I=1
I=1
00
I=I+
1
3 ค่าในการทำ
ซ้ำ
กำหนดใน for
เดียว
คำนวณ SUM =
1+2+3+...+100
25. ตัวอย่าง 1.11
• แสดง Flowchart เพื่อคำนวณ ผลคูณ
1x2x...x10
• กำหนดให้ I = 1, 2, 3, ..., 10
คำนวณ MUL = 1x2x3x...x10
25
MUL = MUL x I
yes
for I=1 to 10
start
MUL = 1
no
Print MUL
end
…
Memory
I
MUL
ค่าเริ่ม
ต้น
ค่า
สุดท้าย
ค่า
เพิ่ม
I=1
I=1
0
I=I+
1
3 ค่าในการทำ
ซ้ำ
กำหนดใน for
เดียว
26. ตัวอย่าง 1.12
• แสดง Flowchart เพื่อคำนวณ สูตร
คูณแม่ T (เช่น T=2)
• กำหนด i=1, 2, …, 12, และ R = T
x i
26
T x i = R
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18
2 x10 = 20
2 x11 = 22
2 x12 = 24
R = T x i
i <=12
for i=1 to 12
start
Print T, i, R
i > 12
end
…
Memory
T
i
R
Input T
27. ตัวอย่าง 1.13
• แสดง Flowchart เพื่อคำนวณค่า
เฉลี่ยของข้อมูล N ค่า
ข้อมูลแต่ละค่าเก็บใน X รอบละค่า (X1,
X2, ..., XN)
เมื่อ ค่าเฉลี่ย (åi
N
Xi/N)
27
start
Sum=Sum+X
Print Mean
end
Input X
i £ N
for i=1 to N
Input N
Mean = Sum/N
i > N
Sum = 0
…
Memory
X
Sum
Mean
N N = _
5
x1 = _
60
x2 = _
50
x3 = _
25
x4 = _
30
x5 = _
80
Mean = 245/5
Sum
= 0
60
110
135
165
245
=49