บทที่ 4ผังงาน และการเขียนโปรแกรม ก...

72
บทที่ 4 ผังงาน และการเขียนโปรแกรม กาหนดเงื่อนไข สาขาวิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยแม่โจ้ 1 โดย อาจารย์ภานุวัฒน์ เมฆะ คพ211 วิทยาการคอมพิวเตอร์1

Upload: others

Post on 05-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

บทที่ 4 ผงังาน และการเขียนโปรแกรมก าหนดเง่ือนไข

สาขาวชิาวทิยาการคอมพวิเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลยัแม่โจ้

1

โดย อาจารย์ภานุวฒัน์ เมฆะ

คพ211 วิทยาการคอมพิวเตอร์1

Page 2: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

วตัถุประสงค์

• เขียนผงังานโปรแกรมจากโจทยปั์ญหาได้• เขียนโปรแกรมจากผงังานท่ีสร้างข้ึนได้• เขียนผงังานและโปรแกรมท่ีมีการก าหนดเง่ือนไขได้

2

คพ211 วิทยาการคอมพิวเตอร์1

Page 3: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

การพฒันาโปรแกรมคอมพวิเตอร์

3

คพ211 วิทยาการคอมพิวเตอร์1

Page 4: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

คุณลกัษณะของโปรแกรมทีด่ี

4

คพ211 วิทยาการคอมพิวเตอร์1

Page 5: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

Algorithms

5

คพ211 วิทยาการคอมพิวเตอร์1

Muhammad ibn Musa al-Khwarizmi

محمد بن موسى الخوارزمی(c. 780 – c. 850)

Page 6: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

Algorithms

6

คพ211 วิทยาการคอมพิวเตอร์1

Page 7: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

7

คพ211 วิทยาการคอมพิวเตอร์1

Page 8: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

ปัญหา: วธีิการใช้เคร่ืองคอมพวิเตอร์

8

คพ211 วิทยาการคอมพิวเตอร์1

Page 9: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

9

คพ211 วิทยาการคอมพิวเตอร์1

Carrot Soup

Page 10: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

10

คพ211 วิทยาการคอมพิวเตอร์1

A cup of tea

Page 11: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

Origami

11

คพ211 วิทยาการคอมพิวเตอร์1

Page 12: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

4.1 ผงังาน (Flowchart)

แผนภาพซ่ึงแสดงล าดบัขั้นตอนของการท างาน โดยแต่ละขั้นตอนจะแสดงโดยใช้สัญลกัษณ์ ซ่ึงมีความหมายบ่งบอกว่าขั้นตอนนั้นๆ มีลกัษณะการท างานแบบใด และในแต่ละขั้นตอนจะเช่ือมโยงกันด้วยลูกศรเพื่อท่ีจะแสดงล าดบัการท างาน

12

คพ211 วิทยาการคอมพิวเตอร์1

Page 13: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

ประโยชน์ของผงังาน

13

คพ211 วิทยาการคอมพิวเตอร์1

Page 14: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

ประเภทของผงังาน

14

คพ211 วิทยาการคอมพิวเตอร์1

Page 15: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

สัญลกัษณ์ทีใ่ช้ในการเขยีนผงังาน

15

คพ211 วิทยาการคอมพิวเตอร์1

main(){

}return 0;

Page 16: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

สัญลกัษณ์ทีใ่ช้ในการเขยีนผงังาน

16

คพ211 วิทยาการคอมพิวเตอร์1

scanf(“%d %d”,&a,&b);

Page 17: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

สัญลกัษณ์ทีใ่ช้ในการเขยีนผงังาน

17

คพ211 วิทยาการคอมพิวเตอร์1

printf(“%d %d”,a,b);

Page 18: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

สัญลกัษณ์ทีใ่ช้ในการเขยีนผงังาน

18

คพ211 วิทยาการคอมพิวเตอร์1

real=num*5/100;

Page 19: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

สัญลกัษณ์ทีใ่ช้ในการเขยีนผงังาน

19

คพ211 วิทยาการคอมพิวเตอร์1

Page 20: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

สัญลกัษณ์ทีใ่ช้ในการเขยีนผงังาน

20

