งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

(Algorithm and Program Development Tools) อ. จรรยา สายนุ้ย CS.313 ภาควิชาวิทยาการคอมพิวเตอร์ 1.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "(Algorithm and Program Development Tools) อ. จรรยา สายนุ้ย CS.313 ภาควิชาวิทยาการคอมพิวเตอร์ 1."— ใบสำเนางานนำเสนอ:

1 (Algorithm and Program Development Tools) อ. จรรยา สายนุ้ย CS.313 ภาควิชาวิทยาการคอมพิวเตอร์ 1

2 Notion of Algorithm 2 problem algorithm input output Program or Software

3 Algorithm Definition An algorithm is a sequence of unambiguous instructions for solving a problem for any legitimate input in a finite time. 3

4 แนวทางการเขียนแสดง ขั้นตอนวิธีที่ดี เขียนแสดงการทำงานเป็นลำดับ ตามหมายเลข หรือ จากบนลงล่าง ชัดเจนและกะทัดรัด เข้าใจได้ง่ายและใช้เวลาเรียนรู้ไม่นาน แก้ปัญหาและให้คำตอบที่ถูกต้องได้ อย่างมีประสิทธิภาพ 4

5 Algorithm Representation ใช้สำหรับอธิบายขั้นตอนวิธีที่ ออกแบบ ใช้ติดต่อสื่อสารกับโปรแกรมเมอร์หรือ ผู้ใช้ นำไปใช้เป็นแนวทางในการพัฒนา โปรแกรม ใช้ตรวจสอบข้อผิดพลาดในการ ทำงานของโปรแกรมได้ เป็นส่วนหนึ่งในเอกสารประกอบ โปรแกรม 5

6 Methods of Specifying an Algorithm There are 2 options that are most widely used nowadays: Pseudocode Flowchart 6

7 Pseudocode ( รหัสจำลอง ) A pseudocode is a mixture of a natural language and programming language like constructs. - ไม่ขึ้นกับรูปแบบการเขียนของภาษาการ โปรแกรมใดๆ - เขียนอธิบายเพื่อให้อ่านได้เข้าใจง่าย - แปลงเป็นโปรแกรมภาษาระดับสูงได้ง่าย - มีข้อมูลเพียงพอสำหรับการแปลขั้นตอนวิธี จากรหัสลำลองไปเป็นโปรแกรมซึ่งเขียนด้วย ภาษาการโปรแกรมใดๆ ที่ต้องการได้ 7

8 ตัวอย่างรหัสจำลอง Algorithm mean 1. total  0, count  0 2. Loop (not end of file) 2.1 read number 2.2 total  total + number 2.3 count  count average  total / count 4. Print average 5. end 8 Algorithm max, min 1. read number 2. max  number, min  number 3. Loop (not end of file) 2.1 read number 2.2 if number > max max  number 2.3 if number < min min  number 4. Print max, min 5. end

9 ตัวอย่างรหัสจำลอง Algorithm mean 1. read N 2. total  0, count  0 3. while count < N do 2.1 read number 2.2 total  total + number 2.3 count  count average  total / count 5. Print average 6. end 9 Algorithm mean 1. read N 2. total  0 3. For count  1 to N do 3.1 read number 3.2 total  total + number 3.3 count  count average  total / count 5. Print average 6. end

10 Flowchart ( ผังงาน ) ใช้สัญลักษณ์ที่มีความหมายเฉพาะ อย่าง มีทิศทางการทำงานโดยใช้ลูกศร แปลเป็นโปรแกรมได้ง่ายเรียง ตามลำดับที่แสดง 10

11 สัญลักษณ์ที่ใช้ในผังงาน 11 Start /End Process Input/Output Print Decision Connector

12 ตัวอย่างผังงาน 12 Start max  number read number Print max not end of file A A max  number read number number > max A A Stop Y N Y N

13  Standard Operations  Basic Control Structures 13

14 Standard Operations Declaration Expression Assigning Values 14

