ในบทความนี้ เราจะทำความเข้าใจความแตกต่างระหว่าง algorithm และ pseudocode −
Algorithm (อัลกอริทึม)
- นิยามว่าเป็นลำดับขั้นตอนที่ชัดเจนและกำหนดไว้ล่วงหน้า
- ขั้นตอนเหล่านี้ให้วิธีแก้ปัญหา/วิธีแก้ปัญหาที่มีอยู่
- เป็นแนวทางที่เป็นระบบและเป็นตรรกะ โดยขั้นตอนถูกนิยามทีละขั้น
- ให้คำตอบสำหรับปัญหาเฉพาะ
- คำตอบนี้จะถูกแปลงเป็น machine code ซึ่งจะถูก execute โดยระบบเพื่อให้ผลลัพธ์ที่เกี่ยวข้อง
- การดำเนินการง่ายๆ หลายอย่างถูกรวมกันเพื่อสร้างการดำเนินการที่ซับซ้อนมากขึ้น ซึ่งคอมพิวเตอร์ทำได้อย่างง่ายดาย
- Algorithms สามารถแสดงได้ด้วยภาษาธรรมชาติ, flowchart ฯลฯ
- เข้าใจยาก
- ใช้ plain text
- ง่ายต่อการ debug
- การสร้างยาก
- ไม่มีกฎที่ต้องปฏิบัติขณะสร้าง
- สามารถเข้าใจได้ว่าเป็น pseudocode สำหรับโปรแกรม
Algorithm สำหรับ linear search
- เริ่มค้นหาองค์ประกอบจากส่วนซ้ายสุดของอาร์เรย์
- เปรียบเทียบองค์ประกอบทีละตัวในแต่ละรอบกับ item_to_be_searched
- หากไม่พบการจับคู่ ให้คืนค่า -1
- มิฉะนั้น ให้คืนดัชนีที่องค์ประกอบอยู่
Pseudocode (รหัสปลอม)
- สามารถเข้าใจได้ว่าเป็นหนึ่งในวิธีที่ช่วยในการแสดง algorithm
- เป็นเวอร์ชันที่ง่ายกว่าการเขียนโค้ดในภาษาโปรแกรมมิ่ง
- เขียนเป็นภาษาอังกฤษธรรมดา ใช้วลีสั้นๆ เพื่อเขียนฟังก์ชันการทำงานที่บรรทัดโค้ดเฉพาะจะทำ
- ไม่มี syntax เฉพาะที่มีอยู่จริงในภาษาโปรแกรมมิ่งอื่นๆ
- หมายความว่าไม่สามารถ execute บนคอมพิวเตอร์ได้
- มีรูปแบบมากมายที่สามารถใช้เขียน pseudo-code ได้
- ส่วนใหญ่ของรูปแบบเหล่านี้ใช้โครงสร้างจากภาษาเช่น C, LIST, FORTRAN ฯลฯ
- Pseudocode ไม่ใช่ภาษาโปรแกรมมิ่งจริง
- โครงสร้างควบคุม เช่น 'while', 'if-then-else', 'repeat-until' ฯลฯ สามารถใช้ได้
Pseudocode สำหรับ Linear Search
FUNCTION linear_search(array, search_item):
FOR index FROM 0 → length(array):
IF array [index] == search_item THEN
RETURN index
ENDIF
ENDLOOP
RETURN -1
END FUNCTIONไม่ได้ใช้ภาษาเฉพาะ แต่ฟังก์ชันการทำงานถูกกล่าวถึงอย่างชัดเจน