สาระการเรียนรู้ที่ 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 คุณยังเก่งเสมอ
เว็บไซต์นี้ จัดทำเพื่อใช้ประกอบการเรียนการสอนผ่านระบบเครือข่ายอินเทอร์เน็ตโรงเรียนลำปางกัลยาณี จังหวัดลำปาง