1 / 41

หลักการ โปรแกรม 1

หลักการ โปรแกรม 1. Lecture 2: การวิเคราะห์ปัญหา, ตัวแปรอย่างง่าย, การรับข้อมูลเข้า, การคำนวณและแสดงผลลัพธ์. ภาษาคอมพิวเตอร์และการพัฒนาโปรแกรม. กำหนดและวิเคราะห์ปัญหา (Problem Definition and Problem Analysis) เขียนผังงานและซูโดโค้ด (Pseudocoding) เขียนโปรแกรม (Programming)

velvet
Download Presentation

หลักการ โปรแกรม 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 Lecture 2: การวิเคราะห์ปัญหา, ตัวแปรอย่างง่าย, การรับข้อมูลเข้า, การคำนวณและแสดงผลลัพธ์

  2. ภาษาคอมพิวเตอร์และการพัฒนาโปรแกรมภาษาคอมพิวเตอร์และการพัฒนาโปรแกรม • กำหนดและวิเคราะห์ปัญหา (Problem Definition and Problem Analysis) • เขียนผังงานและซูโดโค้ด (Pseudocoding) • เขียนโปรแกรม (Programming) • ทดสอบและแก้ไขโปรแกรม (Program Testing and Debugging) • ทำเอกสารและบำรุงรักษาโปรแกรม (Program Documentation and Maintenance)

  3. การกำหนดและวิเคราะห์ปัญหาการกำหนดและวิเคราะห์ปัญหา • กำหนดขอบเขตของปัญหา • กำหนดลักษณะของข้อมูลเข้าและออกจากระบบ (Input/Output Specification) • กำหนดวิธีการประมวลผล (Process Specification)

  4. ตัวอย่าง ถ้าหากต้องการออกแบบโปรแกรมให้คอมพิวเตอร์รับค่าข้อมูล 3 ค่า และแสดงค่าเฉลี่ยทางจอภาพ เราอาจกำหนดและวิเคราะห์ปัญหาได้ดังนี้ 1. รับข้อมูลจากคีย์บอร์ด • รับข้อมูลเฉพาะที่เป็นตัวเลขมาเก็บในตัวแปร • ถ้าข้อมูลเท่ากับ 0 ให้รับใหม่

  5. ตัวอย่าง (ต่อ) 2. หาค่าเฉลี่ย • รวมค่าทุกค่าที่รับมาเข้าด้วยกัน • นำค่าผลรวมที่ได้หารด้วย 3 • นำค่าผลลัพธ์ไปเก็บในตัวแปร 3. แสดงผลลัพธ์ทางจอภาพ • แสดงคำว่าค่าเฉลี่ยเท่ากับ • แสดงผลลัพธ์โดยมีทศนิยมสองตำแหน่ง

  6. ขั้นตอนการทำงาน ข้อมูลเข้า การประมวลผล ข้อมูลออก (input) (process) (output) รับข้อมูลตัวที่ 1 รับข้อมูลตัวที่ 2 รับข้อมูลตัวที่ 3 หาผลรวมของเลขทั้ง 3 จำนวน นำผลรวมหารด้วย 3 แสดงค่าเฉลี่ยเป็นทศนิยม 2 ตำแหน่ง

  7. การเขียนผังงานและซูโดโค้ดการเขียนผังงานและซูโดโค้ด หลังจากที่ได้วิเคราะห์ปัญหาแล้ว ขั้นตอนต่อไปจะใช้เครื่องมือช่วยในการออกแบบโปรแกรม โดยเขียนเป็นลำดับขั้นตอนการทำงานของโปรแกรมที่เรียกว่าอัลกอริทึม (Algorithm) โดยจะเขียนแสดงขั้นตอนการแก้ปัญหา ด้วยประโยคที่ชัดเจนไม่คลุมเครือ และมีรายละเอียดการทำงานพอสมควรเพียงพอที่จะนำไปเขียนเป็นโปรแกรมให้ทำงานจริง โดยอัลกอริทึมนั้นอาจเขียนให้อยู่ในรูปของรหัสจำลองหรือซูโดโค้ด (Pseudo-code) หรือเขียนเป็นผังงาน (Flowchart) ก็ได้

  8. START sum = 1 print sum sum = sum + 1 T sum <= 5 F STOP ซูโดโคด หมายถึงการแทนขั้นตอนวิธีการทำงานโดยใช้คำในภาษาอังกฤษ มาเรียงต่อกันเพื่ออธิบายวิธีการทำงานแล้วได้ความหมายเป็นขั้นตอนการทำงานที่ต้องการ ผังงาน หมายถึงการแทนขั้นตอนวิธีการทำงานโดยใช้สัญลักษณ์แทนความหมายของการทำงานบางอย่าง และมีเส้นลูกศรแสดงลำดับ หรือทิศทางการทำงาน Procedure PRTone2five sum =1 do print sum sum = sum + 1 while sum <= 5 end

  9. กระบวนการแก้ปัญหาด้วยคอมพิวเตอร์กระบวนการแก้ปัญหาด้วยคอมพิวเตอร์ วิเคราะห์ปัญหา • ต้องการอะไร • ต้องการเอาต์พุตอย่างไร • ข้อมูลเข้าเป็นอย่างไร • ตัวแปรที่ใช้ • วิธีการประมวลผลเป็นอย่างไร

  10. การเขียนผังงาน ผังงานเป็นแผนภาพที่แสดงลำดับขั้นตอนในการทำงานของโปรแกรม โดยมีการลงรายละเอียด ใส่วิธีการ และจัดลำดับขั้นตอนของโปรแกรม ตั้งแต่เริ่มต้นจากการรับข้อมูล การประมวลผล ไปจนถึงการแสดงผลลัพธ์การทำงาน

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

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

  13. ตัวอย่างการเขียนผังงานตัวอย่างการเขียนผังงาน สัญลักษณ์ของการรับค่า สัญลักษณ์ของการคำนวณ

  14. F F T T condition condition stmt T stmt F ผังงานแบบทางเลือก เป็นการทำงานที่ต้องมีการตัดสินใจ เพื่อเลือกการทำงาน โดยใช้สัญลักษณ์การเปรียบเทียบ

  15. Pretest เพราะ ทดสอบก่อนทำงาน ภายในลูป F condition T stmt R1 stmt R2 ผังงานแบบวนซ้ำ (while-do)

  16. stmt R1 Posttest เพราะทำงานก่อน แล้วจึงทดสอบ stmt R2 F condition T ผังงานแบบวนซ้ำ (do-while)

  17. ตัวอย่าง ตัวอย่าง จงเขียนผังงานเพื่อกำหนดค่าให้กับตัวแปร a และ b แล้วเปรียบเทียบเพื่อแสดงผล ถ้าตัวแปร a มีค่ามากกว่าตัวแปร b ให้พิมพ์ค่าตัวแปร a ออกมาแสดงบนจอภาพ ถ้าไม่ใช่ ให้พิมพ์ค่าตัวแปร b ออกมาแสดงบนจอภาพ

  18. a = 10 b = 5 F T a > b print “B = “, b print “A = “, a STOP START

  19. ตัวอย่าง จงเขียนผังงานในการจับไม้สั้นไม้ยาวสามครั้ง ถ้าได้ไม้ยาวให้ได้เงิน 100 บาท ถ้าได้ไม้สั้นให้เสียเงิน 100 บาท

  20. ซูโดโค้ด ซูโดโค้ดเป็นคำอธิบายขั้นตอนการทำงานของโปรแกรมโดยใช้ถ้อยคำผสมระหว่างภาษาอังกฤษและภาษาการเขียนโปรแกรมแบบโครงสร้างที่เข้าใจง่ายมาแสดงลำดับการทำงานของโปรแกรม หรืออาจใช้ภาษาไทยก็ได้ โดยให้ผู้เขียนโปรแกรมสามารถพัฒนาขั้นตอนต่าง ๆ ให้เป็นโปรแกรมได้ง่ายขึ้น

  21. ตัวอย่างเช่นในการเขียนซูโดโค้ดสำหรับให้คอมพิวเตอร์หาค่าเฉลี่ยจากข้อมูลที่รับเข้าทางแป้นพิมพ์อาจเขียนได้ดังนี้ตัวอย่างเช่นในการเขียนซูโดโค้ดสำหรับให้คอมพิวเตอร์หาค่าเฉลี่ยจากข้อมูลที่รับเข้าทางแป้นพิมพ์อาจเขียนได้ดังนี้

  22. การวิเคราะห์ปัญหา ตัวอย่างที่ 1 จงเขียนแนวทางการแก้ปัญหาด้วยคอมพิวเตอร์ สำหรับให้คอมพิวเตอร์คำนวณหาค่าจ้างพนักงานเป็นรายชั่วโมง จากนั้นแสดงค่าจ้างที่คำนวณได้

  23. ตัวอย่างการวิเคราะห์ วิธีทำ ต้องการอะไร ต้องการทราบค่าจ้างของพนักงานแต่ละคน ต้องการเอาต์พุตอย่างไร ต้องการเอาต์พุตเป็นค่าจ้างสุทธิของพนักงานทางจอภาพ

  24. ตัวอย่างการวิเคราะห์ ข้อมูลเข้า • รหัสพนักงาน • ชื่อพนักงาน • จำนวนชั่วโมงทำงานเก็บในตัวแปรชื่อ Hours • ค่าจ้างรายชั่วโมงเก็บในตัวแปรชื่อ PayRate

  25. ตัวอย่างการวิเคราะห์ กำหนดวิธีการคำนวณ ค่าจ้างสุทธิ = จำนวนชั่วโมง x อัตราต่อชั่วโมง ขั้นตอนการประมวลผล 1. เริ่มต้น 2. รับรหัสพนักงาน, ชื่อพนักงาน, จำนวนชั่วโมงทำงาน, ค่าจ้างรายชั่วโมง 3. คำนวณ ค่าจ้างสุทธิ = Hours x PayRate 4. แสดงผลลัพธ์ เป็นรหัสพนักงาน ชื่อ และค่าจ้างสุทธิ 5. จบการทำงาน

  26. ตัวอย่างที่ 2 จงเขียนแนวทางการแก้ปัญหาด้วยคอมพิวเตอร์ในการหาปริมาตรทรงกระบอก และแสดงค่าปริมาตรที่คำนวณได้ ต้องการอะไร ต้องการคำนวณปริมาตรของรูปทรงกระบอก ต้องการเอาต์พุตอย่างไร ค่าปริมาตรทรงกระบอกเป็นรูปแบบเลขทศนิยมทางจอภาพ

  27. การวิเคราะห์ปัญหา ข้อมูลเข้า ความสูงของทรงกระบอก (h) และรัศมีของทรงกระบอก(r) เป็นรูปแบบเลขทศนิยม วิธีการคำนวณ ปริมาตรทรงกระบอก =  x รัศมี2 x ความสูง ขั้นตอนการประมวลผล 1. เริ่มต้น 2. รับค่าความสูงและค่ารัศมีของทรงกระบอก 3. คำนวณค่าปริมาตร จาก ปริมาตร =  x r2 x h 4. แสดงค่าปริมาตรทรงกระบอกทางจอภาพ 5. จบการทำงาน

  28. การเขียนโปรแกรม เปลี่ยนขั้นตอนการทำงานให้อยู่ในรูปรหัสภาษาคอมพิวเตอร์ การเขียนโปรแกรมจะต้องเขียนตามภาษาที่คอมพิวเตอร์เข้าใจโดยอาจใช้ภาษาระดับสูง หรือระดับต่ำซึ่งสามารถเลือกได้หลายภาษา การเขียนโปรแกรมแต่ละภาษาจะต้องทำตามหลักไวยากรณ์ (syntax) ที่กำหนดไว้ในภาษานั้น

  29. โปรแกรมหาปริมาตรทรงกระบอกโปรแกรมหาปริมาตรทรงกระบอก #include <stdio.h> #include <conio.h> main() { getch(); } ?

  30. โปรแกรมหาปริมาตรทรงกระบอกโปรแกรมหาปริมาตรทรงกระบอก #include <stdio.h> #include <conio.h> main() { intHeight,Radius; floatArea; getch(); } กำหนดตัวแปร ความสูงของทรงกระบอก (h) และรัศมีของทรงกระบอก (r) เป็น ผลลัพธ์ รูปแบบเลขทศนิยม

  31. โปรแกรมหาปริมาตรทรงกระบอกโปรแกรมหาปริมาตรทรงกระบอก รับค่า ความสูงของทรงกระบอก (h) และรัศมีของทรงกระบอก (r) เป็นรูปแบบเลขจำนวนเต็ม #include <stdio.h> #include <conio.h> main() { intHeight,Radius; floatArea; printf("Please Enter Height :"); scanf("%d",&Height); printf("Please Enter Radius :"); scanf("%d",&Radius); getch(); }

  32. คำสั่ง scanf() ใช้ในการรับค่าจากผู้ใช้มาเก็บไว้ที่ตัวแปร Heightและ Radiusตามลำดับโดยที่ผู้ใช้ต้องป้อนค่าแรก แล้ว enter จากนั้นป้อนค่าที่สอง 2 แล้วกด enter อีกครั้งหนึ่ง โปรแกรมหาปริมาตรทรงกระบอก #include <stdio.h> #include <conio.h> main() { intHeight,Radius; float Area; printf("Please Enter Height :"); scanf("%d",&Height); printf("Please Enter Radius :"); scanf("%d",&Radius); getch(); }

  33. โปรแกรมหาปริมาตรทรงกระบอกโปรแกรมหาปริมาตรทรงกระบอก #include <stdio.h> #include <conio.h> main() { intHeight,Radius; float Area; printf("Please Enter Height :"); scanf("%d",&Height); printf("Please Enter Radius :"); scanf("%d",&Radius); Area=3.14*(Radius*Radius)*Height; getch(); } วิธีการคำนวณ ปริมาตรทรงกระบอก =  x รัศมี2 x ความสูง

  34. โปรแกรมหาปริมาตรทรงกระบอกโปรแกรมหาปริมาตรทรงกระบอก #include <stdio.h> #include <conio.h> main() { intHeight,Radius; float Area; printf("Please Enter Height :"); scanf("%d",&Height); printf("Please Enter Radius :"); scanf("%d",&Radius); Area=3.14*(Radius*Radius)*Height; printf("Area = %f",Area); getch(); } แสดงผลลัพธ์ออกทางหน้าจอ

  35. โปรแกรมหาปริมาตรทรงกระบอก (แสดงผลเป็นทศนิยม 2 ตำแหน่ง) #include <stdio.h> #include <conio.h> main() { intHeight,Radius; float Area; printf("Please Enter Height :"); scanf("%d",&Height); printf("Please Enter Radius :"); scanf("%d",&Radius); Area=3.14*(Radius*Radius)*Height; printf("Area = %.2f",Area); getch(); } กำหนดรูปแบบการแสดงผลลัพธ์เป็นทศนิยม 2 ตำแหน่งออกทางหน้าจอ

  36. โปรแกรมพิมพ์ข้อมูลนักเรียนโปรแกรมพิมพ์ข้อมูลนักเรียน #include <iostream> using namespace std; int main() { getch(); } ให้เขียนโปรแกรมเพื่อรับชื่อและกลุ่มวิชาโปรแกรมมิ่งของนักเรียน จากนั้นให้แสดงข้อความดังตัวอย่างต่อไปนี้ Hello, Susan (3401) (จากตัวอย่าง Susan คือชื่อนักเรียน และ 3401 คือกลุ่ม)

  37. โปรแกรมพิมพ์ข้อมูลนักเรียนโปรแกรมพิมพ์ข้อมูลนักเรียน #include <iostream> using namespace std; int main() { string name; int group; cin >> name; cin >> group; return 0; } รับชื่อและกลุ่มวิชาโปรแกรมมิ่ง

  38. โปรแกรมพิมพ์ข้อมูลนักเรียนโปรแกรมพิมพ์ข้อมูลนักเรียน #include <iostream> using namespace std; int main() { string name; int group; cin >> name; cin >> group; cout << “Hello, ” << name << “ (” << group << “)” << endl; return 0; } แสดงผลลัพธ์ออกทางหน้าจอ

  39. แบบฝึกหัด

  40. ลองเขียนโปรแกรมต่อไปนี้ลองเขียนโปรแกรมต่อไปนี้ • โปรแกรมสำหรับคำนวณพื้นที่สามเหลี่ยม • โปรแกรมสำหรับคำนวณความยาวรอบรูปของวงกลม • โปรแกรมสำหรับเปลี่ยนหน่วยเมตรเป็นเซนติเมตร • www.krurock.com

More Related