1 / 27

บทที่ 1

บทที่ 1. ผังงานโปรแกรม (Program Flowchart). ผังงานโปรแกรม (Program Flowchart). ขั้นตอนการพัฒนาโปรแกรม การวิเคราะห์ปัญหา การเขียนผังงาน ผังงานแบบลำดับ ผังงานแบบเงื่อนไข ผังงานแบบวนซ้ำ. Problem กำหนดปัญหา. Analysis วิเคราะห์ปัญหา. Flowchart เขียนผังงาน. Testing ทดสอบโปรแกรม.

giona
Télécharger la présentation

บทที่ 1

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. บทที่1 ผังงานโปรแกรม (Program Flowchart)

  2. ผังงานโปรแกรม (Program Flowchart) • ขั้นตอนการพัฒนาโปรแกรม • การวิเคราะห์ปัญหา • การเขียนผังงาน • ผังงานแบบลำดับ • ผังงานแบบเงื่อนไข • ผังงานแบบวนซ้ำ

  3. Problem กำหนดปัญหา Analysis วิเคราะห์ปัญหา Flowchart เขียนผังงาน Testing ทดสอบโปรแกรม Program เขียนโปรแกรม Input ข้อมูล Output ผลลัพธ์ 1.1 ขั้นตอนพัฒนาโปรแกรม • การพัฒนาโปรแกรม 5 ขั้นตอน • 1. กำหนดปัญหา • 2. วิเคราะห์ปัญหา • 3. เขียนผังงาน • 4. เขียนโปรแกรม • 5. ทดสอบโปรแกรม ปัญหาคืออะไร?คำตอบ ที่ต้องการคืออะไร

  4. 1.2 วิเคราะห์ปัญหา • วิเคราะห์ปัญหา(Problem Analysis): 3 ขั้นตอน • การรับข้อมูล (Input Data) • การคำนวณ (Process) • การแสดงผลลัพธ์ (Output Result) • ข้อมูล input และ Output ในโปรแกรมจะต้องเก็บใน Memory • ผ่านตัวแปร (Variables) • เช่น X, Y, …

  5. Memory … X Y Sum ตัวอย่าง 1.1 • การวิเคราะห์ปัญหาการคำนวณผลบวก ที่คล้ายการทำงานของเครื่องคิดเลขอย่างง่าย • ตัวแปร X, Y สำหรับเก็บค่าของเลข 2 ค่า • ตัวแปร Sum สำหรับเก็บผลลัพธ์ • การวิเคราะห์ปัญหา • 1. Input: รับค่า X, Y • 2. Process: คำนวณ Sum = X + Y • 3. Output: พิมพ์ค่า Sum

  6. Memory … X1 X2 X3 Sum Mean ตัวอย่าง 1.2 • การวิเคราะห์ปัญหา การคำนวณค่าเฉลี่ยของเลข 3ค่า และแสดงค่าเฉลี่ย ทางจอภาพ • ตัวแปร X1, X2, X3 สำหรับเก็บค่าของเลข 3 ค่า • ตัวแปร Sum สำหรับเก็บผลบวก • ตัวแปร Mean สำหรับเก็บค่าเฉลี่ย • การวิเคราะห์ปัญหา • 1. Input: รับค่า X1, X2, X3 • 2. Process:Sum = X1 + X2 + X3 • Mean = Sum/3 • 3. Output: พิมพ์ค่า Mean

  7. Memory … X N Sum Mean ตัวอย่าง 1.3 • การวิเคราะห์ปัญหา การคำนวณค่าเฉลี่ยของเลข N ค่า เมื่อ ค่าเฉลี่ย = åiN Xi / N) • ตัวแปร N สำหรับเก็บจำนวนค่า • ตัวแปร X สำหรับเก็บค่าของเลข N ค่า (เป็นข้อมูลเข้าในแต่ละรอบ) • ตัวแปร Sum สำหรับเก็บผลบวก (แบบสะสมในแต่ละรอบ) • ตัวแปร Mean สำหรับเก็บค่าเฉลี่ย • การวิเคราะห์ปัญหา • 1. Input: รับค่า N (1 ค่า) และค่า X (N ค่า) โดยรับรอบละค่า • 2. Process:ในแต่ละรอบ (i=1, 2, … , N) • รับค่า X • คำนวณ Sum = Sum + X • จบการทำงานซ้ำ (เมื่อทำซ้ำครบ N รอบ) • คำนวณ Mean = Sum/N • 3. Output: พิมพ์ค่า Mean

  8. 1.3การเขียนผังงาน • ผังงาน (Flowchart) เป็นแผนภาพ ที่ใช้อธิบายขั้นตอนและลำดับการทำงานของโปรแกรมตั้งแต่เริ่มจนจบ • สัญลักษณ์พื้นฐาน ทีใช้ในผังงาน แสดงจุดเริ่มต้น หรือจุดจบของผังงาน แสดงทิศทางของการดำเนินงาน แสดงการคำนวณ  แสดงการรับข้อมูล หรือแสดงผล (ไม่ระบุชนิดอุปกรณ์) การแสดงผลทางจอภาพ การแสดงผลทางเครื่องพิมพ์ แสดงการทดสอบเงื่อนไข (เมื่อมีทางเลือก) แสดงจุดเชื่อมต่อในผังงาน

  9. รูปแบบของผังงาน • ผังงานแบบลำดับ • ผังงานแบบเงื่อนไข • ผังงานแบบวนซ้ำ

  10. Input Process Output end 1.3.1 ผังงานแบบลำดับ • Flowchart แบบลำดับ(Sequence) start แสดงขั้นตอนการทำงานที่ทำงานตามลำดับ (จากบนลงล่าง) ไม่มีการข้ามขั้น หรือย้อนกลับ)

  11. InputX,Y Memory … X Y Sum = X+Y Sum Print Sum end ตัวอย่าง 1.4 • แสดง Flowchart ของการหาผลบวก (Sum) ของ ข้อมูล 2 ค่า (X,Y) พร้อมแสดงผลบวก start 50 100 150

  12. check condition yes 1.3.2 ผังงานแบบเงื่อนไข • แสดงการทำงานตามเงื่อนไข ที่จะต้องเลือกทำอย่างใดอย่างหนึ่ง ซึ่งมี 3 กรณี คือ เลือกจาก 1, 2, หรือ n 1. เงื่อนไขทางเลือกจาก 1 เส้นทาง จะทำงาน (Statement) เมื่อเงื่อนไขเป็นจริงเท่านั้น Statement(s) no

  13. Input ID,X X >= 60 Memory … X PrintID,X yes end ตัวอย่าง 1.5 • แสดง Flowchart เพื่อตรวจสอบเงื่อนไขเพื่อคัดเลือกที่สอบผ่าน (คะแนน X³60 ) และแสดงผลเฉพาะผู้ที่สอบผ่าน start no

  14. check condition yes no statement 1 statement2 ผังงาน-เงื่อนไข 2. เงื่อนไขทางเลือกจาก 2 เส้นทาง เมื่อเงื่อนไขเป็นจริงจะทำ (Statement 1) เมื่อเงื่อนไขเป็นเท็จจะทำ (Statement 2)

  15. ตัวอย่าง 1.6 แสดง Flowchart เพื่อแบ่งนักศึกษาเป็น 2 กลุ่ม ตามเพศ คือ ชาย (Male) หรือหญิง (Female) Input ID, Name,Gender Gender=‘M’ Print “Male” no yes Print “Female” end start

  16. statement1 yes no statement2 yes no condn-1 cond3 cond1 cond2 statement3 yes no statement n-1 statement n yes no ผังงาน-เงื่อนไข 3. เงื่อนไขทางเลือกจาก n เส้นทาง เมื่อเงื่อนไข 1 เป็นจริงจะทำคำสั่ง 1 (statement1) ถ้าไม่แต่เงื่อนไข 2 เป็นจริงจะทำคำสั่ง 2 (statement2) . . . ถ้าไม่แต่เงื่อนไข n-1 เป็นจริงจะทำคำสั่ง n-1 (statement n-1) ถ้าไม่จะทำคำสั่งสุดท้าย คือ n (statement n)

  17. Grade = ‘D’ Grade = ‘C’ Grade = ‘A’ Grade = ‘B’ yes yes yes yes Memory no Name Input ID Name,X X ³ 60 X ³ 50 X ³ 80 X ³ 70 . . . … no เงื่อนไข >>> no X ID … คะแนน 80-100 เกรด A คะแนน 70-79 เกรด B คะแนน 60-69 เกรด C คะแนน 50-59 เกรด D คะแนน < 50 เกรด F Grade = ‘F’ Grade no Print Grade end start ตัวอย่าง 1.7 • แสดง Flowchart เพื่อตัดเกรดตามคะแนน พร้อมแสดงผลทางลัพธ์

  18. check condition exit loop no yes statement(s) 1.3.3 ผังงานแบบวนซ้ำ • การทำซ้ำ (Looping) แบ่งเป็น 3 กรณี while, do-while, for • 1. การทำซ้ำที่มีเงื่อนไขแบบ while ตรวจสอบเงื่อนไขก่อน จะทำงาน (Statement) ซ้ำเมื่อเงื่อนไขเป็นจริง (ออกจากทำซ้ำเมื่อเงื่อนไขเป็นเท็จ)

  19. 1 1 1 I = 1 whileI<=100 no yes I = I+1 end ตัวแปร ในการทำซ้ำ • การทำซ้ำ (ขั้นพื้นฐาน)ที่นิยม คือ กำหนดตัวแปรเก็บค่าเลขนับ (เช่น I= 1, 2, 3, … , 100) เพื่อควบคุมรอบการทำซ้ำ • กำหนดค่าI = 1, 2, 3, ..., 99, 100 100 1 start 3 คำสั่งในการทำซ้ำ ค่าเริ่มต้น I=1 ค่าสุดท้าย I=100 PrintI ค่าเพิ่ม I=I+1

  20. I = 1 Memory … I no SUM whileI<100 Print SUM yes end ตัวอย่าง 1.8 • แสดง Flowchart เพื่อคำนวณ ผลบวกของเลขนับ 1+2+...+100 (ด้วยคำสั่ง while) • กำหนดค่าI= 1, 2, 3, ..., 100 คำนวณ SUM = 1+2+3+...+100 start 3 คำสั่งในการทำซ้ำ ค่าเริ่มต้น I=1 SUM = 0 ค่าสุดท้าย I=100 ค่าเพิ่ม I=I+1 ค่า SUMเริ่มต้น SUM=0 SUM = SUM+I ค่า SUMเพิ่ม SUM+I I = I+1

  21. statement(s) check condition exit loop no yes ผังงาน-ทำซ้ำ 2. การทำซ้ำที่มีเงื่อนไขแบบ do-while ทำงาน (Statement) ก่อน จึงทำการตรวจเงื่อนไข และทำซ้ำถ้าเงื่อนไขเป็นจริง (จนกระทั่งเงื่อนไขเป็นเท็จจึงออกจากทำงานซ้ำ)

  22. ตัวอย่าง 1.9 แสดง Flowchartเพื่อคำนวณ ผลบวกของเลขนับ 1+2+...+100 (ด้วยคำสั่ง do-while) กำหนดค่าI= 1, 2, 3, ..., 100 I = 1 Memory … I SUM PrintSUM whileI<100 no end yes คำนวณ SUM = 1+2+3+...+100 start 3 คำสั่งในการทำซ้ำ ค่าเริ่มต้น I=1 SUM = 0 ค่าสุดท้าย I=100 SUM = SUM+I ค่าเพิ่ม I=I+1 I = I+1 ค่า SUMเริ่มต้น SUM=0 ค่า SUMเพิ่ม SUM+I 22

  23. fori=1 to N exit loop i > N i £ N statement(s) ผังงาน-ทำซ้ำ 3. การทำซ้ำตามจำนวนที่ระบุ ทำงานตามรอบที่กำหนด โดยเริ่มจากรอบเริ่มต้น (i=1) ไปยังรอบสุดท้าย (i=N) (แต่ละรอบปกติจะเพิ่มทีละ 1 ค่า (i = i+1)) (ออกจากทำงานซ้ำเมื่อ i > N)

  24. SUM = 0 Memory … I no SUM forI=1 to100 PrintSUM yes end ตัวอย่าง 1.10 • แสดง Flowchartเพื่อคำนวณ ผลบวกของเลขนับ1+2+...+100 (ด้วยคำสั่ง for) • กำหนดให้I= 1, 2, 3, ..., 100 คำนวณSUM = 1+2+3+...+100 start 3 ค่าในการทำซ้ำ ค่าเริ่มต้น I=1 ค่าสุดท้าย I=100 ค่าเพิ่ม I=I+1 SUM = SUM+I กำหนดใน forเดียว

  25. MUL = 1 3 ค่าในการทำซ้ำ Memory … I ค่าเริ่มต้น I=1 no MUL ค่าสุดท้าย I=10 forI=1 to10 ค่าเพิ่ม I=I+1 PrintMUL yes กำหนดใน forเดียว end ตัวอย่าง 1.11 • แสดง Flowchartเพื่อคำนวณ ผลคูณ 1x2x...x10 • กำหนดให้I= 1, 2, 3, ..., 10 คำนวณ MUL = 1x2x3x...x10 start MUL = MUL x I

  26. Input T Memory … T i i > 12 R i <=12 R=Txi PrintT, i, R end ตัวอย่าง 1.12 • แสดง Flowchartเพื่อคำนวณ สูตรคูณแม่ T (เช่น T=2) • กำหนดi=1, 2, …, 12, และ R = Txi start Txi=R 2x 1 = 2 2x 2 = 4 2x 3 = 6 2x 4 = 8 2x 5 = 10 2x 6 = 12 2x 7 = 14 2x 8 = 16 2x 9 = 18 2x10 = 20 2x11 = 22 2x12 = 24 fori=1to12

  27. Sum=0 InputX InputN Memory … N X i > N fori=1 to N Sum=Sum+X Mean=Sum/N Mean Sum i £ N PrintMean end ตัวอย่าง 1.13 • แสดง Flowchartเพื่อคำนวณค่าเฉลี่ยของข้อมูล Nค่า ข้อมูลแต่ละค่าเก็บในXรอบละค่า (X1, X2, ..., XN) เมื่อ ค่าเฉลี่ย(åiNXi/N) start Sum = 0 N = _ 5 60 x1 = _ 60 x2 = _ 50 110 x3 = _ 25 135 x4 = _ 30 165 x5 = _ 80 245 Mean= 245/5 =49

More Related