อัลกอริทึม

และผังงาน

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

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

  1. ลักษณะผังงาน (Flowchart) ขั้นตอนการแก้ปัญหาทีละขั้นตอนในลักษณะรูปภาพ

  2. รหัสจำลอง หรือ ซูโดโค้ด (Pseudo Codes) รูปแบบเป็นภาษาพูดง่าย ๆ ภาษาอังกฤษ หรือภาษาไทยก็ได้

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. เริ่มต้น

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 **

  1. START

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