เจาะลึกตรรกะการควบคุมทิศทางของโปรแกรม การตรวจสอบเงื่อนไข และการสั่งงานให้คอมพิวเตอร์ทำงานซ้ำ 🔁
ก่อนเรียนเรื่องเงื่อนไข ลองมาดูว่านักเรียนตัดสินประโยคเหล่านี้ได้ถูกไหม คลิกเลือก จริง หรือ เท็จ ให้แต่ละข้อ
สิ่งที่นักเรียนเพิ่งตัดสิน “จริง/เท็จ” ไปเมื่อกี้ คือหัวใจของ เงื่อนไข ที่ใช้ควบคุมทิศทางโปรแกรม ซึ่งมี 3 รูปแบบหลัก โดยหน่วยนี้จะเจาะลึก 2 แบบหลัง
ทำงานทีละบรรทัดจากบนลงล่าง (Sequence) — เรียนไปแล้วในหน่วยก่อนหน้า
ตรวจสอบเงื่อนไขก่อน แล้วเลือกทำงานแตกต่างกันไปตามผลลัพธ์ จริง/เท็จ (Selection)
ทำคำสั่งเดิมซ้ำ ๆ หลายรอบ จนกว่าเงื่อนไขจะเป็นเท็จ (Repetition)
การเขียนเงื่อนไข ต้องใช้ ตัวดำเนินการเปรียบเทียบ เพื่อตรวจสอบว่าข้อความนั้นเป็นจริงหรือเท็จ จำสัญลักษณ์เหล่านี้ให้แม่นนะ!
ลองคลิกดูตัวอย่างแต่ละแบบ พร้อมเทียบกับผังงานที่เคยเรียนมา
if อุณหภูมิ > 38: พิมพ์("อากาศร้อนมาก ระวังสุขภาพ")
ถ้าเงื่อนไขเป็น จริง จะทำคำสั่งที่อยู่ด้านใน แต่ถ้าเป็น เท็จ จะข้ามไปทำงานต่อโดยไม่แสดงข้อความใด ๆ เลย — สังเกตว่ามีทางออกทางเดียว ไม่มีทางเลือกอื่น
if เลข % 2 == 0: พิมพ์("เลขคู่") else: พิมพ์("เลขคี่")
else คือทางเลือกสำรองที่จะทำงานก็ต่อเมื่อเงื่อนไขด้านบนเป็น เท็จ เท่านั้น ทำให้มีเส้นทางให้เลือกทำ 2 ทางเสมอ
for i in range(1, 6): พิมพ์(i)
คำสั่ง for จะทำซ้ำโดยอัตโนมัติตามจำนวนรอบที่กำหนด ส่วนเบื้องหลังของผังงานจะมีลูกศรวนกลับไปตรวจเงื่อนไขซ้ำ ๆ จนครบ 5 ครั้งแล้วจึงหยุด
มาลองทบทวนความเข้าใจกันดูนะ!
คลิกเลือกสัญลักษณ์ทางซ้าย แล้วคลิกความหมายที่ตรงกันทางขวา
คะแนน = 65 if คะแนน >= 80: เกรด = "A" elif คะแนน >= 50: เกรด = "ผ่าน" else: เกรด = "ไม่ผ่าน"
โจทย์: เขียนโค้ด if-else เพื่อตรวจสอบว่าบุคคลมีสิทธิ์สอบใบขับขี่หรือไม่ โดยต้องมีอายุตั้งแต่ 18 ปีขึ้นไป
if อายุ >= 18: พิมพ์("มีสิทธิ์สอบใบขับขี่") else: พิมพ์("ยังไม่มีสิทธิ์สอบใบขับขี่")