วันจันทร์ที่ 26 ธันวาคม พ.ศ. 2559

สรุปบทที่ 1 เรื่อง หลักการเขียนโปรแกรมเบื้องต้น

สำหรับ ในบทนี้ มีจุดประสงค์เพื่อปูพื้นฐานขั้นตอนการเขียนโปรแกรม เพื่อให้ทราบว่าในการเขียนโปรแกรมเพื่อใช้งานนั้นจะมีขั้นตอนอย่างไรบ้าง รวมถึงรูปแบบการเขียนโปรแกรม เทคนิคการออกแบบโปรแกรมเชิงโครงสร้าง อัลกอริทึม        และซูโดโค้ด ซึ่งเนื้อหาเหล่านี้ถือเป็นสิ่งสำคัญในการศึกษาวิชาการเขียนโปรแกรม เบื้องต้นทั้งสิ้น
ขั้นตอนการเขียนโปรแกรม สามารถแบ่งออกเป็น 5 ขั้นตอนด้วยกันคือ
1.การวิเคราะห์ปัญหา
2.การออกแบบโปรแกรม
3.การเขียนโปรแกรม
4.การทดสอบโปรแกรม

5.การจัดทำเอกสารประกอบโปรแกรม























รูปแบบการเขียนโปรแกรม

สามารถแบ่งออกเป็น 2 รูปแบบด้วยกันคือ
1.การเขียนโปรแกรมเชิงโครงสร้าง
2.การเขียนโปรแกรมเชิงวัตถุ

 1.การเขียนโปรแกรมเชิงโครงสร้าง
     รูปแบบการเขียนโปรแกรมเชิงโครงสร้างนั้นก็เป็นรูปแบบการเขียนโปรแกรมชนิด หนึ่ง ที่ทำให้โปรแกรมมีโครงสร้างที่ดี ง่ายต่อการอ่านและปรับปรุง ซึ่งประกอบด้วย
1.ชุดคำสั่งภายในโปรแกรมจะเป็นลำดับขั้นตอน (Sequence)
2.มีทางเลือกในการตัดสินใจทางใดทางหนึ่ง (Decision)
3.มีชุดคำสั่งเพื่อการทำซ้ำ (Repetition)
2.การเขียนโปรแกรมเชิงวัตถุ
     การ เขียนโปรแกรมเชิงวัตถุ ตั้งอยู่บนพื้นฐานของการแจกแจงรายละเอียดของปัญหา ด้วยการมุ่งเน้นเกี่ยวกับวัตถุในโลกแห่งความเป็นจริง ซึ่งตามปกติการเขียนโปรแกรมเชิงโครงสร้างนั้น ข้อมูลและกระบวนการจะแยกออกจากกัน แต่การเขียนโปรแกรมเชิงวัตถุนั้น จะมองวัตถุหนึ่งๆเป็นแหล่งรวมของข้อมูลและกระบวนการเข้าไว้ด้วยกัน โดยจะมีคลาส (Class) เป็นตัวกำหนดคุณสมบัติของวัตถุ
เทคนิคการออกแบบโปรแกรมเชิงโครงสร้าง
     จุดประสงค์สำคัญของเทคนิคการออกแบบโปรแกรมเชิงโครงสร้าง จึงประกอบด้วย
1.เพื่อสร้างโปรแกรมให้มีคุณภาพและทำนายได้ว่าจะเกิดอะไรขึ้นในโปรแกรม
2.เพื่อสร้างโปรแกรมที่ง่ายต่อการปรับปรุงแก้ไข
3.เพื่อให้ขั้นตอนการพัฒนาโปรแกรมมีระบบระเบียบยิ่งขึ้น
4.เพื่อให้การพัฒนาระบบมีความรวดเร็ว และประหยัดต้นทุน
 อัลกอริทึม (Algorithms)
   อัลกอริทึม หรือขั้นตอนวิธีคือกระบวนการทำงานที่เป็นลำดับขั้นตอนชัดเจนและมีการ รับประกันว่า เมื่อได้ปฏิบัติถูกต้องตามขั้นตอนจนครบแล้วจะได้ผลลัพธ์ที่ถูกต้องตามความ ต้องการ
  อัลกอริทึม ที่นำมาใช้เพื่อการแก้ปัญหาหนึ่งอาจมีความแตกต่างกันได้แต่ก็จะได้ผล เดียวกันทั้งนี้ขึ้นอยู่กับความเหมาะสมและเป็นแนวทางที่คิดว่าดีที่สุดใน สถานการณ์นั้นๆ