คพ211 วิทยาการคอมพิวเตอร์1

Page 21: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

สัญลกัษณ์ทีใ่ช้ในการเขยีนผงังาน

21

คพ211 วิทยาการคอมพิวเตอร์1

Page 22: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

สัญลกัษณ์ทีใ่ช้ในการเขยีนผงังาน

22

คพ211 วิทยาการคอมพิวเตอร์1

Page 23: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

คพ211 วิทยาการคอมพิวเตอร์1

23

สัญลกัษณ์ ความหมาย

จดุเร ิม่ตน้หรอืจดุจบของโปรแกรม

(Terminal)

การรบัและแสดงผลของขอ้มลู

(Input/Output)

การประมวลผล

(Process)

การตดัสนิใจ

(Decision /Selection)

Page 24: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

หลกัเกณฑ์ในการเขยีนผงังาน

24

คพ211 วิทยาการคอมพิวเตอร์1

Page 25: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

ตวัอย่างผงังานโปรแกรม

25

คพ211 วิทยาการคอมพิวเตอร์1

#include<stdio.h>main(){printf(“Hello\nWorld!”);return 0;}

Page 26: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

แนวทางการสร้างผงังานส าหรับการเขียนโปรแกรม

26

คพ211 วิทยาการคอมพิวเตอร์1

Page 27: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

แนวทางสร้างโปรแกรมค านวณหาพืน้ทีว่งกลม

27

คพ211 วิทยาการคอมพิวเตอร์1

Page 28: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

แนวทางสร้างโปรแกรมค านวณหาพืน้ทีว่งกลม

28

คพ211 วิทยาการคอมพิวเตอร์1

Page 29: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

แนวทางสร้างโปรแกรมค านวณหาพืน้ทีว่งกลม

29

คพ211 วิทยาการคอมพิวเตอร์1

Page 30: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

แนวทางสร้างโปรแกรมค านวณหาพืน้ที่วงกลม

30

คพ211 วิทยาการคอมพิวเตอร์1

Page 31: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

โจทย์ : โปรแกรมรวมคะแนนเรียนคพ211 วิทยาการคอมพิวเตอร์1

31

Page 32: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

4.2 การเขยีนโปรแกรมแบบก าหนดเง่ือนไขคพ211 วิทยาการคอมพิวเตอร์1

32

Page 33: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

4.2.1 การเปรียบเทียบคพ211 วิทยาการคอมพิวเตอร์1

33

Page 34: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

การใช้งานเคร่ืองหมายการเปรียบเทยีบคพ211 วิทยาการคอมพิวเตอร์1

34

Page 35: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

4.2.2 เคร่ืองหมายทางตรรกศาสตร์คพ211 วิทยาการคอมพิวเตอร์1

35

Page 36: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

การใช้งานเคร่ืองหมายทางตรรกศาสตร์คพ211 วิทยาการคอมพิวเตอร์1

36

Page 37: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

การใช้งานเคร่ืองหมายทางตรรกศาสตร์คพ211 วิทยาการคอมพิวเตอร์1

37

Page 38: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

4.3 การใช้ค าส่ัง ifคพ211 วิทยาการคอมพิวเตอร์1

38

Page 39: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

การใช้ค าส่ัง if กบันิพจน์คพ211 วิทยาการคอมพิวเตอร์1

39

Page 40: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

โปรแกรม 4.2 ตรวจสอบคะแนน | ifคพ211 วิทยาการคอมพิวเตอร์1

40

Page 41: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

โปรแกรมตรวจสอบคะแนน | ifคพ211 วิทยาการคอมพิวเตอร์1

41

Page 42: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

โปรแกรมตรวจสอบคะแนน | ifคพ211 วิทยาการคอมพิวเตอร์1

42

Page 43: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

คพ211 วิทยาการคอมพิวเตอร์1

43

Page 44: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

โปรแกรมตรวจสอบคะแนน | if

44

คพ211 วิทยาการคอมพิวเตอร์1

Page 45: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

โปรแกรมตรวจสอบคะแนน | ifคพ211 วิทยาการคอมพิวเตอร์1

45

Page 46: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

4.4 การใช้ค าส่ัง if-else | ภายในเง่ือนไขมคี าส่ังเดยีวคพ211 วิทยาการคอมพิวเตอร์1

