บทที่ 4ผังงาน และการเขียนโปรแกรม ก...
TRANSCRIPT
บทที่ 4 ผงังาน และการเขียนโปรแกรมก าหนดเง่ือนไข
สาขาวชิาวทิยาการคอมพวิเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลยัแม่โจ้
1
โดย อาจารย์ภานุวฒัน์ เมฆะ
คพ211 วิทยาการคอมพิวเตอร์1
วตัถุประสงค์
• เขียนผงังานโปรแกรมจากโจทยปั์ญหาได้• เขียนโปรแกรมจากผงังานท่ีสร้างข้ึนได้• เขียนผงังานและโปรแกรมท่ีมีการก าหนดเง่ือนไขได้
2
คพ211 วิทยาการคอมพิวเตอร์1
การพฒันาโปรแกรมคอมพวิเตอร์
3
คพ211 วิทยาการคอมพิวเตอร์1
คุณลกัษณะของโปรแกรมทีด่ี
4
คพ211 วิทยาการคอมพิวเตอร์1
Algorithms
5
คพ211 วิทยาการคอมพิวเตอร์1
Muhammad ibn Musa al-Khwarizmi
محمد بن موسى الخوارزمی(c. 780 – c. 850)
Algorithms
6
คพ211 วิทยาการคอมพิวเตอร์1
7
คพ211 วิทยาการคอมพิวเตอร์1
ปัญหา: วธีิการใช้เคร่ืองคอมพวิเตอร์
8
คพ211 วิทยาการคอมพิวเตอร์1
9
คพ211 วิทยาการคอมพิวเตอร์1
Carrot Soup
10
คพ211 วิทยาการคอมพิวเตอร์1
A cup of tea
Origami
11
คพ211 วิทยาการคอมพิวเตอร์1
4.1 ผงังาน (Flowchart)
แผนภาพซ่ึงแสดงล าดบัขั้นตอนของการท างาน โดยแต่ละขั้นตอนจะแสดงโดยใช้สัญลกัษณ์ ซ่ึงมีความหมายบ่งบอกว่าขั้นตอนนั้นๆ มีลกัษณะการท างานแบบใด และในแต่ละขั้นตอนจะเช่ือมโยงกันด้วยลูกศรเพื่อท่ีจะแสดงล าดบัการท างาน
12
คพ211 วิทยาการคอมพิวเตอร์1
ประโยชน์ของผงังาน
13
คพ211 วิทยาการคอมพิวเตอร์1
ประเภทของผงังาน
14
คพ211 วิทยาการคอมพิวเตอร์1
สัญลกัษณ์ทีใ่ช้ในการเขยีนผงังาน
15
คพ211 วิทยาการคอมพิวเตอร์1
main(){
}return 0;
สัญลกัษณ์ทีใ่ช้ในการเขยีนผงังาน
16
คพ211 วิทยาการคอมพิวเตอร์1
scanf(“%d %d”,&a,&b);
สัญลกัษณ์ทีใ่ช้ในการเขยีนผงังาน
17
คพ211 วิทยาการคอมพิวเตอร์1
printf(“%d %d”,a,b);
สัญลกัษณ์ทีใ่ช้ในการเขยีนผงังาน
18
คพ211 วิทยาการคอมพิวเตอร์1
real=num*5/100;
สัญลกัษณ์ทีใ่ช้ในการเขยีนผงังาน
19
คพ211 วิทยาการคอมพิวเตอร์1
สัญลกัษณ์ทีใ่ช้ในการเขยีนผงังาน
20
คพ211 วิทยาการคอมพิวเตอร์1
สัญลกัษณ์ทีใ่ช้ในการเขยีนผงังาน
21
คพ211 วิทยาการคอมพิวเตอร์1
สัญลกัษณ์ทีใ่ช้ในการเขยีนผงังาน
22
คพ211 วิทยาการคอมพิวเตอร์1
คพ211 วิทยาการคอมพิวเตอร์1
23
สัญลกัษณ์ ความหมาย
จดุเร ิม่ตน้หรอืจดุจบของโปรแกรม
(Terminal)
การรบัและแสดงผลของขอ้มลู
(Input/Output)
การประมวลผล
(Process)
การตดัสนิใจ
(Decision /Selection)
หลกัเกณฑ์ในการเขยีนผงังาน
24
คพ211 วิทยาการคอมพิวเตอร์1
ตวัอย่างผงังานโปรแกรม
25
คพ211 วิทยาการคอมพิวเตอร์1
#include<stdio.h>main(){printf(“Hello\nWorld!”);return 0;}
แนวทางการสร้างผงังานส าหรับการเขียนโปรแกรม
26
คพ211 วิทยาการคอมพิวเตอร์1
แนวทางสร้างโปรแกรมค านวณหาพืน้ทีว่งกลม
27
คพ211 วิทยาการคอมพิวเตอร์1
แนวทางสร้างโปรแกรมค านวณหาพืน้ทีว่งกลม
28
คพ211 วิทยาการคอมพิวเตอร์1
แนวทางสร้างโปรแกรมค านวณหาพืน้ทีว่งกลม
29
คพ211 วิทยาการคอมพิวเตอร์1
แนวทางสร้างโปรแกรมค านวณหาพืน้ที่วงกลม
30
คพ211 วิทยาการคอมพิวเตอร์1
โจทย์ : โปรแกรมรวมคะแนนเรียนคพ211 วิทยาการคอมพิวเตอร์1
31
4.2 การเขยีนโปรแกรมแบบก าหนดเง่ือนไขคพ211 วิทยาการคอมพิวเตอร์1
32
4.2.1 การเปรียบเทียบคพ211 วิทยาการคอมพิวเตอร์1
33
การใช้งานเคร่ืองหมายการเปรียบเทยีบคพ211 วิทยาการคอมพิวเตอร์1
34
4.2.2 เคร่ืองหมายทางตรรกศาสตร์คพ211 วิทยาการคอมพิวเตอร์1
35
การใช้งานเคร่ืองหมายทางตรรกศาสตร์คพ211 วิทยาการคอมพิวเตอร์1
36
การใช้งานเคร่ืองหมายทางตรรกศาสตร์คพ211 วิทยาการคอมพิวเตอร์1
37
4.3 การใช้ค าส่ัง ifคพ211 วิทยาการคอมพิวเตอร์1
38
การใช้ค าส่ัง if กบันิพจน์คพ211 วิทยาการคอมพิวเตอร์1
39
โปรแกรม 4.2 ตรวจสอบคะแนน | ifคพ211 วิทยาการคอมพิวเตอร์1
40
โปรแกรมตรวจสอบคะแนน | ifคพ211 วิทยาการคอมพิวเตอร์1
41
โปรแกรมตรวจสอบคะแนน | ifคพ211 วิทยาการคอมพิวเตอร์1
42
คพ211 วิทยาการคอมพิวเตอร์1
43
โปรแกรมตรวจสอบคะแนน | if
44
คพ211 วิทยาการคอมพิวเตอร์1
โปรแกรมตรวจสอบคะแนน | ifคพ211 วิทยาการคอมพิวเตอร์1
45
4.4 การใช้ค าส่ัง if-else | ภายในเง่ือนไขมคี าส่ังเดยีวคพ211 วิทยาการคอมพิวเตอร์1
46
4.4 การใช้ค าส่ัง if-else | ภายในเง่ือนไขมหีลายค าส่ังคพ211 วิทยาการคอมพิวเตอร์1
47
โปรแกรม4.3 หารเลข 2 จ านวนคพ211 วิทยาการคอมพิวเตอร์1
48
คพ211 วิทยาการคอมพิวเตอร์1
49
โปรแกรมหารเลข | if-elseคพ211 วิทยาการคอมพิวเตอร์1
50
4.4 การใช้ค าส่ัง if-else if | ภายในเง่ือนไขมีค าส่ังเดยีว ลกัษณะผูกกนั
คพ211 วิทยาการคอมพิวเตอร์1
51
การใช้ค าส่ัง if-else if | ภายในเง่ือนไขมีหลายค าส่ังคพ211 วิทยาการคอมพิวเตอร์1
52
โปรแกรม 4.4 ตรวจสอบเกรด A ถึง Fคพ211 วิทยาการคอมพิวเตอร์1
53
โปรแกรมตรวจสอบเกรด | if-else ifคพ211 วิทยาการคอมพิวเตอร์1
54
โปรแกรมตรวจสอบเกรด | if-else if
คพ211 วิทยาการคอมพิวเตอร์1
55
โปรแกรมตรวจสอบเกรด | if-else if
คพ211 วิทยาการคอมพิวเตอร์1
56
คพ211 วิทยาการคอมพิวเตอร์1
57
คพ211 วิทยาการคอมพิวเตอร์1
58
คพ211 วิทยาการคอมพิวเตอร์1
59
โปรแกรมแปลงหน่วยอุณหภูมิ
Start
Read
temp
“convert to c or f”
Read
unit
unit==’f’
Yes
No
unit==’c’
Yes
No
End
temp*1.8+32.0
(temp-32.0)/1.8
“Bad
command”
คพ211 วิทยาการคอมพิวเตอร์1
60
โปรแกรมแปลงค่าสกลุเงิน
Start
Read
thb
“Please select the menu
1) to USD
2) to Yen
3) to EURO
4) to GBP”
Read
unit
unit==1
Yes
unit==2
Yes
ans=thb*0.28
ans=thb*0.321
No
No
unit==3
Yes
ans=thb*0.026
No
unit==4
Yes
ans=thb*0.020
No
ans
End
“Bad
command”
4.4 การใช้ค าส่ัง switchคพ211 วิทยาการคอมพิวเตอร์1
61
การใช้ค าส่ัง switch | Flowchartคพ211 วิทยาการคอมพิวเตอร์1
62
ตัวอย่างการใช้ค าส่ัง switchคพ211 วิทยาการคอมพิวเตอร์1
63
ตัวอย่างการใช้ค าส่ัง switchคพ211 วิทยาการคอมพิวเตอร์1
64
โจทย์ : โปรแกรมตรวจสอบสถานะการเรียนคพ211 วิทยาการคอมพิวเตอร์1
65
โจทย์ : โปรแกรมตรวจสอบสถานะการเรียนคพ211 วิทยาการคอมพิวเตอร์1
66
โจทย์ : โปรแกรมตรวจสอบสถานะการเรียนคพ211 วิทยาการคอมพิวเตอร์1
67
4.5 ค าถามท้ายบทคพ211 วิทยาการคอมพิวเตอร์1
68
ค าถามท้ายบท (ต่อ)คพ211 วิทยาการคอมพิวเตอร์1
69
ค าถามท้ายบท (ต่อ)คพ211 วิทยาการคอมพิวเตอร์1
70
คพ211 วิทยาการคอมพิวเตอร์1
71
Start
A=random from 0 to 10
ReadB
A==B
A>B
Yes
Yes
No
NoPrint“Correct!”
Print“Less!”
Print“More!”
End
ซาลามดั ดาดงั หมายถึง สวสัดใีนภาษามาเลเซีย
คพ211 วิทยาการคอมพิวเตอร์1
72