4. โครงสร้างการทำางานแบบมีการเลือก ( Selection )
เป็นโครงสร้างที่ใช้การตรวจสอบเงื่อนไขเพื่อการทำางานอย่างใดอย่างหนึ่ง
โดยโครงสร้างแบบนี้จะมีอยู่ด้วยกัน 2 รูปแบบ คือ IF - THEN - ELSE และ IF -
THEN
โครงสร้างแบบ IF - THEN - ELSE เป็นโครงสร้างที่จะทำาการเปรียบเทียบ
เงื่อนไขที่ใส่ไว้ในส่วนหลังคำาว่า IF และเมื่อได้ผลลัพธ์จากการเปรียบเทียบก็จะ
เลือกว่าจะทำางานต่อในส่วนใด กล่าวคือถ้าเงื่อนไขเป็นจริง ( TRUE ) ก็จะเลือก
ไปทำางานต่อที่ส่วนที่อยู่หลัง THEN แต่ถ้าเงื่อนไขเป็นเท็จ ( FALSE ) ก็จะไป
ทำางานต่อในส่วนที่อยู่หลังคำาว่า ELSE
แต่ถ้าสำาหรับโครงสร้างแบบ IF - THEN เป็นโครงสร้างที่ไม่มีการใช้ ELSE ดังนั้น
ถ้ามีการเปรียบเทียบเงื่อนไขที่อยู่หลัง IF มีค่าเป็นจริง ก็จะไปทำาส่วนที่อยู่หลัง
Then แต่ถ้าเงื่อนไขเป็นเท็จ ก็จะไปทำาคำาสั่งที่อยู่ถัดจาก IF - THEN แทน
5. ตัวอย่าง 3 การเขียนผังงานอ่านค่าข้อมูลเข้ามาเก็บไว้ในตัวแปร A และ B แล้ว
ทำาการเปรียบเทียบในตัวแปรทั้งสอง โดยมีเงื่อนไขดังนี้
ถ้า A มากกว่า B ให้คำานวณหาค่า A - B และเก็บผลลัพธ์ไว้ในตัวแปรชื่อ
RESULT
ถ้า A น้อยกว่าหรือเท่ากับ B ให้คำานวณหาค่า A + B และเก็บผลลัพธ์ไว้ใน
ตัวแปรชื่อ RESULT
7. โครงสร้างการทำางานแบบมีการทำางานซำ้า
เป็นโครงสร้างที่มีการประมวลผลกลุ่มคำาสั่งซำ้าหลายครั้ง ตามลักษณะ
เงื่อนไขที่กำาหนด อาจเรียก การทำางานซำ้าแบบนี้ได้อีกแบบว่า การวนลูป
( Looping ) โครงสร้างแบบการทำางานซำ้านี้จะมีอยู่ 2 ประเภท คือ
DO WHILE
DO UNTIL
DO WHILE
เป็นโครงสร้างที่มีการทดสอบเงื่อนไขก่อน ถ้าเงื่อนไขเป็นจริงก็จะเข้ามา
ทำางานในกลุ่มคำาสั่งที่ต้องทำาซำ้า ซึ่งเรียกว่าการเข้าลูป หลังจากนั้นก็จะย้อนกลับ
ไปตรวจสอบเงื่อนไขใหม่อีก ถ้าเงื่อนไขยังคงเป็นจริงอยู่ ก็ยังคงต้องทำากลุ่มคำาสั่ง
ซำ้าหรือเข้าลูปต่อไปอีก จนกระทั่งเงื่อนไขเป็นเท็จ ก็จะออกจากลูปไปทำาคำาสั่งถัด
ไปที่อยู่ถัดจาก DO WHILE หรืออาจเป็นการจบการทำางาน
DO UNTIL
เป็นโครงสร้างการทำางานแบบทำางานซำ้าเช่นกัน แต่มีการทำางานที่แตกต่าง
จาก DO WHILE คือจะมีการเข้าทำางานกลุ่มคำาสั่งที่อยู่ภายในลูปก่อนอย่างน้อย
1 ครั้ง แล้วจึงจะไปทดสอบเงื่อนไข ถ้าเงื่อนไขเป็นเท็จก็จะมีการเข้าทำากลุ่มคำาสั่ง
ที่ต้องทำาซำ้าอีก หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไขใหม่อีก ถ้าเงื่อนไข
ยังคงเป็นเท็จอยู่ ก็ยังต้องทำากลุ่มคำาสั่งซำ้าหรือเข้าลูปต่อไปอีก จนกระทั่งเงื่อนไข
เป็นจริง จึงจะออกจากลูปไปทำาคำาสั่งถัดจาก UNTIL หรืออาจเป็นการจบการ
ทำางาน
8. สรุปข้อแตกต่างระหว่าง DO WHILE และ DO UNTIL มีดังนี้
1. DO WHILE ในการทำางานครั้งแรกจะต้องมีการตรวจสอบเงื่อนไขก่อน
ทุกครั้ง ก่อนที่จะมีการเข้ลูปการทำางาน
2. DO UNTIL การทำางานครั้งแรกจะยังไม่มีการตรวจสอบเงื่อนไข แต่จะ
เข้าไปทำางานในลูปก่อนอย่างน้อย 1 ครั้งแล้วจึงจะไปตรวจสอบเงื่อนไข
3. DO WHILE จะมีการเข้าไปทำางานในลูปก็ต่อเมื่อตรวจสอบเงื่อนไขแล้ว
พบว่า เงื่อนไขเป็นจริง แต่เมื่อพบว่าเงื่อนไขเป็นเท็จ ก็จะออกจากลูปทันที
4. DO UNTIL จะมีการเข้าไปทำางานในลูปก็ต่อเมื่อตรวจสอบเงื่อนไขแล้ว
พบว่า เงื่อนไขเป็นเท็จ แต่เมื่อพบว่าเงื่อนไขเป็นจริง ก็จะออกจากลูปทันที
ตัวอย่าง 5 จงเขียนผังงานแสดงการเพิ่มของข้อมูลตัวเลขที่เป็นอยู่ในหน่วยความ
จำาที่แอดเดรส 1 โดยที่ค่าเริ่มต้นจาก 0 ให้ทำาการเพิ่มค่าทีละ 1 เรื่อยไปจน
กระทั่ง J มีค่าข้อมูลมากกว่า 100 จึงหยุดการทำางาน
ตัวอย่างนี้ เป็นตัวอย่างการทำางานแบบทำาซำ้า ซึ่งจะสามารถแสดงการเขียนได้ทั้ง
แบบ DO WHILE และ DO UNTIL ดังนี้