ความหมายของอัลกอริทึมและการเขียนผังงาน

       ขั้นตอนการทำงาน หรือ อัลกอริทึม (Algorithm) เป็นเครื่องมือในการแสดงขั้นตอนการทำงาน ของระบบงานต่างๆ เพื่อให้การเขียนโปรแกรมเป็นไปอย่างรวดเร็ว และง่ายขึ้น อีกทั้งยังเป็นการฝึกฝนการเขียนโปรแกรม ซึ่งจะต้องมีการวางแผน ก่อนจะลงมือเขียนโปรแกรมจริงด้วย โดยการเขียนอัลกอริทึม มี 2 แบบ คือ

สัญลักษณ์ของผังงานมีดังนี้

ตัวอย่างการเขียนผังงานอย่างง่าย

จากตัวอย่างผังงานการคำนวณดอกเบี้ยสามารถอธิบายเป็นขั้นตอนได้ดังนี้

   1. เริ่มต้นการทำงาน

   2. รับค่าเงินต้น และอัตราดอกเบี้ยเพื่อใช้ในการคำนวณหาดอกเบี้ย

   3. คำนวณหาดอกเบี้ยโดยใช้สมการต่อไปนี้  

            ดอกเบี้ย = เงินต้น * อัตราดอกเบี้ย

   4. แสดงค่าของดอกเบี้ยซึ่งคำนวณได้

   5. จบการทำงาน 

ตัวอย่างการเขียนผังงานและซูโดโค้ด

การเขียนอัลกอริทึมการตรวจสอบผลการเรียน รายวิชาพลศึกษาว่าผ่านหรือไม่ โดยการรับค่าชื่อนักเรียน คะแนนสอบจากคะแนนเต็ม 100 คะแนน ทางแป้นพิมพ์ โดยคะแนนสอบตั้งแต่ 50 ขึ้นไป จะแสดงผลว่าสอบผ่าน คะแนนสอบไม่ถึง 50 จะแสดงผลว่าสอบไม่ผ่าน

เขียนอัลกอริทึมการแสดงผลการคำนวณสูตรคูณแม่ 2

หลักการเขียนอัลกอริทึม

 หลักการเขียนอัลกอริทึม Algorithms

     สิ่งสำคัญของการเขียนโปรแกรมไม่ใช่การลงมือเขียนโปรแกรมโดยทันที จำเป็นจะต้องได้รับการออกแบบอย่างมีแบบแผนก่อน จึงจะนำไปสู่ขั้นตอนการเขียนโปรแกรมจริงและกระบวนการที่ได้รับการยอมรับก็คือ อัลกอริทึม นั่นเอง

  อัลกอริทึม จึงหมายถึงขั้นตอนวิธีที่จะอธิบายว่างานนั้นทำอย่างไร โดยจะประกอบด้วยกระบวนการทำงานเป็นลำดับขั้นตอนที่ชัดเจน และมีการรับประกันว่า เมื่อได้ปฏิบัติถูกต้องตามขั้นตอนจนครบแล้วจะต้องได้ผลลัพธ์ที่ถูกต้องตามความต้องการ

ขั้นตอนการเขียนโปรแกรม ทั้ง 5 ขั้นตอน

  1.การวิเคราะห์ปัญหา

  2. การออกแบบโปรแกรม

  3. การเขียนโปรแกรม

  4. การทดสอบโปรแกรม

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

ซูโดโค้ด (Pseudo Code)

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

** รหัสจำลอง **

2. รับค่า score

3.  ถ้า score >= 80 ให้ grade = '4'

     ถ้า score >= 70 ให้ grade = '3'

     ถ้า score >= 60 ให้ grade = '2'

     ถ้า score >= 50 ให้ grade = '1'

     ถ้านอกเหนือจากเงื่อนไข ให้ grade = '0'

4.แสดงผล grade

5.จบการทำงาน

*** Pseudo Codes **

2. INPUT score

3.  IF score >= 80 THEN grade = '4'

     ELSE IF score >= 70 THEN grade = '3'

     ELSE IF score >= 60 THEN grade = '2'

     ELSE IF score >= 50 THEN grade = '1'

     ELSE THEN grade = '0'

4.OUTPUT grade

5.STOP