[x] ปิดหน้าต่างนี้
Powered by ATOMYMAXSITE 2.5
บทเรียนออนไลน์โดยใช้กระบวนการทางเทคโนโลยี
ยินดีต้อนรับคุณ บุคคลทั่วไป  
ค้นหา   
บทเรียนออนไลน์
 










เอกสารประกอบการสอน


แนวคิดเชิงนามธรรม
อัลกอริทึมและภาษาคอมพิวเตอร์
การออกแบบอัลกอริทึมด้วยภาษาธรรมชาติ
 การออกแบบอัลกอริทึมด้วยรหัสเทียม
การออกแบบอัลกอริทึมด้วยผังงาน

กรณีศึกษาการออกแบบอัลกอริทึม





  
อัลกอริทึมด้วยภาษาธรรมชาติ  
 


การเขียนอัลกอริทึมด้วยภาษาธรรมชาติ
      1. อัลกอริทึม
              ขั้นตอนวิธี หรือ อัลกอริทึม (จากวิกิพีเดีย สารานุกรมเสรี)
              ขั้นตอนวิธี หรือ อัลกอริทึม (อังกฤษ: algorithm) หมายถึงกระบวนการแก้ปัญหาที่สามารถเข้าใจได้ มีลำดับหรือวิธีการในการแก้ไขปัญหาใดปัญหาหนึ่งอย่างเป็นขั้นเป็นตอนและชัดเจน เมื่อนำเข้าอะไร แล้วจะต้องได้ผลลัพธ์เช่นไร ซึ่งแตกต่างจากการแก้ปัญหาแบบสามัญสำนึก หรือฮิวริสติก (heuristic)
              โดยทั่วไป ขั้นตอนวิธี จะประกอบด้วย วิธีการเป็นขั้นๆ และมีส่วนที่ต้องทำแบบวนซ้ำ (iterate) หรือ เวียนเกิด (recursive) โดยใช้ตรรกะ (logic) และ/หรือ ในการเปรียบเทียบ (comparison) ในขั้นตอนต่างๆ จนกระทั่งเสร็จสิ้นการทำงาน
      2. อัลกอริทึมด้วยภาษาธรรมชาติ
              ลักษณะของการเขียนอัลกอรึมแบบบรรยาย
              เป็นการแสดงขั้นตอนการทำงานในลักษณะการบรรยายเป็นข้อความด้วยภาษาพูดใดๆ เช่น ภาษาไทย ภาษาอังกฤษ ภาษาเกาหลี ภาษาญี่ปุ่น หรือ ภาษาจีน เป็นต้น ขึ้นอยู่กับความถนัดของผู้เขียนอัลกอริทึม มักเขียนบรรยายขั้นตอนการทำงานเป็นข้อๆ เช่น
            การปลูกต้นไม้ แสดงขั้นตอนการทำงานด้วยอัลกอริทึมแบบบรรยายได้ดังนี้
              1. ขุดหลุม
              2. ใส่ปุ๋ย
              3. นำต้นไม้ลงหลุม
              4. กลบดิน
              5. ปักหลักยึดต้นไม้
              6. รดน้ำ


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

อัลกอริทึม การทอดไข่เจียว

     1.หยิบไข่ไก่
     2.ตอกไข่ไก่ใส่ภาชนะ
     3.ปรุงรส ด้วยเครื่องปรุง
     4.ตีไข่ด้วยช้อนส้อม
     5.ตั้งกระทะบนเตา
     6.เปิดแก๊ส และติดไฟ
     7.ใส่น้ำมันพืช
     8.นำไข่ที่ปรุงรสแล้วใส่ลงในกระทะที่ร้อน
     9.ทอดจนสุก
     10.ตักขั้นใส่จานที่เตรียมไว้
 
     2.แบบทางเลือก (Decision) อัลกอริทึมรูปแบบนี้ มีเงื่อนไขเป็นตัวกำหนดเส้นทางการทำงานของกระบวนการแก้ปัญหา โดยตัวเลือกนั้นอาจจะมีตั้งแต่ 2 ตัวขึ้นไป เช่น สอบข้อเขียน คะแนนเต็ม 50 ได้คะแนน 30 สอบผ่าน ถ้าต่ำกว่า 30 สอบไม่ผ่าน


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

 

อัลกอริทึมการซื้อมังคุด 1 กิโลกรัม
     1.หยิบถุงพลาสติก
     2.หยิบมังคุดมาเลือก โดยกดที่เปลือกที่นิ่มๆ
     3.ตรวจสอบเงื่อนไข (น้อยกว่า 1 กิโลกรัม)
     4.ถ้าจริง เลือกมังคุดต่อ
     5.ถ้าเท็จ หยุดเลือก
     6.จ่ายเงินให้กับผู้ที่ขาย


บทเรียนออนไลน์ ครูวิศณุ เจริญราช Created by Wissanu Charoenrach