คุณสมบัติของอัลกอริทึม ประกอบด้วย
1.เป็นกระบวนการที่สร้างขึ้นจากกฎเกณฑ์
2.กฎเกณฑ์ที่สร้างอัลกอริทึมต้องไม่คลุมเครือ
3.การประมวลผลต้องเป็นลำดับขั้นตอน
4.กระบวนการต้องให้ผลลัพธ์ตามที่กำหนดในปัญหา
5.อัลกอริทึมต้องมีจุดสิ้นสุด
ประสิทธิภาพของอัลกอริทึม
    ในการพิจารณาถึงประสิทธิภาพของอัลกอริทึม จะพิจารณาถึงเกณฑ์พื้นฐานดังต่อไปนี้
1.อัลกอริทึมที่ดีต้องใช้เวลาในการดำเนินการน้อยที่สุด
2.อัลกอริทึมที่ดีต้องใช้หน่วยความจำน้อยที่สุด
3.อัลกอริทึมที่ดีต้องมีความยืดหยุ่น
4.อัลกอริทึมที่ดีต้องใช้เวลาในการพัฒนาน้อยที่สุด
5.อัลกอริทึมที่ดีต้องง่ายต่อความเข้าใจ
ซูโดโค้ด (Pseudo Code)
    ซูโดโค้ดและผังงาน ต่างก็สามารถนำมาใช้เป็นตัวแทนของอัลกอริทึมได้
    ผัง งานจะประกอบด้วยสัญลักษณ์ที่ใช้แทนความหมายต่างๆ ว่าการประมวลมีลำดับขั้นตอนใดบ้าง แต่ผังงานมีข้อจำกัดในเรื่องของการขาดรายละเอียด ดังนั้น ในการทำงานจริงๆแล้ว ซูโดโค้ดจึงมักถูกนำมาใช้เป็นตัวแทนของอัลกอริทึมมากกว่า
    ซู โดโค้ดมีรูปแบบเป็นโครงสร้างภาษาอังกฤษที่มีความคล้ายคลึงกับภาษา คอมพิวเตอร์ระดับสูง แต่อย่างไรก็ตามการเขียนซูโดโค้ดไม่ได้มีมาตรฐานการเขียนที่ชัดเจนอย่างภาษา ระดับสูง ดังนั้น จึงจำเป็นต้องเรียนรู้ถึงหลักการ เพื่อสามารถเขียนซูโดโค้ดให้สามารถสื่อสารกับโปรแกรมเมอร์ได้อย่างเข้าใจ
หลักการเขียนซูโดโค้ด
1.ถ้อยคำหรือประโยคคำสั่ง ให้เขียนอยู่ในรูปแบบของภาษาอังกฤษอย่างง่าย
2.ในหนึ่งบรรทัดให้เขียนประโยคคำสั่งเพียงคำสั่งเดียว
3.ควรใช้ย่อหน้าให้เป็นประโยชน์ เพื่อแยกคำเฉพาะ รวมถึงจัดโครงสร้างการควบคุมให้เป็นสัดส่วน ซึ่งการกระทำดังกล่าวจะทำให้อ่านง่าย
4.แต่ละประโยคคำสั่งให้เขียนลำดับจากบนลงล่าง โดยมีทางเข้าเพียงทางเดียวและมีทางออกทางเดียวเท่านั้น
5.กลุ่ม ของประโยคคำสั่งต่างๆอาจจัดรวมกลุ่มเข้าด้วยกันในรูปแบบของโมดูล แต่ต้องกำหนดชื่อโมดูลเหล่านั้นด้วย เพื่อให้สามารถเรียกใช้งานโมดูลนั้นได้
เครื่องหมาย = จะนำมาใช้เพื่อการกำหนดค่าและการคำนวณ เช่น x=0,sum = x+y
การอ่านหรือรับข้อมูล สามารถใช้คำสั่งPRINT,PROMPT และ WRITE แต่ PRINT และPROMPT มักกูกนำไปใช้สำหรับการพิมพ์ค่าข้อมูล หรือข้อความ ในขณะที่ WRITE จะนำไปใช้สำหรับการบันทึกข้อมูลลงในแฟ้มข้อมูล
การแสดงผลข้อมูล สามารถใช้คำสั่ง PRINT ,PROMPT ,และ WRITE แต่ PRINT และPROMPT มักถูกนำไปใช้สำหรับการพิมพ์ค่าข้อมูล หรือข้อความในขณะที่ WRITE จะรำไปใช้สำหรับการบันทึกข้อมูลลงในแฟ้มข้อมูล
การกำหนดเงื่อนไข จะใช้ประโยค IF…THEN…ELSEโดยหากเงื่อนไขที่ตรวจสอบเป็นจริง ก็จะทำกิจกรรมหลัง THEN แต่ถ้าเงื่อนไขเป็นเท็จก็จะทำกิจกรรมหลังELSE
 กรณีที่มีการตรวจสอบเงื่อนไข IF ซ้อนกันหลายๆ ชั้น อาจทำให้แลดูยุ่งเหยิงและตรวจสอบยาก ดังนั้น จึงสามารถใช้คำสั่ง CASE…ENDCASE แทนได้
