การทำงานแบบลำดับในบทที่ 8 นั้น ถือเป็นวิธีการทำงานที่ต้องมีในทุโปรแกรม เมื่อนำมาพัฒนาเป็นโปรแกรมก็จะเสมือนว่าเป็นการนำคำสั่งต่าง ๆ ของภาษาโปรแกรมที่ต้องการเขียนมาต่อเรียงกันไปทำให้คอมพิวเตอร์ทำคำสั่งแต่ละคำสั่งต่อเนื่องกันไป สำหรับโปรแกรมที่มีการทำงานที่ซับซ้อนขึ้นจะต้องมีการเปลี่ยนทิศทางการทำงานของโปรแกรมบ้าง เพื่อให้คอมพิวเตอร์สามารถเลือกได้ว่าคำสั่ง หรือชุดคำสั่งใด ๆ คอมพิวเตอร์จะต้องทำหรือไม่หรือต้องทำในเวลาใด
9.1 ประเภทของการทำงานแบบมีทางเลือก
การทำงานแบบเลือกทำนั้นสามารถแบ่งทิศทางการทำงานของโปรแกรมได้ดังนี้
1. การทำงานแบบมีทางเลือกทางเดียว
2. การทำงานแบบสองทางเลือก
สำหรับการทำงานแบบมีทางเลือกเดียวและแบบสองทางเลือก จะต้องมีการตรวจสอบเงื่อนไขเพื่อเป็นตัวพิจารณาว่าจะทำโปรแกรมในทิศทางใดต่อไป การตรวจสอบเงื่อนไขนั้น ผลลัพธ์ที่ได้จะเป็นค่าทางบูลีน คือมีค่าเป็นไปได้ 2 กรณี คือเป็นจริง หรือเป็นเท็จ
กรณีการเลือกทำแบบมีทางเลือกเดียว ถ้าเงื่อนไขเป็นจริง โปรแกรมจะทำชุดคำสั่งที่กำหนด แต่ถ้าหากเงื่อนไขเป็นเท็จโปรแกรมจะไม่ทำชุดคำสั่ง ส่วนการเลือกทำแบบสองทางเลือก ถ้าหากเงื่อนไขเป็นจริง โปรแกรมจะทำชุดคำสั่งที่ 1 แต่ถ้าหากเงื่อนไขเป็นเท็จโปรแกรมจะทำชุดคำสั่งที่ 2
ในส่วนของการตรวจสอบเงื่อนไขนั้น จะเป็นการเขียนนิพจน์ที่จะแสดงความสัมพันธ์ระหว่างตัวแปรกับตัวแปร หรือระหว่างตัวแปรกับค่าคงที่ โดยจะนำตัวดำเนินการมาใช้ซึ่งส่วนใหญ่แล้วจะเป็นตัวดำเนินการเปรียบเทียบและตัวดำเนินการทางลอจิกดังที่ได้ศึกษามาแล้วในบทที่ 3
9.2 การเขียนคำอธิบายโปรแกรมจากผังงานแบบมีทางเลือก
ถ้าหากมีผังงานที่มีการเลือกทำ ไม่ว่าจะเป็นแบบทางเดียวหรือแบบสองทางแล้วต้องการเขียนคำอธิบายการทำงาน สิ่งแรกที่ต้องกระทำคือ พยายามแยกกระบวนการทำงานทั้งหมดออกจากผังงานเป็นส่วน ๆ ก่อน จากนั้นให้พิจารณาทิศทางการทำงานของโปรแกรมทีละขั้นตอน แล้วจึงเขียนคำอธิบายการทำงานออกมา โดยคำอธิบายการทำงานควรมีหมายเลขบรรทัดด้วย และหมายเลขนี้ควรมีหมายเลขตามลำดับของสัญลักษณ์ของผังงาน
9.3 การเขียนซูโดโค้ดสำหรับงานแบบมีทางเลือก
จากที่ได้ศึกษาการเขียนซูโดโค้ดมาแล้วในบทที่ 7 จะพบว่าซูโดโค้ดที่นำมาใช้การเขียนโปรแกรมแบบเลือกทำจะใช้ คำว่า IF หรือ IF-THEN-ELSE และ ENDIF ถ้าหากต้องการนำมาเขียนแทนคำอธิบายการทำงานของโปรแกรมจำใช้คำว่า “IF”แทนคำอธิบายว่า “ถ้า” ใช้คำว่า “THEN” แทนคำอธิบายว่า “แล้ว” และใช้คำว่า “ELSE” แทนคำอธิบายว่า “มิฉะนั้น” และจบประโยคการเลือกทำด้วย ENDIF
9.4 การเขียนผังงานจากซูโดโค้ดแบบมีทางเลือก
ผังงานนอกจากจะเขียนขึ้นมาจากการวิเคราะห์ปัญหาแล้ว ยังเขียนขึ้นมาจากซูโดโค้ดได้เช่นกัน สำหรับกรณีที่โปรแกรมเป็นแบบมีทางเลือก ให้พยายามแยกประโยค IF ออกมาเป็นกลุ่ม ๆ แล้วพิจารณาว่าถ้าเงื่อนไขเป็นจริงจะทำทิศทางใด เงื่อนไขเป็นเท็จจะทำทิศทางใด
9.5 การทำงานแบบมีทางเลือกหลายทาง
สำหรับการทำงานที่มีทางเลือกหลายทางนั้นสามารถเขียนประโยค IF..THEN..ELSE มาซ้อนกันได้ แต่ถ้าหากมีทางเลือกมากขึ้นจะทำให้การเขียนแบบ IF ดูแล้วซับซ้อนและไม่ค่อยสะดวก ดังนั้นจึงมีการนำคำว่า “CASE”, “OF” และ “ENDCASE” มาใช้
เมื่อการทำงานของระบบเข้าสู่เงื่อนไขการเลือกทำ ระบบจะตรวจสอบว่าค่าคงที่ที่ได้จากการตรวจสอบเงื่อนไข ถ้าหากทราบว่ามีค่าเท่ากับค่าคงที่หรือ CASE ใด ก็จะกระโดดไปทำกิจกรรมที่อยู่ใน CASE นั้น แต่ถ้าหากไม่เท่ากับ CASE ใดเลยก็
จะตรวจสอบ CASE ใหม่ หรือก็ไม่ทำกิจกรรมใดเลย
สรุปท้ายบท
โดยสรุปแล้ว การทำงานแบบมีทางเลือกจะเป็นการทำงานที่มีจุดเปลี่ยนทางการทำงานตามเงื่อนไขที่กำหนดการทำงานแบบมีทางเลือกมีทั้งการทำงานแบบทางเลือกเดียว สองทางเลือก และหลายทางเลือก เช่นเดียวกับโครงสร้างการเขียนผังโปรแกรมแบบมีทางเลือก
ไม่มีความคิดเห็น:
แสดงความคิดเห็น