15 Declaration module header : main, submodule e.g. Algorithm Euclid(), Module Sum(), Subprogram Mean() data : input/output e.g. Input: integer n, character d, array A with integer 30 elements Output: summation of n elements 15

16 Expression consist of operand, operator types : arithmetic: a + (b – c) * 4 relational: x > y, i ≠ 10 logical: (i < 5) and (j < 10) 16

17 ตัวดำเนินการทาง คณิตศาสตร์ Arithmetic operator 17

18 เครื่องหมายเปรียบเทียบ Relational operator 18

19 ตัวดำเนินการตรรกะ Logical operator 19

20 Assigning Value Format: e.g. x  1 j  i * i sum  sum + a[n] check  (m<5) and (n<4) 20 variable  expression

21 Example Algorithm degree_conversion Input : a number as degree Celcius Output : an equivalent degree Fahrenheit 1. read celcius 2. fahrenheit  9/5*celcius write celcius, fahrenheit 4. end 21

22 Basic Control Structures Sequence Control Selection/Decision Iteration /Repetition 22

23 Sequence Control Assignment stmt. Input/Output stmt. 23

24 Sequence Control Assignment stmt. e.g. j  i+k*2 name  “hawaii” i  0 24

25 Sequence Control Input/Output stmt. e.g. open file fn1, fn2 close file fn1 read var1, var2, … from fn1 write var1, var2, … to fn2 read var1, var2, … write var1,var2, … 25

26 Selection/Decision simple (if-then-else) nested if multiple (switch-case) 26

27 Simple Selection if-then if-then-else sequence of if if-then if-then (-else) 27

28 Simple Selection if-then e.g. if-then-else e.g. 28

29 Simple Selection sequence of if-then e.g. 29

30 Simple Selection sequence of if-then (-else) e.g. 30

31 Nested Selection stmt. if-then (if-then) if-then-else (if-then-else) if-then (if-then-else) -else (if-then-else) 31

32 Nested Selection stmt. รูปแบบ : if-then (if- then) ตัวอย่าง if ( เงื่อนไข ) then ….. end if 32

33 Nested Selection stmt. if-then-else (if-then-else) ตัวอย่าง if ( เงื่อนไข ) then …. Else if ( เงื่อนไข ) then … [else] …. end if 33

34 Nested Selection stmt. if-then (if-then-else) -else (if-then-else) ตัวอย่าง if ( เงื่อนไข ) then …. [else] …. end if Else if ( เงื่อนไข ) then … [else] …. end if 34

35 Multiple Selection stmt. case/switch case ans of 1 : x  n * n 2 : x  n * m 3 : x  n * n * m 4 : x  n * n * n else write “input error !” end case 35

36 Iteration /Repetition (Loop) for while-do repeat-until (do-while) 36

37 Iteration /Repetition (Loop) for statement e.g. 1.for i  0 to read num 1.2 sum  sum+num 2.write “sum =”,sum 37 Requirement specification คือ ?

38 Iteration /Repetition (Loop) while-do statement e.g. 1.i  1, sum  0 2.while (i<10) do 2.1 read num 2.2 sum  sum + num 2.3 i  i write “sum =”,sum 38

39 Iteration /Repetition (Loop) repeat-until (do-while) statement e.g. 1.i  1, sum  0 2.repeat 2.1 read num 2.2 sum  sum + num 2.3 i  i + 1 until (i>10) 3.write “sum =”,sum 39

40 Exercise1 เขียนขั้นตอนวิธีเพื่อหาค่า sum square (n) แบบที่ 1 = … + n 2 แบบที่ 2 = {n (n+1)(2n+1)}/6 40

41 Answer แบบที่ 1 = … + n 2 Algorithm sumsqr(n) 1. read n 2. sumsq  0 3. for i  1 to n 3.1 sumsq  sumsq + i * i 4. display “ sumsquare of ”,n, “ = ”,sumsq 5. end 41

