ความหมายของอัลกอริทึมและการเขียนผังงาน
ขั้นตอนการทำงาน หรือ อัลกอริทึม (Algorithm) เป็นเครื่องมือในการแสดงขั้นตอนการทำงาน ของระบบงานต่างๆ เพื่อให้การเขียนโปรแกรมเป็นไปอย่างรวดเร็ว และง่ายขึ้น อีกทั้งยังเป็นการฝึกฝนการเขียนโปรแกรม ซึ่งจะต้องมีการวางแผน ก่อนจะลงมือเขียนโปรแกรมจริงด้วย โดยการเขียนอัลกอริทึม มี 2 แบบ คือ
ลักษณะผังงาน (Flowchart) ขั้นตอนการแก้ปัญหาทีละขั้นตอนในลักษณะรูปภาพ
รหัสจำลอง หรือ ซูโดโค้ด (Pseudo Codes) รูปแบบเป็นภาษาพูดง่าย ๆ ภาษาอังกฤษ หรือภาษาไทยก็ได้
สัญลักษณ์ของผังงานมีดังนี้
ตัวอย่างการเขียนผังงานอย่างง่าย
จากตัวอย่างผังงานการคำนวณดอกเบี้ยสามารถอธิบายเป็นขั้นตอนได้ดังนี้
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 **
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