หน่วยที่ 4 EP.4 เงื่อนไข (Condition) และการรับข้อมูล (Input)
  • By Admin
  • 58
  • 26 มี.ค. 2569

หน่วยที่ 4 EP.4 เงื่อนไข (Condition) และการรับข้อมูล (Input)

เรียนรู้การเขียนโปรแกรมแบบโต้ตอบใน Scratch ด้วยคำสั่งถาม-ตอบ (Ask and Wait / Answer) การเปรียบเทียบเงื่อนไขตรรกะ (True/False) และการใช้บล็อกทำซ้ำแบบมีเงื่อนไข (Repeat until)

🐱 หน่วยที่ 4: โครงงานแอนิเมชันและเกมด้วย Scratch

EP.4 เงื่อนไข (Condition) และการรับข้อมูล

มาทำให้ตัวละครของเราฉลาดขึ้นด้วยการ "โต้ตอบ" กับผู้เล่นกันครับ! ในบทนี้เราจะสอนให้ตัวละครรู้จักตั้งคำถาม รอฟังคำตอบ และนำคำตอบนั้นมาตัดสินใจเลือกทางเดิน

💬 1. ถาม-ตอบ รับข้อมูลจากผู้เล่น

เราสามารถสร้างกล่องข้อความให้ผู้เล่นพิมพ์ตอบโต้ได้ โดยใช้บล็อกในหมวด Sensing (สีฟ้าอ่อน)

  • ask [คุณชื่ออะไร?] and wait : ตัวละครจะพูดคำถาม และมีกล่องข้อความเด้งขึ้นมาให้ผู้เล่นพิมพ์ (ระบบจะหยุดรอจนกว่าจะกด Enter)
  • answer : บล็อกแคปซูลนี้คือ "ความจำระยะสั้น" มันจะเก็บข้อความล่าสุดที่ผู้เล่นพิมพ์ตอบเข้ามาเสมอ!

⚖️ 2. นักเปรียบเทียบ (Operators)

บล็อกหมวด Operators (สีเขียว) มีหน้าที่นำข้อมูลมาเปรียบเทียบกัน เช่น > (มากกว่า), < (น้อยกว่า), = (เท่ากับ) ผลลัพธ์ที่ได้จากการเปรียบเทียบจะมีแค่ 2 อย่างคือ จริง (True) หรือ เท็จ (False) เท่านั้น

ลองนำมาประกอบร่างกัน!

ask [พิมพ์เลข 5 สิ!] and wait
say answer = 5
(ถ้าผู้เล่นพิมพ์ 5 ตัวละครจะพูดว่า "true" แต่ถ้าพิมพ์เลขอื่นจะพูดว่า "false")

🔁 3. ทำซ้ำ... จนกว่าจะพอใจ (Repeat until)

เราเคยเรียน `repeat 10` ที่ทำซ้ำแบบกำหนดรอบไปแล้ว แต่ถ้าเราอยากให้มัน "ทำไปเรื่อยๆ จนกว่าจะเกิดเหตุการณ์ที่กำหนด" เราต้องใช้บล็อก repeat until <เงื่อนไข>

บล็อกนี้จะทำงานซ้ำๆ ไปเรื่อยๆ "ตราบใดที่เงื่อนไขยังเป็นเท็จ (False)" และจะ "หยุดทำทันทีเมื่อเงื่อนไขเป็นจริง (True)"

✍️ มินิควิซ ประเมินตนเอง

ทดสอบความเข้าใจเรื่องถาม-ตอบและเงื่อนไข! (ไม่เก็บคะแนน)

ข้อที่ 1: บล็อกคำสั่งใดใน Scratch ที่ทำหน้าที่ "สร้างกล่องข้อความ" เพื่อให้ผู้ใช้งานพิมพ์ข้อมูลส่งให้โปรแกรม?

ข้อที่ 2: หลังจากใช้คำสั่ง ask ... and wait ข้อมูลที่ผู้ใช้งานพิมพ์ตอบกลับมา จะถูกนำไปเก็บไว้ในบล็อกใดโดยอัตโนมัติ?

ข้อที่ 3: ผลลัพธ์ที่ได้จากการใช้บล็อกเปรียบเทียบในหมวด Operators เช่น [ 50 > 100 ] คืออะไร?

ข้อที่ 4: บล็อกคำสั่ง "repeat until <เงื่อนไข>" มีหลักการทำงานอย่างไร?

💡 พบข้อผิดพลาดหรือมีข้อเสนอแนะ?

หากนักเรียนหรือคุณครูพบจุดที่ควรแก้ไขในบทเรียน/แบบทดสอบนี้ หรือมีข้อเสนอแนะเพิ่มเติม สามารถแจ้งครูพิสิฐเพื่อนำไปปรับปรุงเนื้อหาให้สมบูรณ์ยิ่งขึ้นได้เลยครับ
(ขอบคุณที่ร่วมเป็นส่วนหนึ่งในการพัฒนาการเรียนรู้ไปด้วยกันครับ)

✉️ ส่งอีเมลแจ้งครูพิสิฐ

แชร์ :

บทเรียนอื่น ๆ