สาระการเรียนรู้ที่ 8 การเขียนโปรแกรมเบื้องต้น
เรื่อง คำสั่งแบบเงื่อนไข


สาระสำคัญ
การใช้คำสั่ง GOTO และ IF/THEN เพื่อที่จะควบคุมการทำงานของเครื่องคอมพิวเตอร์และเป็นคำสั่งที่ใช้เปลี่ยนลำดับการทำงานของโปรแกรม

จุดประสงค์ปลายทาง
เข้าใจและสามารถใช้คำสั่งแบบมีเงื่อนไขในการเขียนโปรแกรมได้

จุดประสงค์นำทาง
1. นักเรียนสามารถเขียนโปรแกรมโดยใช้คำสั่ง GOTO ได้
2. นักเรียนสามารถเขียนโปรแกรมโดยใช้คำสั่ง IF/THEN ได้
3. บอกรูปแบบและอธิบายการทำงานของคำสั่ง IF/THEN และ GOTO ได้
4. เข้าใจคำสั่งในการกระโดดข้ามการทำงานในการเขียนโปรแกรมได้
5. เข้าใจคำสั่งในการสร้างเงื่อนไขในการเขียนโปรแกรมได้

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

รูปแบบคำสั่ง GOTO

            GOTO [ชื่อหรือหมายเลขที่ต้องการให้โปรแกรมไปทำงาน]

ตัวอย่างเช่น
           GOTO 200
          คำสั่งนี้แสดงว่าให้เครื่องวิ่งไปทำงานในบรรทัดหมายเลข 200

ตัวอย่างที่ 8.1 การใช้คำสั่ง GOTO
         10 PRINT “โปรแกรมการใช้ GOTO”
         20 GOTO 50
         30 PRINT “บรรทัดนี้ไม่ปรากฏที่หน้าจอ”
         40 PRINT “บรรทัดนี้ไม่ปรากฏที่หน้าจอ”
         50 END
         เมื่อพิมพ์คำสั่งบรรทัดที่ 10 ก็จะไปทำคำสั่ง GOTO ในบรรทัดที่ 20 โดยกระโดดข้ามไปทำงานที่บรรทัด
50 คือ END และจบการทำงานโดยไม่ทำงานในบรรทัดที่ 30 และ 40

ตัวอย่างที่ 8.2 การใช้คำสั่ง GOTO กระโดดข้าม END
         10 INPUT A
         20 PRINT “โปรแกรมนี้กระโดดข้าม END”
         30 GOTO 50
         40 END
         50 PRINT A
         โดยปกติคำสั่ง END หมายถึงให้โปรแกรมหยุดการทำงาน ซึ่งจะไม่ทำงานในบรรทัดที่ 50 แต่คำสั่ง GOTO กระโดดไปทำงานที่บรรทัด 50 จึงข้ามคำสั่ง END

คำสั่ง IF/THEN
           คำสั่ง IF/THEN เป็นคำสั่งควบคุมการทำงานแบบมีเงื่อนไข ซึ่งการใช้คำสั่ง IF จะต้องคู่กับคำสั่ง THEN การกำหนดเงื่อนไขเป็นการทำงานตามคำสั่งที่อยู่หลังคำสั่ง IF และจะทำงานตามคำสั่งที่ระบุหลัง THEN โดยการทำงานจะทำงานเมื่อเงื่อนไหลังคำสั่ง IF เป็นจริง แต่ถ้าเงื่อนไขหลังคำสั่งเป็นเท็จ โปรแกรมก็จะทำงานตามคำสั่งที่อยู่ในบรรทัดต่อไป การกำหนดเงื่อนไขในนิพจน์หลัง IF มักจะให้เครื่องหมาย =,>,<.>=,<=,<>

รูปแบบคำสั่ง IF/THEN

           IF [ เงื่อนไขที่กำหนด] THEN [ คำสั่งให้ไปทำงาน]

ตัวอย่างที่ 8.3
          CLS
          INPUT “โปรดใส่คะแนนที่ท่านสอบได้ “;A
          IF A >= 80 THEN PRINT “คุณได้เกรด 4”
          IF A < 80 THEN PRINT “คุณยังไม่ได้เกรด 4”
          END
          จากตัวอย่างที่กำหนดคำสั่ง INPUT ให้ใส่ค่าเป็นตัวเลข โดยกำหนดคำสั่ง IF เอาไว้ในเงื่อนไขแรกคือ ถ้า A มากกว่า 80 ให้พิมพ์คำว่า “คุณได้เกรด 4” แต่ในเงื่อนไขที่กลับกันคือ บรรทัดที่ 3 ถ้า A น้อยกว่า 80 ให้พิมพ์คำว่า “คุณยังไม่ได้เกรด 4”

