SlideShare a Scribd company logo
หน่วย
ที่1
การแก้ปัญหา
(PROGRAM FLOWCHART)
1
ผู้สอน : ครูภูเบศ นิราศ
ภัย
2
ผังงานโปรแกรม
(Program Flowchart)
ขั้นตอนการพัฒนา
โปรแกรม
การวิเคราะห์ปัญหา
การเขียนผังงาน
ผังงานแบบลำดับ
ผังงานแบบเงื่อนไข
ผังงานแบบวนซ้ำ
3
การพัฒนาโปรแกรม 5
ขั้นตอน
1. กำหนดปัญหา
2. วิเคราะห์ปัญหา
3. เขียนผังงาน
4. เขียนโปรแกรม
5. ทดสอบโปรแกรม Output
ผลลัพธ์
Problem
กำหนดปัญหา
Analysis
วิเคราะห์ปัญหา
Flowchart
เขียนผังงาน
Testing
ทดสอบโปรแกรม
1.1 ขั้นตอนพัฒนา
โปรแกรม
Input
ข้อมูล
Program
เขียนโปรแกรม
ปัญหาคือ
อะไร? คำตอบ
ที่ต้องการคือ
1.2 วิเคราะห์ปัญหา
• วิเคราะห์ปัญหา (Problem Analysis):
3 ขั้นตอน
• การรับข้อมูล (Input Data)
• การคำนวณ (Process)
• การแสดงผลลัพธ์ (Output Result)
4
 ข้อมูล input และ Output ใน
โปรแกรมจะต้องเก็บใน
Memory
ผ่านตัวแปร (Variables)

ตัวอย่าง 1.1
• การวิเคราะห์ปัญหาการคำนวณผล
บวก ที่คล้ายการทำงานของเครื่องคิด
เลขอย่างง่าย
ตัวแปร X, Y สำหรับเก็บค่าของเลข 2
ค่า
ตัวแปร Sum สำหรับเก็บผลลัพธ์
5
…
Memory
X
Y
Sum
การวิเคราะห์ปัญหา
 1. Input: รับค่า X,
Y
 2. Process: คำนวณ
Sum = X + Y

