แสดงบทความที่มีป้ายกำกับ อัลกอรึทีม แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ อัลกอรึทีม แสดงบทความทั้งหมด

วันอาทิตย์ที่ 29 กรกฎาคม พ.ศ. 2555

ผังงาน (Flow Chart)

ผังงาน หรือ โฟลว์ชาร์ต (flowchart) เป็นแผนภาพแสดงขั้นตอนการทำงานของโปรแกรม โดยใช้สัญลักษณ์ต่างๆ เชื่อมกันเป็นลำดับขั้นตอนด้วยลูกศร

สัญลักษณ์

จุดเริ่มต้นและจุดสิ้นสุด

แสดงด้วยรูปวงกลม รูปวงรี หรือรูปสี่เหลี่ยมมุมมน ภายในนิยมใช้คำว่า "Start" สำหรับจุดเริ่มต้น และ "End" สำหรับจุดสิ้นสุด

ลูกศร

เป็นเส้นทางการทำงานของโปรแกรม

ประมวลผล

ใช้กล่องสีเหลี่ยม ภายในเขียนคำสั่งต่างๆ

รับค่าเข้า และแสดงผล

ใช้กล่องสี่เหลี่ยมด้านขนาน ยกตัวอย่างเช่น ภายในเขียน "Get X" เพื่อรับค่า X; เขียน "Display X" เพื่อแสดงผลค่า X

ตัดสินใจ

ใช้กล่องสี่เหลี่ยมขนมเปียกปูน และภายในเขียนประโยคที่มีค่าความจริง เป็น "จริง" หรือ "เท็จ" และแบ่งลูกสรออกเป็น 2 ข้างคือ เส้นทางการทำงานเมื่อ ประโยคดังกล่าวเป็น "จริง" และ เส้นทางการทำงานเมื่อประโยคดังกล่าวเป็น "เท็จ"

รหัสเทียม หรือ ซูโดโค้ด (Pseudo Code)


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

อัลกอรึทึม (Algorithm)


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