คำสั่งที่ใช้ทำงานเป็นรอบหรือลูป  มีอยู่หลายรูปแบบด้วยกันคือ
     1. ลูป WHILE…ENDWHILE เป็น ลูปที่มีการตรวจสอบเงื่อนไขก่อน ดังนั้นหากเงื่อนไขเป็นจริงก็จะทำกิจกรรมภายในลูปซ้ำไปเรื่อยๆ จนกระทั่งเงื่อนไขเป็นเท็จก็จะหลุดออกจากลูป แต่อย่างไรก็ตาม หากเงื่อนไขที่ตรวจสอบครั้งแรกเป็นเท็จก็จะไม่มีการดำเนินกิจกรรมภายในลูป เลย
     2. ลูป DO…UNTIL เป็น ลูปที่อย่างน้อยต้องดำเนินการภายในลูปรอบหนึ่งเสมอจากนั้นจึงทำการตรวจสอบ เงื่อนไขโดยจะวนซ้ำเรื่อยๆ จนกว่าเงื่อนไขจะเป็นเท็จ จึงหลุดออกจากลูป
     3. ลูป FOX…NEXT เป็นลูปที่มีการกำหนดรอบการวนซ้ำที่จำนวนรอบที่แน่นอน
กรณี ที่โปรแกรมมีขนาดใหญ่ อาจเขียนซูโดโค้ดด้วยด้วยการแบ่งออกเป็นโพรซีเยอร์ได้โดยแต่ละโพรซีเยอร์ ต่างก็มีหน้าที่ของตนโดยเฉพาะ และสามารถเรียกใช้งานได้บ่อยตามที่ต้องการ สำหรับการเรียกใช้งาน ก็จะใช้ชุดคำสั่ง CALL แล้วตามด้วยชื่อโพรซีเยอร์ และเมื่อทำงานจนโพรซีเยอร์นั้นๆ แล้ว ก็จะกลับมายังตัวโปรแกรมหลัก เพื่อทำงานชุดคำสั่งในลำดับถัดไป
อ้างอิง
หนังสือวิชาพื้นฐานการเขียนโปรแกรมคอมพิวเตอร์ รหัสวิชา 2128-2009 
https://www.google.co.th/search?q=%E0%B8%AB%E0%B8%A5%E0%B8%B1%E0%B8%81%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%80%E0%B8%82%E0%B8%B5%E0%B8%A2%E0%B8%99%E0%B9%82%E0%B8%9B%E0%B8%A3%E0%B9%81%E0%B8%81%E0%B8%A3%E0%B8%A1%E0%B9%80%E0%B8%9A%E0%B8%B7%E0%B9%89%E0%B8%AD%E0%B8%87%E0%B8%95%E0%B9%89%E0%B8%99&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjCj8PdgZLRAhXJs48KHZ5KCQ8Q_AUICSgC&biw=1600&bih=780 

ไม่มีความคิดเห็น:

แสดงความคิดเห็น