ยินดีต้อนรับเข้าสู่เว็บไซต์บทเรียนออนไลน์ รายวิชา หลักการเขียนโปรแกรม รหัสวิชา ง30259 ชั้นมัธยมศึกษาปีที่ 5
 
     
 
 
 
หน่วยที่ 4 โครงสร้างผังงาน

4.2 โครงสร้างผังงานแบบเลือกทำ

โครงสร้างผังงานแบบเลือกทำ เป็นโครงสร้างที่มีรูปแบบซับซ้อนกว่าโครงสร้างผังงานแบบลำดับ ซึ่งจะต้องมีการนำ "สัญลักษณ์การตัดสินใจ" มาใช้เพื่อทำการเปรียบเทียบเงื่อนไข โดยรูปแบบของโครงสร้างแบบเลือกทำ มีดังต่อไปนี้
     1.  แบบทางเลือกทางเดียว   (Single Alternative IF)
     2.  แบบทางเลือกสองทาง    (Double Alternative IF)
     3.  แบบทางเลือกหลายทาง  (Multiple Alternative IF)

1. แบบทางเลือกทางเดียว   (Single Alternative IF)

ผังงานแบบทางเลือกทางเดียว เป็นลักษณะของคำสั่งที่มีทางเลือกทางเดียว คือ ถ้าเงื่อนไขในการตรวจสอบเป็น "จริง" จึงทำคำสั่ง (Statement) หรือ กลุ่มคำสั่ง (Statement Block) นั้น แต่ถ้าเงื่อนไขในการตรวจสอบเป็น "เท็จ" ก็จะข้ามไป


โครงสร้างแบบทางเลือกทางเดียว ( if ...then )






ตัวอย่าง การเขียนผังงานของการทำบัตรประชาชน โดยมีเงื่อนไขในการขอมีบัตรใหม่คือจะต้องอายุ 7 ขวบขึ้นไป ถึงจะมีสิทธ์ทำบัตรประชาชน


การเขียนผังงานแบบข้อความ

การเขียนผังงานแบบสัญลักษณ์

เริ่มต้น
     1.ตรวจสอบอายุ
     2. ตรวจสอบเงื่อนไข อายุ 7 ขวบขึ้นไปหรือไม่
         (ถ้าใช่ไปที่ข้อ 2.1 ถ้าไม่ใช่ข้ามไปที่จบ)
           2.1 ทำบัตรประชาชน
จบ


2. แบบทางเลือกสองทาง (Double Alternative IF)

ผังงานแบบทางเลือกสองทาง เป็นลักษณะของคำสั่งที่มีทางเลือกสองทาง คือ ถ้าเงื่อนไขในการตรวจสอบเป็น "จริง" จึงทำคำสั่ง (Statement) หรือ กลุ่มคำสั่ง (Statement Block) ชุดแรก แต่ถ้าเงื่อนไขในการตรวจสอบเป็น "เท็จ" ก็จะข้ามไปทำคำสั่งถัดไป


โครงสร้างแบบทางเลือกสองทาง ( if ...then...else )






ตัวอย่าง การเขียนผังงานของการทอดลูกเต๋าเพื่อชิงของรางวัล โดยมีเงื่อนไขในการรับรางวัลดังนี้
        ถ้าทอดลูกเต๋าได้แต้มมากกว่า 5 แต้ม จะได้รับรางวัลคือ ตุ๊กตาหมี
        ถ้าทอดลูกเต๋าได้แต้มน้อยกว่าหรือเท่ากับ 5 แต้ม จะได้รับรางวัลคือ ปากกา


การเขียนผังงานแบบข้อความ

การเขียนผังงานแบบสัญลักษณ์

เริ่มต้น
     1.ทอดลูกเต๋า
     2. ตรวจสอบเงื่อนไข แต้มมากกว่า 5 หรือไม่
         (ถ้าใช่ไปที่ข้อ 2.1 ถ้าไม่ใช่ไปที่ ข้อ 2.2 )
           2.1 ได้รับตุ๊กตาหมี แล้วไปที่จบ
           2.2 ได้รับปากกา แล้วไปที่จบ
จบ


3. แบบทางเลือกหลายทาง (Multiple Alternative IF)

ผังงานแบบทางเลือกหลายทาง เป็นโครงสร้างควบคุมแบบเลือกทำชนิดหลายทางเลือกในการทำงาน คือถ้าค่าความจริงตรงตามเงื่อนไขใดๆ ก็จะเข้าไปทำงานในคำสั่งนั้น ซึ่งสามารถแบ่งออกได้อีก 2 ลักษณะคือ
    1. ทางเลือกหลายทางแบบ IF ซ้อน IF (Nested IF Statement)
    2. ทางเลือกหลายทางแบบ Case (Case Control Structure)

3.1 ทางเลือกหลายทางแบบ IF ซ้อน IF (Nested IF Statement)

ผังงานทางเลือกหลายทางแบบ IF ซ้อน IF คือ โครงสร้างผังงานแบบทางเลือกหลายทาง รูปแบบนี้จะมีการใช้ สัญลักษณ์การตัดสินใจมาซ้อนกัน เพื่อทำการเปรียบเทียบเงื่อนไข ถ้าเงื่อนไขในการตรวจสอบใดเป็น "จริง" ก็จะทำคำสั่ง แต่ถ้ายังไม่ใช่ก็จะไปทำการตรวจสอบเงื่อนไขถัดไปเรื่อยๆ จนกว่าจะตรงตามเงื่อนไขจึงค่อยทำคำสั่ง


โครงสร้างแบบ IF ซ้อน IF






ตัวอย่าง การเขียนผังงานของการหยิบลูกบอลในภาชนะหนึ่ง ซึ่งมีลูกบอล 3 ลูก คือสีแดง สีเขียว สีเหลือง โดยลูกบอลที่หยิบขึ้นมีคะแนนดังนี้
        ถ้าหยิบได้ สีแดง ได้ 5 คะแนน
        ถ้าหยิบได้ สีเขียว ได้ 3 คะแนน
        ถ้าหยิบได้ สีเหลือง ได้ 1 คะแนน


การเขียนผังงานแบบข้อความ

การเขียนผังงานแบบสัญลักษณ์

เริ่มต้น
     1.หยิบลูกบอลขึ้นมา 1 ลูก
     2. ตรวจสอบเงื่อนไข สีแดงหรือไม่
         (ถ้าใช่ไปที่ข้อ 2.1 ถ้าไม่ใช่ไปที่ ข้อ 3 )
           2.1 ได้คะแนน 5 คะแนน แล้วไปที่จบ
     3. ตรวจสอบเงื่อนไข สีเขียวหรือไม่
         (ถ้าใช่ไปที่ข้อ 3.1 ถ้าไม่ใช่ไปที่ ข้อ 3.2 )
           3.1 ได้คะแนน 3 คะแนน แล้วไปที่จบ
           3.2 ได้คะแนน 1 คะแนน แล้วไปที่จบ
จบ


3.2 ทางเลือกหลายทางแบบ Case (Case Control Structure)

ผังงานทางเลือกหลายทางแบบ Case คือ โครงสร้างผังงานแบบเลือกหลายทางแบบ Case Control Structure นั้นไม่ได้เป็นรูปแบบของโครงสร้างผังงานแบบหลายทางอย่างแท้จริง จะเป็นเพียงแค่รูปแบบโครงสร้างที่ทำให้ผังงานดูความง่ายขึ้นนั่นเอง


โครงสร้างแบบ Case