24. ตัวอย่างที่ 1.1
การวิเคราะห์ปัญหา การคานวณผลบวก ที่คล้ายการทางาน
ของเครื่องคิดเลขอย่างง่าย
ตัวแปร X , Y สาหรับเก็บค่าของเลข 2 ค่า
ตัวแปร Sum สาหรับเก็บผลลัพธ์
การวิเคราะห์ปัญหา
1) Input : รับค่า X , Y
2) Process : คานวณ Sum = X + Y
3) Output : พิมพ์ค่า Sum
…
Memory
X
Y
Sum
25. ตัวอย่างที่ 1.2
การวิเคราะห์ปัญหา การคานวณค่าเฉลี่ยของเลข 3 ค่า
ตัวแปร X1 , X2 , X3 สาหรับเก็บค่าของเลข 3 ค่า
ตัวแปร Sum สาหรับเก็บผลบวก
ตัวแปร Mean สาหรับเก็บค่าเฉลี่ย
การวิเคราะห์ปัญหา
1) Input : รับค่า X1 , X2 , X3
2) Process : คานวณ Sum = X1 + X2 + X3
Mean = Sum/3
3) Output : พิมพ์ค่า Mean
…
Memory
X
1X
2X
3Sum
Mea
n
26. ตัวอย่างที่ 1.3
การวิเคราะห์ปัญหา การคานวณค่าเฉลี่ยของเลข N ค่า
ตัวแปร N สาหรับเก็บจานวนค่า
ตัวแปร i สาหรับเก็บค่าของการกาหนดจานวนรอบ(โปรแกรมวนซ้า)
ตัวแปร X สาหรับเก็บค่าของเลข N ค่า (เป็นข้อมูลเข้าในแต่ละรอบ)
ตัวแปร Sum สาหรับเก็บผลบวก (แบบสะสมในแต่ละรอบ)
ตัวแปร Mean สาหรับเก็บค่าเฉลี่ย
การวิเคราะห์ปัญหา
1) Input : รับค่า N (1ครั้ง) และรับค่า X (N ครั้ง) โดยรับรอบละค่า
2) Process : ในแต่ละรอบ (i= 1 , 2 , …. , N)
- รับค่า X
- คานวณ Sum = Sum + X
จบการทางานซ้า (เมื่อครบ N รอบ)
คานวณ Mean = Sum/N
3) Output : พิมพ์ค่า Mean …
Memory
X
Sum
Mea
n
N
36. 2.3 เงื่อนไขทางเลือกจาก n เส้นทาง
เมื่อเงื่อนไข 1 เป็นจริงจะทาคาสั่ง 1 (statement1)
ถ้าไม่แต่เงื่อนไข 2 เป็นจริงจะทาคาสั่ง 2 (statement2)
. . .
ถ้าไม่แต่เงื่อนไข n-1 เป็นจริงจะทาคาสั่ง n-1 (statement n-1)
statement n
cond1 yes statement1
no
cond2 statement2yes
no
cond3 statement3yes
no
condn-1 statement n-1
yes
no
ถ้าไม่จะทาคาสั่งสุดท้าย คือ n (statement n)
ถ้าไม่แต่เงื่อนไข 3 เป็นจริงจะทาคาสั่ง 3 (statement3)
37. ตัวอย่าง 1.7
แสดง Flowchart เพื่อตัดเกรดตามคะแนน
พร้อมแสดงผลทางลัพธ์
เงื่อนไข >>>
คะแนน 80-100 เกรด A
คะแนน 70-79 เกรด B
คะแนน 60-69 เกรด C
คะแนน 50-59 เกรด D
คะแนน < 50 เกรด F
37
Grade = ‘F’
end
Input ID
Name,X
Print Grade
X >= 80 yesGrade = ‘A’
no
X >= 70 yesGrade = ‘B’
no
X >= 60 yesGrade = ‘C’
no
X >= 50 yesGrade = ‘D’
no
start
39. 3.1 การทาซ้าที่มีเงื่อนไขแบบ While
no
exit loop
statement(s)
check
condition
yes
ตรวจสอบเงื่อนไขก่อน
จะทางาน (Statement) ซ้าเมื่อเงื่อนไขเป็นจริง
(ออกจากทาซ้าเมื่อเงื่อนไขเป็นเท็จ)
40. 3.1 การทาซ้าที่มีเงื่อนไขแบบ While
การทาซ้า (ขั้นพื้นฐาน) ที่นิยม คือ กาหนดตัวแปรเก็บค่าเลขนับ
(เช่น I = 1, 2, 3, … , 100) เพื่อควบคุมรอบการทาซ้า
กาหนดค่า I = 1, 2, 3, ..., 99, 100
ค่าเริ่มต้น
ค่าสุดท้าย
ค่าเพิ่ม
I=1
I=100
I=I+1
3 คาสั่งในการทาซ้า
yes
while I<=100
start
I = 1
no
Print I
end
I = I+1
41. ตัวอย่าง 1.8
แสดง Flowchart เพื่อคานวณ ผลบวกของเลขนับ
1+2+...+100 (ด้วยคาสั่ง while)
กาหนดค่า I = 1, 2, 3, ..., 100
คานวณ SUM = 1+2+3+...+100
ค่าเริ่มต้น
ค่าสุดท้าย
ค่าเพิ่ม
I=1
I=100
I=I+1
ค่า SUM เริ่มต้น
ค่า SUM เพิ่ม
SUM=0
SUM+I
3 คาสั่งในการทาซ้า
SUM = SUM+I
I = I+1
start
end
yes
while I<=100
no
Print SUM
I = 1
SUM = 0
45. ตัวอย่าง 1.10
แสดง Flowchart เพื่อคานวณ ผลบวก ของเลขนับ1+2+...+100
(ด้วยคาสั่ง for)
กาหนดให้ I = 1, 2, 3, ..., 100
SUM = SUM+I
yes
for I=1 to 100
start
SUM = 0
no
Print SUM
end
ค่าเริ่มต้น
ค่าสุดท้าย
ค่าเพิ่ม
I=1
I=100
I=I+1
3 ค่าในการทาซ้า
กาหนดใน for เดียว
คานวณ SUM = 1+2+3+...+100
46. ตัวอย่าง 1.11แสดง Flowchart เพื่อคานวณ ผลคูณ 1x2x...x10
กาหนดให้ I = 1, 2, 3, ..., 100
SUM = SUM+I
yes
for I=1 to 100
start
SUM = 0
no
Print SUM
end
ค่าเริ่มต้น
ค่าสุดท้าย
ค่าเพิ่ม
I=1
I=100
I=I+1
3 ค่าในการทาซ้า
กาหนดใน for เดียว
คานวณ MUL= 1X2X3X...X100
47. ตัวอย่าง 1.12
แสดง Flowchart เพื่อคานวณ สูตรคูณแม่ T (เช่น T=2)
กาหนด i=1, 2, …, 12, และ R = T x i
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
Input T