หลักการเขียนโปรแกรม

23,993 views

Published on

7 Comments
11 Likes
Statistics
Notes
No Downloads
Views
Total views
23,993
On SlideShare
0
From Embeds
0
Number of Embeds
229
Actions
Shares
0
Downloads
502
Comments
7
Likes
11
Embeds 0
No embeds

No notes for slide

หลักการเขียนโปรแกรม

  1. 1. โปรแกรม
  2. 2. ความหมายของโปรแกรม โปรแกรม หมายถึง ชุดของคาสั่งที่ใช้สาหรับสั่งให้เครื่องคอมพิวเตอร์ทางาน เพื่อให้ได้ผลลัพธ์ตามที่ต้องการ โดยจะใช้การเขียนด้วยภาษาใดภาษาหนึ่ง เช่น BASIC C PascalAssemble เป็นต้น
  3. 3. ภาษาคอมพิวเตอร์ คอมพิวเตอร์จะสามารถทางานได้จะต้องมีการเขียนโปรแกรมหรือซอร์ฟแวร์ เพื่อสั่งให้คอมพิวเตอร์ทางาน โปรแกรมต่าง ๆ ที่เขียนจะต้องเขียนไปตามกฎเกณฑ์ของภาษาที่คอมพิวเตอร์เข้าใจ เรียกว่า ภาษาคอมพิวเตอร์
  4. 4. ระดับของภาษาคอมพิวเตอร์
  5. 5. ภาษาระดับต่า (Low Level Language)เป็นภาษาที่มนุษย์ทาความเข้าใจได้ยากแต่ละคาสั่งประกอบขึ้นจากกลุ่มตัวเลข0 และ 1 เป็นเลขฐานสองไม่เหมาะใช้ในการพัฒนาโปรแกรมได้แก่ ภาษาเครื่องและภาษาแอสเซมบลี้
  6. 6. การแปลรหัสแอสกี้หรือ Asscii codeมีวิธีการอ่านดังนี้จะอ่านจากบนลงล่างจาก b7-b6-b5-b4 และอ่านจากซ้ายไปขวาจาก b3-b2-b1-b0
  7. 7. ๑. การเปลี่ยนเลขฐานสิบเป็นฐานอื่นๆทาได้โดยเอาเลขฐานสิบตั้ง แล้วหารด้วยเลขฐานที่ต้องการเปลียนหารไปเรื่อย ๆ จนกระทั่งผลลัพธ์ ่เป็น “ศูนย์” ในการหารนั้นต้องเขียนเศษไว้ทุกครั้งจากนั้นนาตัวสุดท้ายมาเขียนเป็นเลขฐานที่ต้องการตัวแรกเรียงกันไปจากล่างไปบนจนหมดทุกตัว
  8. 8. ภาษาระดับกลาง (Medium Level Language) มีลักษณะเป็นภาษาแบบโครงสร้าง ทาความเข้าใจได้ เหมือนกับภาษาระดับสูง แต่ทางานได้รวดเร็วเหมือนกับภาษาระดับต่า นิยมใช้กน ัแพร่หลาย ได้แก่ ภาษาซี
  9. 9. ภาษาระดับสูง (High Level Language)เป็นภาษาที่ทาความเข้าใจได้ง่าย มีลักษณะของการใช้คาสั่งเป็นภาษาอังกฤษ เช่น ภาษาBASICภาษาPascal ภาษาJAVA
  10. 10. ภาษาBASIC ภาษาPascal ภาษาJAVA
  11. 11. ขั้นตอนการเขียนโปรแกรม1.การวิเคราะห์ปัญหา2. การออกแบบโปรแกรม3. การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์4. การทดสอบโปรแกรม5. การจัดทาเอกสารประกอบโปรแกรม6. การบารุงรักษาโปรแกรม

  12. 12. 1. การวิเคราะห์ปัญหาองค์ประกอบอยู่ 3 องค์ประกอบ ที่จะช่วยในการวิเคราะห์ปัญหาได้แก่ Output Input Processing
  13. 13. 1.การระบุข้อมูลออก Output • กาหนดวัตถุประสงค์ของงาน และ รูปแบบของผลลัพธ์2.การระบุข้อมูลเข้า Input • ข้อมูลที่นาเข้าสู่คอมพิวเตอร์ประกอบด้วยอะไรบ้าง3.การกาหนดวิธการประมวลผล ี Processing • ต้องทราบสูตรหรือวิธีการประมวลผล
  14. 14. 2. การออกแบบโปรแกรม คือ การนาปัญหาทีวิเคราะห์ได้จากขั้นตอนที่ 1 ่มาวางแผนอย่างเป็นขั้นตอนว่าจะต้องเขียนโปรแกรมเพื่อแก้ปัญหาอย่างไร การวางแผนอย่างเป็นขั้นตอนนี้เรียกว่าอัลกอริทึม(Algorithm) ซึ่งอัลกอริทึมแบ่งเป็น 2 รูปแบบ คือ รหัสเทียม(Pseudocode)และ ผังงาน(Flowchart)
  15. 15. ตัวอย่างการต้มไข่ไก่ วัตถุดิบ : ไข่ไก่ ผลลัพธ์ : ไข่ต้มสุก Algorithm 1 Algorithm 2 • ต้มน้าให้เดือด • ต้มน้าให้เดือด • ใส่ไข่ • ใส่ไข่ • รอ 10 นาที • รอ 5 นาที • ดับไฟ / ปิดเตา • ดับไฟ / ปิดเตา • ปอกไข่
  16. 16. ระหว่าง Algorithm 1 และ Algorithm 2ผลทีได้เหมือนกันคือ ไข่ต้ม ่ผลลัพธ์อัลกอริธึม 1 สามารถทานได้เลย ส่วนอัลกอริธึม 2 ต้องปอกก่อนทานสรุปคือ เราได้ผลลัพธ์ตามที่โจทย์ต้องการคือ ไข่ต้ม
  17. 17. เราลองนาขั้นตอนการต้มไข่มาวิเคราะห์• ต้มน้าให้เดือด => การกระทา(Process)• ใส่ไข่ => การป้อนข้อมูล(Input)• รอ 10 นาที => การกระทา(Process)• ดับไฟ => การกระทา(Process)• ปอกไข่ => การกระทา(Process)• ผลลัพธ์ => ไข่ต้มสุก (Output)
  18. 18. ซูโดโค้ด (Pseudo code)คือ การเขียนอัลกอริทึมจะมีการใช้ข้อความที่เป็นภาษาอังกฤษ ในการแสดงขั้นตอนการแก้ปัญหาสามารถอ่านง่าย ตัวอย่าง การหาค่าเฉลีย ่
  19. 19. Algorithm Avarage_Sum Algorithm การหาค่าเฉลี่ย 1. ตัวนับ = 01. count = 0 2. ผลรวม = 02. sum =0 3. รับค่าทางแป้นพิมพ์เก็บไว้ใน (ข้อมูล)3. INPUT (value) 4. ถ้าข้อมูลมากกว่า 04. IF value > 0 THEN เพิมค่าตัวนับขึนหนึงค่า ่ ้ ่ count = count+1 ผลรวม = ผลรวม + ค่าข้อมูล sum = sum+ value ย้อนกลับไปทาขั้นตอนที่ 3 GOTO 3 ถ้าไม่มากกว่าไปทาขันตอนที่ 5 ้ ELSE GOTO 5 5. ค่าเฉลี่ย = ผลรวมหารด้วยตัวนับ5. avarage = sum/count 6. แสดงค่าเฉลี่ยทางจอภาพ6. OUTPUT (avarage) โดยมีทศนิยมสองตาแหน่ง7. END 7. จบ
  20. 20. Example การหาพื้นที่
  21. 21. ผังงาน (Flow Chart) คือ แผนภาพที่ใช้สัญลักษณ์รูปภาพและลูกศร เพื่อแสดงถึงขั้นตอนการทางานของโปรแกรมหรือระบบทีละขั้นตอน รวมไปถึง ทิศทางการไหลของข้อมูลตั้งแต่แรกจนได้ผลลัพธ์ออกมาตามที่ต้องการ
  22. 22. สัญลักษณ์ผังงานประกอบด้วยสัญลักษณ์ต่างๆดังนี้ จุดเริ่มต้น/สิ้นสุดของโปรแกรม (Terminal)
  23. 23. สัญลักษณ์ผังงาน ลูกศรแสดงทิศทางการทางานของโปรแกรม และการไหลของข้อมูล(Flow line)
  24. 24. สัญลักษณ์ผังงาน ใช้แสดงคาสั่งในการ ประมวลผลหรือการกาหนดค่า ให้กับตัวแปร (Processing)
  25. 25. สัญลักษณ์ผังงาน การตรวจสอบเงือนไขเพื่อ ่การตัดสินใจ เงื่อนไขเป็นจริงหรือเท็จ (Decision)
  26. 26. สัญลักษณ์ผังงาน แสดงจุดเชื่อมต่อของผังงานภายใน เพื่อไปสู่การทางานอย่างใดอย่างหนึ่งที่เหมือนกัน (Connector)
  27. 27. สัญลักษณ์ผังงาน แสดงผลลัพธ์ออกทาง เครื่องพิมพ์ (Document)
  28. 28. สัญลักษณ์ผังงาน แสดงผลลัพธ์ออกทาง จอภาพ (Monitor)
  29. 29. สัญลักษณ์ผังงาน การขึ้นหน้าใหม่ ในกรณีที่ผังงานยาวมากเกินกว่าที่จะแสดงพอในหนึ่งหน้า (Next Page)
  30. 30. การออกแบบโปรแกรมขั้นตอนวิธีและโปรแกรมที่เราออกแบบจะอาศัย โครงสร้างควบคุมการทางาน 3 อย่าง คือ 1. โครงสร้างแบบตามลาดับ 2. โครงสร้างแบบมีทางเลือก 3. โครงสร้างแบบทาซ้า
  31. 31. 1.โครงสร้างแบบตามลาดับ (sequential structure) เป็นขั้นตอนการทางานที่เป็นไปตามลาดับ ก่อน-หลัง และแต่ละขั้นตอนจะถูกประมวลผล เพียงครั้งเดียวเท่านั้น
  32. 32. เริมต้น ่ ตัวอย่าง เขียนจม. ผังงานการเขียนและส่งจดหมาย พับจม.ใส่ซองจม.จ่าหน้าซองปิดซองจม. จบ
  33. 33. 2.โครงสร้างแบบมีทางเลือก(selection structure)เป็นขั้นตอนการทางานที่บางขั้นตอน จะได้รับหรือไม่ได้รับการประมวลผล ขึ้นอยู่กับเงื่อนไขบางประการ
  34. 34. โครงสร้างแบบมีทางเลือก 1 มี มีแสตมป์ ไม่มี หรือไม่ ซื้อแสตมป์ ติดแสตมป์ ส่งจม. จบงาน
  35. 35. 3. โครงสร้างแบบทาซ้า (repetition structure) เป็นขั้นตอนการทางานที่บางขั้นตอนจะถูกประมวลผลซ้ามากกว่า 1 ครั้ง ขึ้นอยู่กับเงื่อนไขบางประการ
  36. 36. เริ่มต้น โครงสร้างแบบทาซ้า เรียน สอบตก ตรวจสอบคะแนน ผ่านหรือตก ผ่าน บันทึกคะแนน สิ้นสุด
  37. 37. 3.การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ การสร้างโปรแกรมคอมพิวเตอร์นั้นเป็นการนาผังงานที่เขียนไว้มาแปลงเป็นโปรแกรมภาษาคอมพิวเตอร์โดยการเขียนโปรแกรมสามารถเลือกใช้ภาษาคอมพิวเตอร์ระดับสูงตามความเหมาะสม เช่น Pascal, C,C++ เป็นต้น ฯลฯ
  38. 38. 4. การทดสอบโปรแกรม การทดสอบโปรแกรม หรือการดีบั๊กโปรแกรม (Debugging) คือ การนาโปรแกรมมาตรวจสอบด้วยการแปลโปรแกรมโดยใช้ตัวแปลภาษา (Complier หรือ Interpreter)
  39. 39. คอมไพเลอร์ (Complier)• ใช้กับการทางานในภาษาระดับสูง• แปลความหมายของชุดคาสั่งที่เขียนทั้งหมด ในคราวเดียวกัน• เป็นชุดของรหัสคาสั่งเก็บไว้ใช้เมื่อต้องการ• เหมาะกับการเขียนโปรแกรมขนาดใหญ่และซับซ้อน
  40. 40. อินเตอร์พรีเตอร์ (Interpreter)• สาหรับการเขียนโปรแกรมในภาษาระดับสูง• แปลความหมายของชุดคาสั่งทีละบรรทัดคาสั่ง• เหมาะสาหรับการเขียนโปรแกรมที่มีขนาดเล็ก
  41. 41. 5.การจัดทาเอกสารประกอบโปรแกรมเอกสารประกอบโปรแกรมโดยทั่วไปจะมีอยู่ด้วยกัน 2 แบบคือ 1.เอกสารประกอบโปรแกรมสาหรับผู้ใช้(User Documentation) จะเหมาะสาหรับผู้ใช้ที่ไม่ต้องเกี่ยวข้องกับการพัฒนาโปรแกรม จะเน้นการอธิบายเกี่ยวกับการใช้งานโปรแกรมเป็นหลัก
  42. 42. 2.เอกสารประกอบสาหรับผู้เขียนโปรแกรม(Technical Documentation) ส่วนอธิบายด้านเทคนิค ซึ่งส่วนนี้มักจะทาเป็นเอกสารแยกต่างหากจากโปรแกรม จะอธิบายในรายละเอียดที่มากขึ้น
  43. 43. 6.การบารุงรักษาหลังจากที่มีการใช้งานโปรแกรมไปนานๆ แล้วอาจต้องมีการปรับปรุงแก้ไขโปรแกรมให้ตรงตามความต้องการของผู้ใช้ที่อาจเปลี่ยนแปลงไป
  44. 44. ประโยชน์ของการเขียนผังงาน ช่วยลาดับขั้นตอนการทางานของโปรแกรม และสามารถ นาไปเขียนโปรแกรมได้โดยไม่สับสนช่วยให้การตรวจสอบ และแก้ไขโปรแกรมได้อย่างง่ายเมื่อเกิดข้อผิดพลาดช่วยให้การดัดแปลง แก้ไข ทาได้อย่างสะดวกรวดเร็วช่วยให้ผู้อื่นสามารถศึกษาการทางานของโปรแกรมได้อย่างง่ายดายและรวดเร็วมากขึ้น
  45. 45. กิจกรรมทาในห้อง1. การออกแบบโปรแกรมอาศัยโครงสร้างควบคุมการ ทางานกี่อย่าง อะไรบ้างจงอธิบายพร้อมยกตัวอย่าง2. จงอธิบายการบารุงรักษาโปรแกรมมาพอสังเขป3. ประโยชน์ของการเขียนผังงานคือ
  46. 46. ใบงาน 4.21. จงอธิบายการเขียนโปรแกรมด้วย ภาษาคอมพิวเตอร์มาพอสังเขป2. การทดสอบโปรแกรม คือ3. ตัวแปลภาษามีกี่ประเภท อะไรบ้างจงอธิบาย

×