ตัวอย่างที่ 8.4 โปรแกรมแสดงการรับข้อมูล 2 ค่า แล้วนำมาเก็บไว้ที่ตัวแปร A และ B เพื่อนำมาหาผลบวก ถ้าเกินกว่า 100 ต้องกลับไปใส่ค่าตัวเลขใหม่แต่ถ้าไม่เกิน 100 ก็จะแสดงผลลัพธ์
         10 PRINT “โปรดใส่ค่าตัวเลข 2 จำนวน แต่รวมกันห้ามเกิน 100”
         20 INPUT “ตัวเลขที่ 1 คือ =”;A
         30 INPUT “ตัวเลขที่ 2 คือ =”;B
         40 C = A + B
         50 IF C>100 THEN 90
         60 PRINT “ผลลัพธ์ของ”;A;”และ”;B;”คือ “;C
         70 PRINT “ขอบคุณที่ใช้บริการของเรา”
         80 END
         90 PRINT “โปรดใส่ตัวเลขใหม่เพราะรวมแล้วเกิน 100”
         100 GOTO 10

ตัวอย่างที่ 8.5
          PRINT “----------------------------------------“
          PRINT “ คำสั่ง IF..THEN คำสั่งแบบมีเงื่อนไข จัดเก็บไฟล์ชื่อ test1 “
          PRINT “ โปรแกรมนี้กำหนดเงื่อนไขให้ A <= 80 “
          PRINT “ ดังนั้นคะแนนที่มากกว่า 80 รวม ไม่รวม 80 จะได้เกรด 4 “
          PRINT “----------------------------------------“
          10 READ A
          IF A <= 80 THEN 10
          IF A = 0 THEN 20
          PRINT “ คะแนนที่จะได้เกรด 4 คือ “;A
          GOTO 10
          DATA 56,48,59,32,82,91,80,64,79,68,0
          20 END

คำสั่ง IF/THEN/ELSE
          คำสั่งกำหนดเงื่อนไขโดยการใช้ IF..THEN เป็นการกำหนดเงื่อนไข โดยดูจากข้อเท็จหลังเงื่อนไขว่าเป็นจริงหรือไม่ ถ้าเงื่อนไขที่กำหนดเป็นจริงก็จะทำงานตามข้อความหลัง THEN แต่ถ้าไม่เป็นจริงก็จะลงมาทำงานในบรรทัดถัดไป แต่การใช้คำสั่ง IF..THEN..ELSE เป็นการเพิ่มเงื่อนไขด้วยคำสั่ง ELSE นั่นคือ ถ้าเงื่อนไขในนิพจน์หลัง IF เป็นจริง ให้ทำงานตามข้อความหลัง THEN ถ้าเงื่อนไขในนิพจน์หลัง IF เป็นเท็จ ให้ทำงานจามข้อความหลัง ELSE

ตัวอย่างที่ 8.6 แสดงคำสั่งโต้ตอบในการถอนเงินจากตู้ ATM
          CLS
          PRINT “ ท่านสามารถถอนเงินได้ไม่เกิน 10,000 บาท “
          5 INPUT “ โปรดใส่จำนวนเงินที่ท่านต้องการถอน =”;A
          IF A<= 10000 THEN 10 ELSE GOTO 20
          10 PRINT “ โปรดหยิบเงินจากช่องรับเงิน “
          PRINT “ ขอบคุณที่ใช้บริการ “
          END
         20 PRINT “ ยอดเงินที่ท่านกรอกไม่สามารถถอนได้ “
         GOTO 5

ตัวอย่างที่ 8.7 แสดงการสร้างข้อสอบ
         CLS
         PRINT “ จงตอบคำถามต่อไปนี้“
         PRINT “ ประเทศไทยมีกี่จังหวัด“
         PRINT “1. 73      2. 76 “
         PRINT “3. 79      4. 85”
         PRINT “……………………….”
         5 INPUT “โปรดเลือกข้อที่ท่านเห็นว่าถูกต้องที่สุด =”;A
         IF A = 1 THEN 10
         IF A = 2 THEN 20
         IF A = 3 THEN 10
         IF A = 4 THEN 10
         IF A > 4 THEN 20
        10 PRINT “ โปรดหาหนังสือมาอ่าน“
        END
        20 PRINT “ คุณยังเก่งเสมอ “

เว็บไซต์นี้ จัดทำเพื่อใช้ประกอบการเรียนการสอนผ่านระบบเครือข่ายอินเทอร์เน็ตโรงเรียนลำปางกัลยาณี จังหวัดลำปาง

-----    -----