การเขียนอัลกอริทึม (Algorithm)
ในการเขียนอัลกอริทึมนั้นมีเครื่องมือที่ช่วยในการออกแบบอยู่ 2 รูปแบบคือ
-
การเขียนด้วยรหัสเทียมหรือ ซูโดโค้ด pseudo Code
คือการเขียนอัลกอริทึมโดยใช้ประโยคที่เป็นภาษาอังกฤษที่สื่อความหมายง่าย ๆ สามารถอ่านแล้วเข้าใจได้ทันทีซึ่งมีวิธีการเขียนรหัสเทียมดังนี้- ประโยคคำสั่งเขียนอยู่ในรูปแบบของภาษาอังกฤษอย่างง่าย
- ในบรรทัดหนึ่งให้เขียนประโยคคำสั่งพิมพ์คำสั่งเดียว
- ควรใช้ย่อหน้าเพื่อจัดกลุ่มคำสั่งที่อยู่ในระดับเดียวกันหรือคำสั่งย่อยที่อยู่ภายใต้คำสั่งใหญ่เพื่อทำให้อ่านง่าย
- แต่ละประโยคคำสั่งให้เขียนจากบนลงล่าง
- กลุ่มของประโยคคำสั่งที่ทำงานเพื่อวัตถุประสงค์หรือผลลัพธ์เดียวกันและมีการใช้งานสั้น ๆ หรือใช้งานหลายๆครั้งจากส่วนต่าง ๆ ของโปรแกรมควรจัดรวมกลุ่มเข้าด้วยกันในรูปแบบของโมดูลและกำหนดชื่อให้โมดูล (module) เพื่อสามารถเรียกใช้งานโมดูลนั้น
ตัวอย่างของการเขียนรหัสเทียม (pseudo Code)
ตัวอย่างที่ 1 การเขียนซูโดโค้ด สำหรับให้คอมพิวเตอร์หาค่าเฉลี่ยจากข้อมูลที่รับเข้าทางแป้นพิมพ์ ถ้าใส่ค่าศูนย์แสดงว่าหยุดป้อนข้อมูล เขียนได้ดังนี้Algorithm การหาค่าเฉลี่ย 1. เริ่มต้น 2. ตัวนับ = 0 3. ผลรวม = 0 4. รับค่าทางแป้นพิมพ์เก็บไว้ในตัวแปร (ข้อมูล) 5. ถ้า ข้อมูล มากกว่า 0 เพิ่มค่าตัวนับขึ้นหนึ่งค่า ผลรวม = ผลรวม + ค่าข้อมูล ย้อนกลับไปทำขั้นตอนที่ 3 ถ้าไม่มากกว่าไปทำขั้นตอนที่ 5 6. ค่าเฉลี่ย = ผลรวมหารด้วยตัวนับ 7. แสดงค่าเฉลี่ยทางจอภาพ (ทศนิยมสองตำแหน่ง) จบ |
Algorithm Average_Sum 1. START 2. count =0 3. sum = 0 4. INPUT (value) 5. IF value > 0 THEN count = count +1 sum = sum + value GOTO 3 ELSE GOTO 5 6. average = sum / count 7. OUTPUT (average) END |
ตัวอย่างที่ 2 การเขียนซูโดโค้ด คำนวณหาพื้นที่สามเหลี่ยม หรือเขียนเป็นภาษาอังกฤษได้ดังนี้
Algorithm การหาพื้นที่สามเหลี่ยม 1. เริ่มต้น 2. รับค่าความยาวของฐานมาเก็บในตัวแปร X 3. รับค่าความยาวของสูงมาเก็บในตัวแปร Y 4. คำนวณหาพื้นที่ ARRAY = ( X*Y ) / 2 5. แสดงผลพื้นที่ จบ |
Algorithm Average_Sum 1. START 2. READ X 3. READ Y 4. Compute ARRAY = ( X*Y ) / 2 5. Print ARRAY END |
2. ผังงาน ( flowchart) คือการเขียนอัลกอริทึม โดยใช้สัญลักษณ์รูปภาพสื่อความหมายแสดงขั้นตอนการทำงานของโปรแกรม รวมทั้งการไหลของข้อมูลตั้งแต่ต้น จนได้ผลลัพธ์ โดยการเขียนผังงานมี 3 รูปแบบ คือ
-
แบบเรียงลำดับ (Sequential)
-
แบบทางเลือก ( Selection)
-
แบบมีการทำซ้ำแบบ (Iteration)
สัญลักษณ์ที่ใช้ในการเขียนผังงาน ( flowchart symbol) มีดังนี้
สัญลักษณ์ |
ชื่อเรียก |
คำอธิบาย |
|
terminal, start, stop |
การเริ่มต้นหรือสิ้นสุดการทำงานของโปรแกรม |
|
general input/output |
การรับข้อมูล การแสดงผลข้อมูล |
|
Monitor/Display |
การแสดงผลทางจอภาพ |
|
Document output |
การพิมพ์ผลออกจากเครื่องพิมพ์ |
|
Action/Process |
การกำหนดค่าหรือการประมวลผล |
|
Dicision |
การตัดสินใจที่มีเงื่อนไข ต้องเลือกอย่างใดอย่างหนึ่ง |
|
Predefined Process |
การเรียกใช้โปรแกรมย่อย |
|
Flow line |
แสดงทิศทางและลำดับการทำงาน |
|
on page connector |
จุดเชื่อมต่อของผังงาน ใช้สัญลักษณ์นี้เพื่อให้ดูง่าย |
|
off page connector |
จุดเชื่อมต่อของผังงาน ที่อยู่คนละหน้ากระดาษ |
ตัวอย่างที่ 1 การเขียนผังงานแบบเรียงลำดับ
ตัวอย่างที่ 2 การเขียนผังงานแบบทางเลือก
ตัวอย่างที่ 3 การเขียนผังงานแบมีการทำซ้ำ