1 / 43

C PROGRAMMING

C PROGRAMMING. Introduction to Programming. Introduction to Programming. Computer System - Hardware - Software - Peopleware. Introduction to Programming. ขอบเขตปัญหา. จัดทำเอกสาร คู่มือประกอบ การพัฒนา โปรแกรม. เก็บรวบรวมข้อมูล และวิเคราะห์ปัญหา. ออกแบบโปรแกรม. สร้างโปรแกรม.

Download Presentation

C PROGRAMMING

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. C PROGRAMMING Introduction to Programming

  2. Introduction to Programming Computer System - Hardware - Software - Peopleware

  3. Introduction to Programming ขอบเขตปัญหา จัดทำเอกสาร คู่มือประกอบ การพัฒนา โปรแกรม เก็บรวบรวมข้อมูล และวิเคราะห์ปัญหา ออกแบบโปรแกรม สร้างโปรแกรม ทดสอบ ติดตั้ง และบำรุงรักษาโปรแกรม

  4. The Programming Process • Algorithm Method or approach used to solve a problem. • Steps involved in solving a problem: • Studying the problem in detail. • Gathering the relevant information. • Processing the information. • Arriving at the results.

  5. Introduction to Programming การออกแบบโปรแกรม • อัลกอริทึม (Algorithm) คือลำดับขั้นตอนการทำงาน ซึ่งกำหนดการทำงานของคอมพิวเตอร์ • อัลกอริทึมจะถูกทำให้อยู่ในรูปแบบที่เรียกว่าโปรแกรม (Program) ด้วยการใช้เครื่องมือที่ใช้สร้างโปรแกรม

  6. Introduction to Programming ความสำคัญของอัลกอริทึม • ออกแบบอัลกอริทึม • เขียนโปรแกรมตามอัลกอริทึมที่ออกแบบ • ป้อนโปรแกรมเพื่อให้คอมพิวเตอร์ทำงานตามโปรแกรม • ผู้พัฒนาโปรแกรมให้ความสำคัญในเรื่องอัลกอริทึมมากกว่าการเขียนโปรแกรมและตัวเครื่องคอมพิวเตอร์ เนื่องจากอัลกอริทึมเป็นรากฐานที่สำคัญในการพัฒนาระบบงานคอมพิวเตอร์

  7. The Programming Process(Cont.) • Steps to check if a number is even or odd: • Read the number. • Divide the number by 2. • If the remainder of the division is zero, then the number is even. • Otherwise the number is odd.

  8. Introduction to Programming การออกแบบขั้นตอนการแก้ปัญหา • กำหนดการแก้ปัญหาในภาพรวม • กำหนดรายละเอียดของการแก้ปัญหา • เปลี่ยนให้อยู่ในรูปของอัลกอริทึม • ผังงาน (Flowchart) • คำสั่งหรือรหัสเทียม (Pseudocode)

  9. PseudoCode จำลองการเขียนโปรแกรม โดยคำสั่งที่ใช้จะไม่ขึ้นกับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง ทำให้การเขียนโปรแกรมง่ายขึ้น หลักเกณฑ์ในการเขียน Pseudo Code • ใช้ภาษาที่เข้าใจได้ง่าย ๆ • เขียนให้มีย่อหน้าเป็นบรรทัด • คำสั่งควรเป็นตัวพิมพ์ใหญ่ • ไม่จำเป็นต้องมีเครื่องหมายวรรคตอน

  10. ตัวอย่างการเขียนคำสั่งเทียมตัวอย่างการเขียนคำสั่งเทียม Begin Sum( ) result = 0, i = 0 Repeat Read num result = result + num i = i + 1 Until i = 10 Print sum End Sum

  11. Flowchart • Diagrammatic representation that illustrates the sequence of operations to be performed to arrive at a solution. • Serve the following purposes: • Easier to understand at a glance than a narrative description. • Programs can be reviewed and debugged easily. • Provide effective program documentation. • Explaining a program or discussing a solution is made easy.

  12. โฟลว์ชาร์ต (Flowchart) • เข้าใจและแยกแยะปัญหาได้ง่ายขึ้น • เห็นลำดับการทำงาน ทำก่อนหลัง • หาข้อผิดพลาดของโปรแกรมได้ง่าย • เข้าใจได้ง่ายกว่าดูจาก source code • ไม่ขึ้นกับภาษาใด เรียนรู้และเข้าใจง่าย

  13. Symbols Used in a Flowchart Start or end of the program Computational steps Input or output instructions Decision making and branching Connectors of two parts of a program Flow of the program n n

  14. Start Read two numbers Add them up Display the sum Stop Flowcharts(Cont.) • Flowchart to find the sum of two numbers

  15. รูปแบบการเขียนโปรแกรมรูปแบบการเขียนโปรแกรม • การเขียนโปรแกรมแบบเรียงลำดับ(Sequential Programming) • การเขียนโปรแกรมแบบเลือกทำ(Condition or Branching Programming) • การเขียนโปรแกรมแบบวนซ้ำหรือ loop(Repetitive or Iterative Programming)

  16. Sequential Programming • เป็นรูปแบบการเขียนโปรแกรมแบบเรียงลำดับ • คำสั่งจะถูกกำหนดให้ทำงานจากจุดเริ่มต้นไปที่ละคำสั่ง จนถึงคำสั่งสุดท้าย • แต่ละคำสั่งจะมีการทำงานเพียงครั้งเดียว และผ่านไปทำงานในคำสั่งถัดไป • ทุกคำสั่งในรูปแบบ Sequential จะถูกทำงานทั้งหมด

  17. Sequential Programming START READ WIDTH, LENGTH AREA = WIDTH*LENGTH DISPLAY AREA STOP

  18. Conditional or Branching Programming • Process of following one of two or more alternate paths of computations. • เป็นการกำหนดทางเลือกหรือชุดคำสั่งที่เตรียมไว้ในโปรแกรม อาจมีทางเลือก 1 , 2 , 3 , . . . หรือมากกว่า • การเลือกว่าชุดคำสั่งใดจะถูกทำงาน ขึ้นอยู่กับการตรวจสอบเงื่อนไขที่กำหนดไว้ • ผลลัพธ์จากการตรวจสอบเงื่อนไข จะมีเพียง 1 ทางเลือกหรือเพียง 1 ชุดคำสั่งเท่านั้นที่จะถูกทำงาน หรืออาจไม่มีชุดคำสั่งใดถูกทำงานเลยก็ได้

  19. Compute Compute ? ? (i) (ii) Compute General Form of Flowcharts Involved in Conditional or Branching Programming

  20. General Form of Flowcharts Involved in Conditional or Branching Programming Cond 1 Cond 2 Cond 3 Cond n Statement1 Statement2 statement3 Statement n Statement n+1

  21. CONDITIONAL PROGRAMMING START READ SCORE SCORE >= 50 NO or FALSE YES or TRUE DISPLAY “PASS” DISPLAY “FAIL” STOP

  22. CONDITIONAL PROGRAMMING START READ N1, N2, N3 N1 > N2 NO YES YES N1 > N3 N2 > N3 YES NO NO DISPLAY MAX = N1 DISPLAY MAX = N3 DISPLAY MAX = N2 STOP

  23. CONDITIONAL PROGRAMMING Start A program to find if the number is odd or even. Read a number Divide it by 2 Yes No remainder=0? Display Odd Display Even Stop

  24. CONDITIONAL PROGRAMMING in C • Conditional or Branching statement • If… statement • If…else… statement • If…else if…else statement • Switch…case… statement

  25. Assignment on Conditional Programming • ออกแบบโปรแกรมในการคิดค่าคะแนน และตัดเกรด โดยมีข้อกำหนดดังนี้ • รับคะแนนสอบ 3 ครั้ง แต่ละครั้งคะแนนเต็ม 100 คะแนน • หาค่าคะแนนเฉลี่ย • ตรวจสอบค่าคะแนนเฉลี่ย จากตาราง • แสดงค่าคะแนน และเกรด

  26. Basic Flowchart for Repetitive programming ? No Yes Compute

  27. START I = 1 , SUM = 0 READ NUM I <= 10 NO YES I = I + 1 SUM = SUM+NUM DISPLAY SUM STOP REPETITIVE PROGRAMMING คำนวณหาค่าผลรวมของตัวเลข 10 จำนวน

  28. REPETITIVE PROGRAMMING Start To calculate the sum of monthly expenditure for an entire year. tot_exp = 0, no_mon = 1 Read exp Add to tot_exp no_mon=no_mon+1 Yes no_mon<=12 No exp = expense tot_exp = total expense no_mon = number of month Display tot_exp Stop

  29. REPETITIVE PROGRAMMING Start Given the information such as name and age and to maintain a list of people aged above 50. Read name, age age > 50 ? No Yes Add details of the person to list Continue ? Yes No Stop

  30. REPETITIVE PROGRAMMING • Refers to the repeated use of one or more steps. • Types • Fixed • Variable

  31. REPETITIVE PROGRAMMING • Fixed • Repeat operations for a fixed number of times. • Values being computed or handled inside the loop have no effect on the number of times the looping operation is done. • Variable • Repeat operations until a specified condition is met. • Number of times the loop is repeated may vary.

  32. REPETITIVE PROGRAMMING in C • Looping Statements • for… statement • while… statement • do…while… statement

  33. Assignment on Repetitive Programming • ออกแบบโปรแกรมเพื่อรับค่าตัวเลขจากผู้ใช้แบบไม่จำกัดจำนวน เพื่อคำนวณหาค่าผลรวมและค่าเฉลี่ย หากค่าตัวเลขที่ผู้ใช้ป้อนเข้ามาเท่ากับ 0 ให้ทำการคำนวณและแสดงผลลัพธ์ที่ได้ออกจอภาพ

  34. จุดเชื่อมต่อ (Connectors) • In preparing flowcharts for complex problems • The flowchart may not fit in a single page • It may be difficult to interconnect all boxes directly • Flowcharts can bebroken into parts. • Connectors can be used to indicate the location of joins.

  35. Connectors(contd.) • A unique number is specified within the connector . • An arrow is drawn into it at the point where the chart is broken.

  36. Start Read a, b, c Yes No a>b 1 2 Connectors(Cont.) • 1 and 2 here are the connector symbols. 1 2 Yes No No Yes a>c c>b Display a Display c Display b Stop

  37. หลักในการเขียนผังงาน • ใช้สัญลักษณ์ที่มีรูปแบบเป็นมาตรฐานและขนาดเหมาะสม • ทำหัวลูกศรกำกับทิศทาง • ใช้ข้อความที่เข้าใจง่าย สั้นและชัดเจน • เกิดจุดตัดน้อยที่สุด หรือใช้ “ตัวเชื่อม" • ควรเขียนผังงานให้จบภายในหน้าเดียว • เป็นระเบียบ ชัดเจน ติดตามขั้นตอนง่าย • จุดเริ่มต้นและสิ้นสุดมีเพียงจุดเดียว

  38. Tips for Flowcharting • Points to be remembered while drawing a flowchart: • Initially concentrate on the logic of the problem and draw the main-path of the flowchart. • After the main part is completed, add all the branches and loops. • A flowchart can have only one Start point and one Stop point.

  39. Tips for Flowcharting(Cont.) • As far as possible, keep the flowchart machine independent by not using terms associated with the computer. • It is not necessary to represent each and every step of a program in the flowchart. • Use descriptive terms that aptly represent the logic of a problem.

  40. Tips for Flowcharting(Cont.) • Do not use ambiguous terms. • Remember that another user or programmer should easily understand the flowchart.

  41. Dry Run • Tests an algorithm manually for its correctness. • Consists of a table with columns for each variable used in the algorithm • Every one step in the algorithm updates the value of each variable in the table. • The success depends upon the ability to step through the instructions exactly as the computer would execute them.

  42. Dry Run (cont.) • An Example: Step 1Start Step 2X=10 Step 3Y=5 Step 4M=0 Step 5M=X+Y+(X*Y) Step 6Y=Y+4 Step 7M=M+Y Step 8Display X,Y,M Step 9End

  43. Dry Run Table

More Related