วันอังคารที่ 8 กุมภาพันธ์ พ.ศ. 2554

บทที่ 9 การทำงานแบบมีทางเลือก

การทำงานแบบลำดับในบทที่ 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 ใหม่ หรือก็ไม่ทำกิจกรรมใดเลย 

สรุปท้ายบท 
                โดยสรุปแล้ว การทำงานแบบมีทางเลือกจะเป็นการทำงานที่มีจุดเปลี่ยนทางการทำงานตามเงื่อนไขที่กำหนดการทำงานแบบมีทางเลือกมีทั้งการทำงานแบบทางเลือกเดียว สองทางเลือก และหลายทางเลือก เช่นเดียวกับโครงสร้างการเขียนผังโปรแกรมแบบมีทางเลือก

ไม่มีความคิดเห็น:

แสดงความคิดเห็น