ตัวอย่าง 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
ตัวอย่าง 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
1.3 การเขียนผังงาน
• สัญลักษณ์พื้นฐาน ทีใช้ในผังงาน
8
แสดงจุดเริ่มต้น หรือจุดจบของผังงาน
แสดงทิศทางของการดำเนิน
งาน
แสดงการคำนวณ 
แสดงการรับข้อมูล หรือแสดงผล (ไม่ระบุชนิด
อุปกรณ์)
การแสดงผลทางเครื่องพิมพ์
แสดงการทดสอบเงื่อนไข (เมื่อมีทางเลือก)
แสดงจุดเชื่อมต่อในผังงาน
การแสดงผลทางจอภาพ
ผังงาน (Flowchart) เป็นแผนภาพ ที่ใช้
อธิบายขั้นตอนและลำดับการทำงานของ
โปรแกรมตั้งแต่เริ่มจนจบ
รูปแบบของผังงาน
ผังงานแบบลำดับ
9
ผังงานแบบเงื่อนไข
ผังงานแบบวนซ้ำ
1.3.1 ผังงานแบบลำดับ
• Flowchart แบบลำดับ (Sequence)
10
start
Input
Process
Output
end
แสดงขั้นตอนการทำงานที่
ทำงานตามลำดับ (จากบนลง
ล่าง) ไม่มีการข้ามขั้น หรือ
ย้อนกลับ)
ตัวอย่าง 1.4
•แสดง Flowchart ของการหาผลบวก (Sum) ของ
ข้อมูล 2 ค่า (X, Y) พร้อมแสดงผลบวก
11
start
Input X,Y
Sum = X+Y
Print Sum
end
…
Memory
X
Y
Sum
50
100
150
1.3.2 ผังงานแบบ
เงื่อนไข
• แสดงการทำงานตามเงื่อนไข
ที่จะต้องเลือกทำอย่างใดอย่าง
หนึ่ง
ซึ่งมี 3 กรณี คือ เลือกจาก 1,
2, หรือ n
1. เงื่อนไขทางเลือกจาก 1
เส้นทาง
12
check
condition Statement(s)
yes
no
จะทำงาน
(Statement)
เมื่อเงื่อนไขเป็น
ตัวอย่าง 1.5
•แสดง Flowchart เพื่อตรวจสอบ
เงื่อนไขเพื่อคัดเลือกที่สอบผ่าน (คะแ
นน X >=60 ) และแสดงผลเฉพาะผู้ที่
สอบผ่าน
13
start
end
Input ID,X
X >=60 yes
Print ID,X
no
…
Memory
X
1.3.3 ผังงานแบบวนซ้ำ
• การทำซ้ำ (Looping) แบ่งเป็น 3 กรณี
while, do-while, for
• 1. การทำซ้ำที่มีเงื่อนไขแบบ while
14
ตรวจสอบเงื่อนไข
ก่อน
no
exit loop
statement(s)
check
condition
yes
จะทำงาน
(Statement) ซ้ำ
เมื่อเงื่อนไขเป็นจริง
(ออกจากทำซ้ำเมื่อ
เงื่อนไขเป็นเท็จ)
ผังงาน-เงื่อนไข
2. เงื่อนไขทางเลือกจาก 2 เส้นทาง
15
เมื่อเงื่อนไขเป็นจริงจะทำ
(Statement 1)
check
condition
เมื่อเงื่อนไขเป็นเท็จจะทำ
(Statement 2)
yes
statement 1
no
statement 2
16
ตัวอย่าง 1.6
•แสดง Flowchart เพื่อแบ่งนักศึกษา
เป็น 2 กลุ่ม
ตามเพศ คือ ชาย (Male) หรือหญิง
(Female) start
end
Input ID,
Name,Gender
Gender=‘M’
yes Print “Male”
Print “Female”
no
ผังงาน-เงื่อนไข
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)
ตัวอย่าง 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
. . .
ตัวแปร ในการทำซ้ำ
• การทำซ้ำ (ขั้นพื้นฐาน) ที่นิยม คือ
กำหนดตัวแปรเก็บค่าเลขนับ (เช่น 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 คำสั่งในการทำ
ซ้ำ
ตัวอย่าง 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
ผังงาน-ทำซ้ำ
2. การทำซ้ำที่มีเงื่อนไขแบบ do-
while
21
และทำซ้ำถ้าเงื่อนไข
เป็นจริง
ทำงาน
(Statement) ก่อน
จึงทำการตรวจ
เงื่อนไข
statement(s)
check
condition
yes
exit loop
n
o
(จนกระทั่งเงื่อนไข
เป็นเท็จจึงออกจาก
ทำงานซ้ำ)
22
ตัวอย่าง 1.9
• แสดง Flowchart เพื่อคำนวณ ผล
บวกของเลขนับ 1+2+...+100 (ด้วย
คำสั่ง do-while)
• กำหนดค่า I = 1, 2, 3, ..., 100
22
SUM = SUM+I
start
I = 1
end
I = I+1
…
Memory
I
SUM
ค่าเริ่ม
ต้น
ค่า
สุดท้าย
ค่า
เพิ่ม
I=1
I=1
00
I=I+
1
ค่า SUM
เริ่มต้น
ค่า SUM
เพิ่ม
SUM=
0
SUM+I
คำนวณ SUM =
1+2+3+...+100
SUM = 0
3 คำสั่งในการทำ
ซ้ำ
yes
no Print SUM
while I<100
ผังงาน-ทำซ้ำ
3. การทำซ้ำตามจำนวนที่ระบุ
23
โดยเริ่มจากรอบเริ่ม
ต้น (i=1) ไปยังรอบ
สุดท้าย (i=N)
ทำงานตามรอบที่
กำหนด
i > N
exit loop
(แต่ละรอบปกติจะเพิ่มที
ละ 1 ค่า (i = i+1))
statement(s)
i £ N
for i=1 to N
(ออกจากทำงานซ้ำเมื่อ
ตัวอย่าง 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
ตัวอย่าง 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
เดียว
ตัวอย่าง 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
ตัวอย่าง 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

More Related Content

PPT
Programmer1
PPTX
03 โครงสร้างและผังงานโปรแกรม
PPT
อัลกอริทึมและการวิเคราะห์ปัญหา
PDF
หลักการเขียนโปรแกรม
PDF
ใบความรู้ที่2
PDF
อัลกอริทึมและการวิเคราะห์ปัญหา
PDF
เทอม 2 คาบ 10 หลักการแก้ปัญหาด้วยคอมพิวเตอร์
PDF
ใบความรู้ที่ 1 การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
Programmer1
03 โครงสร้างและผังงานโปรแกรม
อัลกอริทึมและการวิเคราะห์ปัญหา
หลักการเขียนโปรแกรม
ใบความรู้ที่2
อัลกอริทึมและการวิเคราะห์ปัญหา
เทอม 2 คาบ 10 หลักการแก้ปัญหาด้วยคอมพิวเตอร์
ใบความรู้ที่ 1 การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ

Similar to บทที่1ProgramFlowchart สำหรับนักเรียนชั้นมัธยม (20)

PPTX
บทที่ 6-เงื่อนไข-การตัดสินใจ-การควบคุม (2)
PDF
ข้อสอบก่อนเรียน หลังเรียน
PDF
ฟังก์ชั่น break
PPTX
บทที่ 6-เงื่อนไข-การตัดสินใจ-การควบคุม
PPT
05 loops
PDF
โจทย์ปัญหา8.1
PDF
Pbl7.2
PPTX
Loop Programming for Python Language programming
PDF
ฟังก์ชั่น Switch
PPT
C language
PPT
C language
PDF
ใบความรู้ที่1.2
PDF
ใบความรู้ที่1.2
PPT
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
 
PPT
บทที่ 1
PPT
การเขียนผังงาน (280653)
บทที่ 6-เงื่อนไข-การตัดสินใจ-การควบคุม (2)
ข้อสอบก่อนเรียน หลังเรียน
ฟังก์ชั่น break
บทที่ 6-เงื่อนไข-การตัดสินใจ-การควบคุม
05 loops
โจทย์ปัญหา8.1
Pbl7.2
Loop Programming for Python Language programming
ฟังก์ชั่น Switch
C language
C language
ใบความรู้ที่1.2
ใบความรู้ที่1.2
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
 
บทที่ 1
การเขียนผังงาน (280653)
Ad

บทที่1ProgramFlowchart สำหรับนักเรียนชั้นมัธยม