อัลกอริทึม (Algorithm) หมายถึง ขั้นตอนหรือลำดับการประมวลผลในการแก้ปัญหาใดปัญหาหนึ่งซึ่งจะช่วยให้ผู้พัฒนาโปรแกรมเห็นขั้นตอนการเขียนโปรแกรมอย่างง่ายขึ้น

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

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




<h3>หลักการเขียนอัลกอริทึม</h3><p>1.กระบวนการสำคัญเริ่มต้นที่จุดจุดเดียวในการมีจุดเริ่มต้นหลายที่จะทำให้กระบวนการวิธีสับสน จนในที่สุดอาจทำให้ผลลัพธ์ที่ได้ไม่ตรงกับความต้องการ หรืออาจทำให้อัลกอริทึมนั้นไม่สามารถทำงานได้เลย</p><p>2.กำหนดการทำงานเป็นขั้นเป็นตอนอย่างชัดเจน การกำหนดอัลกอริทึมที่ดีควรมีขั้นตอนที่ชัดเจนไม่คลุมเครือ เสร็จจากขั้นตอนหนึ่ง ไปยังขั้นตอนที่สองมีเงื่อนไขการทำงานอย่างไร ควรกำหนดให้ชัดเจน</p><p>3.การทำงานแต่ละขั้นตอนควรสั้นกระชับ เพราะการกำหนดขั้นตอนการทำงานให้สั้นกระชับนอกจากจะทำให้โปรแกรมทำงานได้รวดเร็วแล้ว ยังเป็นประโยชน์ต่อผู้อื่นที่มาพัฒนาโปรแกรมต่อด้วยเพราะสามารถศึกษาอัลกอริทึมจากโปรแกรมที่เขียนไว้ได้ง่าย</p><p>4.ผลลัพธ์ในแต่ละขั้นตอนควรต่อเนื่องกัน การออกแบบขั้นตอนที่ดีนั้นผลลัพธ์จากขั้นตอนแรกควรเป็นข้อมูลสำหรับนำเข้า ให้กับข้อมูลในขั้นต่อไป ต่อเนื่องกันไปจนกระทั่งได้ผลลัพธ์ตามที่ต้องการ</p><p>5.การออกแบบอัลกอริทึมที่ดี ควรออกแบบให้ครอบคลุมการทำงานในหลายรูปแบบ เช่น การออกแบบโดยคิดไว้ล่วงหน้าว่าหากผู้ใช้โปรแกรมป้อนข้อมูลเข้าผิดประเภท โปรแกรมจะมีการเตื่อนว่าผู้ใช้งานมีการใส่ข้อมูลที่ผิดประเภทโดยโปรแกรมจะไม่รับข้อมูลนั้น เพื่อให้ใส่ข้อมูลใหม่อีกครั้ง เพื่อป้องกันการเกิดจุดบกพร่องของโปรแกรมได้</p><h3>รูปแบบของอัลกอริทึม</h3><p>การเขียนอัลกอริทึมมีหลายรูปแบบ โดยผู้เขียนสามารถใช้อัลกอริทึมหลายรูปแบบประกอบกันในการออกแบบอัลกอริทึมนั้นเพื่อใช้ในการแก้ปัญหาการเขียนโปรแกรมได้</p><p>1.แบบลำดับ (Sequential) มีลักษณะการทำงานจะเป็นไปตามขั้นตอน ก่อน-หลัง ต่อเนื่องกันไปเป็นลำดับ โดยการทำงานแต่ละขั้นตอนต้องทำให้เสร็จก่อน แล้วจึงไปทำขั้นตอนต่อไป</p>

<div class="aspectRatioPlaceholder is-locked" style="position: relative; width: 504px; margin: 0px auto; display: block; max-width: 504px; max-height: 507px;">

</div></figure><h3>อัลกอริทึม การทอดไข่เจียว</h3><ol>

  • หยิบไข่ไก่
  • ตอกไข่ไก่ใส่ภาชนะ
  • ปรุงรส ด้วยเครื่องปรุง
  • ตีไข่ด้วยช้อนส้อม
  • ตั้งกระทะบนเตา
  • เปิดแก๊ส และติดไฟ
  • ใส่น้ำมันพืช
  • นำไข่ที่ปรุงรสแล้วใส่ลงในกระทะที่ร้อน
  • ทอดจนสุก
  • ตักขั้นใส่จานที่เตรียมไว้
  • </ol><p>2.แบบทางเลือก (Decision) อัลกอริทึมรูปแบบนี้ มีเงื่อนไขเป็นตัวกำหนดเส้นทางการทำงานของกระบวนการแก้ปัญหา โดยตัวเลือกนั้นอาจจะมีตั้งแต่ 2 ตัวขึ้นไป เช่น สอบข้อเขียน คะแนนเต็ม 50 ได้คะแนน 30 สอบผ่าน ถ้าต่ำกว่า 30 สอบไม่ผ่าน</p>

    <div class="aspectRatioPlaceholder is-locked" style="position: relative; width: 396px; margin: 0px auto; display: block; max-width: 396px; max-height: 398px;">

    </div></figure><p>อัลกอริทึมตัดเกรดวิชาคอมพิวเตอร์</p><ol>

  • คะแนนสอบของนักเรียน
  • ตรวจสอบคะแนน (คะแนนที่สอบผ่าน 50 คะแนน)
  • ถ้ามากกว่า 50 คะแนน สอบผ่าน
  • ถ้าน้อยกว่า 50 คะแนน สอบตก
  • ประกาศผล
  • </ol><p>3.แบบทำซ้ำ (Repetition) อัลกอริทึมแบบนี้คล้ายกับแบบทางเลือก คือ มีการตรวจสอบเงื่อนไข แต่แตกต่างกันตรงที่เมื่อการทำงานตรงตามเงื่อนไขที่กำหนด โปรแกรมจะกลับไปทำงานอีกครั้งวนการทำงานแบบนี้เรื่อยๆ จนกระทั่งไม่ตรงกับเงื่อนไขที่กำหนดไว้จึงหยุดการทำงานหรือทำงานในขั้นต่อไป</p>

    <div class="aspectRatioPlaceholder is-locked" style="position: relative; width: 394px; margin: 0px auto; display: block; max-width: 394px; max-height: 395px;">

    </div></figure><p>อัลกอริทึมการซื้อมังคุด 1 กิโลกรัม</p><ol>

  • หยิบถุงพลาสติก
  • หยิบมังคุดมาเลือก โดยกดที่เปลือกที่นิ่มๆ
  • ตรวจสอบเงื่อนไข (น้อยกว่า 1 กิโลกรัม)
  • ถ้าจริง เลือกมังคุดต่อ
  • ถ้าเท็จ หยุดเลือก
  • จ่ายเงินให้กับผู้ที่ขาย
  • </ol>