42 Answer แบบที่ 2 = {n (n+1)(2n+1)}/6 Algorithm sumsqr(n) 1. read n 2. sumsq  n * (n+1) * (2n+1) / 6 3. display “ sumsquare of ”,n, “ = ”,sumsq 4. end 42

43 Exercise2 เขียนโปรแกรมเพื่อคำนวณหาค่า BMI = น้ำหนัก ( กิโลกรัม ) / ( ส่วนสูง ( เมตร )) 2 ของ กลุ่มตัวอย่างจำนวน 10 คน และสรุปตามเงื่อนไขดังนี้ ค่า BMI ข้อสรุป >= 40 อ้วนเกินไป >= 30 แต่ไม่เกิน 40 อ้วน >= 25 แต่ไม่เกิน 30 ท้วม >= 18.5 แต่ไม่เกิน 25 เหมาะสม < 18.5 ผอมเกินไป Algorithmic Process and Programming, created by Dararat Saelee43

44 Answer Algorithm BMI 1. for i  1 to read w,h 1.2 bmi  w / (h * h) 1.3 display “ BMI = ”, bmi 1.4 if (bmi >= 40) then display ( “ too fat ” ) else if (bmi >= 30) then display ( “ fat ” ) else if (bmi >= 25) then display ( “ quite fat ” ) else if (bmi >=18.5) then display ( “ slim ” ) else display ( “ too slim ” ) 2. end Algorithmic Process and Programming, created by Dararat Saelee44

45 Exercise3 เขียนขั้นตอนวิธีด้วยรหัสลำลองเพื่อ คำนวณหาค่า s จากสูตร s = a + ar + ar ar n โดยการอ่านค่า a, r และ n เข้ามาทาง แป้นพิมพ์ Algorithmic Process and Programming, created by Dararat Saelee45

46  Input/Output Data  Constant/Variable Data 46

47 Input/Output Data Input: data to be known before/while processing a program Output: result from program execution Types: decide appropriate type of input /output data ; e.g. int, longint, char, float, double Structure: relationship of each data : struct or record, series of data set (array) 47

48 Constant/Variable Data Constant: its value is fixed before running until stop running e.g. 50, ‘y’, “male” Variable: its value can be changed during the execution e.g. x = y + z 48

49 Data Design Exercise การแปลงค่าองศาเซลเซียสเป็นค่าองศาฟาเรน ไฮต์ ค่าองศาฟาเรนไฮต์ f = (9 /5)* c + 32 ค่าคงที่ ตัวแปร ข้อมูลเข้า ข้อมูลผลลัพธ์ 49

50  Programming Environment  Program Development Tools 50

51 S/W Development Environments set of tools and techniques provided for users to develop programs in easier way and more convenient use e.g. compiler + editor + debugger + file system + GUI or windowed interface 51

52 Programming Environment Integrated Development Environment (IDE) : Editor Compiler Preprocessor Libraries debugging tools and other utilities e.g. Turbo C, C-Free, DevC 52

53 Programming Environment Development kits : compiler, libraries e.g. JDK/JRE Tools : only editor e.g. Notepad editor & tools e.g. EditPlus 53

54 Program Development Tools Editor Libraries Preprocessor Compiler Debugger Utilities 54

55 Program Development Tools Editors : Notepad, Turbo C/C++ editor, EditorPlus, EClipse Libraries : Header files (C - #include) Packages (Java - import) 55

56 Program Development Tools Preprocessor : C - #define Compilers : C – gcc, cc, Turbo C/C++ Java – javac, java 56

57 Program Development Tools Debuggers : Turbo C/C++  trace, watch DOS  debug Utilities : C - online help Java – help message 57


ดาวน์โหลด ppt (Algorithm and Program Development Tools) อ. จรรยา สายนุ้ย CS.313 ภาควิชาวิทยาการคอมพิวเตอร์ 1.

งานนำเสนอที่คล้ายกัน


Ads by Google