การกระทำแบบเลือกทำ
ลักษณะการทำงานของขั้นตอนวิธีการแก้ปัญหา นอกจากขั้นตอนวิธีการทำงานแบบลำดับแล้ว ยังมีขั้นตอนวิธีการทำงานแบบเลือกทำ การเขียนขั้นตอนวิธีการทำงานแบบเลือกทำใช้สำหรับกรณีที่ต้องการเลือกวิธีการทำงานสำหรับการแก้ไขปัญหา ที่เหมาะสมกับลักษณะข้อมูลในขณะนั้น การเขียนขั้นตอนวิธีการทำงานแบบเลือกทำได้รับการพัฒนามาจากโครงสร้างผังงานการเลือกทำ เมื่อได้ทำการอธิบายขั้นตอนวิธีการทำงานในลักษณะของข้อความแล้ว จากนั้นจึงทำการเปลี่ยนให้เป็นรหัสเทียม และโปรแกรมภาษาคอมพิวเตอร์ ต่อไป
การเขียนขั้นตอนวิธีสำหรับการทำงานแบบเลือกทำ
การเขียนอธิบายขั้นตอนวิธีการทำงานสำหรับการทำงานแบบเลือกทำ โดยใช้คำอธิบายคือ คำว่า “ถ้า” “แล้วทำ” และ “มิฉะนั้นแล้ว”
การเขียนอธิบายขั้นตอนวิธีการทำงาน เริ่มต้นด้วยคำอธิบาย “ถ้า” ตามด้วยเงื่อนไขที่ใช้สำหรับการตัดสินใจที่อยู่ภายในสัญลักษณ์ผังงานการตัดสินใจ ถัดจากนั้นเป็นคำอธิบาย “แล้วทำ” จากนั้นเป็นการอธิบายขั้นตอนวิธีการทำงานทุกขั้นตอนการทำงานที่ต้องทำ สำหรับกรณีที่ผลการตรวจสอบเงื่อนไขเป็นจริง จากนั้นใช้คำอธิบายว่า “มิฉะนั้นแล้ว” ตามด้วยขั้นตอนวิธีการทำงานทุกขั้นตอนการทำงานที่ต้องการสำหรับกรณีที่เงื่อนไขเป็นเท็จ
จากผังงานในรูป สามารถเขียนอธิบายขั้นตอนวิธีการทำงานได้ดังนี้
จากผังงานในรูป สามารถเขียนอธิบายขั้นตอนวิธีการทำงานได้ดังนี้
1. ถ้า Condition แล้วทำ
1.1 Process 1
มิฉะนั้นแล้ว
1.2 Process 2
1.1 Process 1
มิฉะนั้นแล้ว
1.2 Process 2
ตัวอย่างที่ 1 การเปลี่ยนจากผังงานเป็นการอธิบายขั้นตอนวิธีการทำงานในลักษณะของข้อความ
การเขียนอธิบายขั้นตอนวิธีการทำงานจากผังงาน สิ่งที่ต้องทำเป็นลำดับแรกคือ การแยกกระบวนการการทำงานทั้งหมดของผังงาน วิธีการแยกกระบวนการหรือขั้นตอนการทำงานแต่ละกระบวนการสามารถทำได้ดังนี้ คือ พิจารณาที่ทิศทางเข้าและทิศทางออกของขั้นตอนการทำงาน โดยทำทีละขั้นตอนหรือกระบวนการทำงานที่มีทิศทางเข้าและทิศทางออกเพียงอย่างละหนึ่งทิศทางเท่านั้น เช่นเดียวกับการทำงานแบบลำดับ
จากผังงานในรูป การทำงานสำหรับกรณีที่ผลการตรวจสอบเงื่อนไขเป็นจริง มีขั้นตอนการทำงานหรือกระบวนการทำงานที่ต้องทำจำนวน 2 กระบวนการทำงาน คือ รับค่าของตัวแปร A และ B อีกกระบวนการทำงานหนึ่งคือ การคำนวณค่าของ X เท่ากับ A + B สำหรับกรณีที่ผลการตรวจสอบเงื่อนไขเป็นเท็จ มีขั้นตอนการทำงานหรือกระบวนการทำงานที่ต้องทำจำนวน 2 กระบวนการทำงานเช่นกัน คือ การคำนวณค่าของ X เท่ากับ X + 10 และแสดงค่าของตัวแปร X
จากส่วนของผังงานที่มีโครงสร้างการทำงานแบบเลือกทำ สามารถทำการเขียนเป็นการอธิบายขั้นตอนวิธีการทำงานในลักษณะของข้อความ ได้ดังนี้
1. ถ้า X > 5 แล้วทำ
1.1 รับค่า A , B
1.2 คำนวณค่าของ X เท่ากับ A + B
มิฉะนั้นแล้ว
1.3 คำนวณค่าของ X เท่ากับ X +10
1.4 แสดงค่าของ X
1.1 รับค่า A , B
1.2 คำนวณค่าของ X เท่ากับ A + B
มิฉะนั้นแล้ว
1.3 คำนวณค่าของ X เท่ากับ X +10
1.4 แสดงค่าของ X
การเขียนผังงานที่มีโครงสร้างผังงานแบบเลือกทำ ไม่จำเป็นต้องมีขั้นตอนการทำงานครบทั้ง 2 กรณีคือ กรณีที่เงื่อนไขเป็นจริง หรือ เป็นเท็จ บางครั้งอาจเขียนผังงานออกมาในลักษณะที่มีขั้นตอนการทำงานที่ต้องทำเพียงกรณีเดียว คือ กรณีที่ผลการตรวจสอบเงื่อนไขเป็นจริง ส่วนกรณีที่ผลการตรวจสอบเงื่อนไขเป็นเท็จ ไม่มีขั้นตอนการทำงานที่ต้องทำ
การเขียนอธิบายขั้นตอนวิธีการทำงานสำหรับผังงานที่มีลักษณะการทำงานดังกล่าว จะทำการตัดส่วนของคำอธิบาย “มิฉะนั้นแล้ว” ทิ้งไป วิธีการเขียนอธิบายขั้นตอนวิธีการทำงาน สามารถทำได้ดังนี้ คือ ขึ้นต้นด้วยคำอธิบาย “ถ้า” ตามด้วยเงื่อนไขที่ใช้พิจารณาการตัดสินใจ จากนั้นเขียนคำอธิบายว่า “แล้วทำ” ถัดจากนั้นเป็นลำดับขั้นคอนการทำงานที่ต้องทำกรณีที่ผลการตรวจสอบเงื่อนไขเป็นจริง ถ้าจบการอธิบายขั้นตอนวิธีการทำงานสำหรับการทำงานแบบเลือกทำในส่วนนั้น
รหัสทียมกับการทำงานแบบเลือกทำ
Ø รหัสเทียมสำหรับขั้นตอนวิธีการทำงานแบบเลือกทำ คือ รหัสเทียม “IF-THEN-ELSE”
โดยใช้คำรหัสเทียมแทนข้อความอธิบาย ดังนี้
Ø รหัสเทียม “IF” แทนข้อความอธิบายว่า “ถ้า”
Ø รหัสเทียม “THEN” แทนข้อความอธิบายว่า “แล้วทำ”
Ø รหัสเทียม “ELSE” แทนข้อความอธิบายว่า “มิฉะนั้นแล้ว”
Ø รหัสเทียมสำหรับส่วนของขั้นตอนวิธีการทำงานที่ต้องทำ หลังจากการตรวจสอบเงื่อนไข
ใช้รหัสเทียมตามลักษณะการทำงานของขั้นตอนวิธีการทำงานนั้น คือ ถ้าเป็นการทำงานแบบลำดับ รหัสเทียมที่ใช้คือ รหัสเทียมสำหรับการทำงานแบบลำดับ ถ้าเป็นการทำงานแบบเลือกทำ รหัสเทียมที่ใช้คือ รหัสเทียมสำหรับการทำงานแบบเลือกทำ
การเขียนรหัสเทียมที่เป็นรหัสเทียมของการทำงานย่อย ภายในการทำงานแบบเลือกทำ จะใช้ย่อหน้าช่วยเพื่อให้เห็นชัดเจนว่า เป็นรหัสเทียมที่เป็นการทำงานย่อยของรหัสเทียมใด
กรณีที่เขียนอธิบายขั้นตอนวิธีการทำงานไม่มีส่วนของคำอธิบาย “มิฉะนั้นแล้ว” การเขียนรหัสเทียมสำหรับการทำงานในกรณีนี้ จะไม่มีส่วนของรหัสเทียม “ELSE” จากการอธิบายขั้นตอนวิธีการทำงาน ในลักษณะของข้อความต่อไปนี้
ตัวอย่างที่ 6 การเขียนรหัสเทียมจากการอธิบายขั้นตอนวิธีการทำงานในลักษณะของข้อความ