46

Page 47: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

4.4 การใช้ค าส่ัง if-else | ภายในเง่ือนไขมหีลายค าส่ังคพ211 วิทยาการคอมพิวเตอร์1

47

Page 48: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

โปรแกรม4.3 หารเลข 2 จ านวนคพ211 วิทยาการคอมพิวเตอร์1

48

Page 49: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

คพ211 วิทยาการคอมพิวเตอร์1

49

Page 50: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

โปรแกรมหารเลข | if-elseคพ211 วิทยาการคอมพิวเตอร์1

50

Page 51: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

4.4 การใช้ค าส่ัง if-else if | ภายในเง่ือนไขมีค าส่ังเดยีว ลกัษณะผูกกนั

คพ211 วิทยาการคอมพิวเตอร์1

51

Page 52: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

การใช้ค าส่ัง if-else if | ภายในเง่ือนไขมีหลายค าส่ังคพ211 วิทยาการคอมพิวเตอร์1

52

Page 53: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

โปรแกรม 4.4 ตรวจสอบเกรด A ถึง Fคพ211 วิทยาการคอมพิวเตอร์1

53

Page 54: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

โปรแกรมตรวจสอบเกรด | if-else ifคพ211 วิทยาการคอมพิวเตอร์1

54

Page 55: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

โปรแกรมตรวจสอบเกรด | if-else if

คพ211 วิทยาการคอมพิวเตอร์1

55

Page 56: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

โปรแกรมตรวจสอบเกรด | if-else if

คพ211 วิทยาการคอมพิวเตอร์1

56

Page 57: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

คพ211 วิทยาการคอมพิวเตอร์1

57

Page 58: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

คพ211 วิทยาการคอมพิวเตอร์1

58

Page 59: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

คพ211 วิทยาการคอมพิวเตอร์1

59

โปรแกรมแปลงหน่วยอุณหภูมิ

Start

Read

temp

Print

“convert to c or f”

Read

unit

unit==’f’

Yes

No

unit==’c’

Yes

No

End

Print

temp*1.8+32.0

Print

(temp-32.0)/1.8

Print

“Bad

command”

Page 60: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

คพ211 วิทยาการคอมพิวเตอร์1

60

โปรแกรมแปลงค่าสกลุเงิน

Start

Read

thb

Print

“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

Print

ans

End

Print

“Bad

command”

Page 61: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

4.4 การใช้ค าส่ัง switchคพ211 วิทยาการคอมพิวเตอร์1

61

Page 62: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

การใช้ค าส่ัง switch | Flowchartคพ211 วิทยาการคอมพิวเตอร์1

62

Page 63: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

ตัวอย่างการใช้ค าส่ัง switchคพ211 วิทยาการคอมพิวเตอร์1

63

Page 64: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

ตัวอย่างการใช้ค าส่ัง switchคพ211 วิทยาการคอมพิวเตอร์1

64

Page 65: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

โจทย์ : โปรแกรมตรวจสอบสถานะการเรียนคพ211 วิทยาการคอมพิวเตอร์1

65

Page 66: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

โจทย์ : โปรแกรมตรวจสอบสถานะการเรียนคพ211 วิทยาการคอมพิวเตอร์1

66

Page 67: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

โจทย์ : โปรแกรมตรวจสอบสถานะการเรียนคพ211 วิทยาการคอมพิวเตอร์1

67

Page 68: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

4.5 ค าถามท้ายบทคพ211 วิทยาการคอมพิวเตอร์1

68

Page 69: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

ค าถามท้ายบท (ต่อ)คพ211 วิทยาการคอมพิวเตอร์1

69

Page 70: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

ค าถามท้ายบท (ต่อ)คพ211 วิทยาการคอมพิวเตอร์1

70

Page 71: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

คพ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

Page 72: บทที่ 4ผังงาน และการเขียนโปรแกรม ก าหนดเงื่อนไขบทที่ 4ผังงาน และการเขียนโปรแกรม

ซาลามดั ดาดงั หมายถึง สวสัดใีนภาษามาเลเซีย

คพ211 วิทยาการคอมพิวเตอร์1

72