อัปสกิลโค้ดดิ้ง (If-Else & Loop)
  • By Admin
  • 473
  • 26 ก.พ. 2569

อัปสกิลโค้ดดิ้ง (If-Else & Loop)

อัปเกรดสกิลการเขียนโปรแกรม! เรียนรู้การใช้คำสั่งเงื่อนไข (If-Else) การทำซ้ำ (Loop) และทักษะนักล่าบั๊ก (Debugging) เพื่อสร้างเกมหรือแอนิเมชันที่ฉลาดและซับซ้อนขึ้น

🆙 หน่วยที่ 4: อัปสกิลโค้ดดิ้ง

ทะลวงขีดจำกัด! สั่งงานให้ฉลาดขึ้นด้วย Loop และ If-Else

1. เหนื่อยไหมที่ต้องสั่งงานซ้ำๆ? ใช้ "ลูป (Loop)" สิ!

สมมติว่าเราอยากสั่งให้ตัวละครเดิน 100 ก้าว ถ้าเราต้องลากบล็อก "เดินหน้า" มาต่อกัน 100 อัน คงเมื่อยมือแย่เลยใช่ไหมครับ? โปรแกรมเมอร์จึงคิดค้น "การทำซ้ำ (Loop)" ขึ้นมา ซึ่งอยู่ในหมวดคำสั่ง สีส้ม (Control) ครับ

  • 🔁 ทำซ้ำ ... รอบ (Repeat): สั่งให้บล็อกที่อยู่ข้างในทำงานวนไปตามจำนวนรอบที่เรากำหนด พอครบแล้วก็จะหยุด
  • ♾️ วนซ้ำตลอด (Forever): สั่งให้ทำงานวนไปเรื่อยๆ ไม่มีวันหยุด! (จนกว่าเราจะกดปุ่ม Stop 🛑)

2. ทางแยกของการตัดสินใจ "เงื่อนไข (If-Else)"

เวลาเราเล่นเกม ถ้าเราเดินชนศัตรู เลือดเราจะลด แต่ถ้าเราเก็บเหรียญ คะแนนเราจะเพิ่ม... นี่คือการทำงานของ "เงื่อนไข (Condition)" ครับ ใน Scratch เราจะใช้บล็อกที่มีรูปร่างเหมือนปากจระเข้ อ้าปากรอรับคำสั่ง:

🤔 ถ้า...แล้ว (If...then)

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

🔀 ถ้า...แล้ว...มิฉะนั้น (If...then...else)

แบบมีทางเลือก 2 ทาง! เช่น ถ้าสอบผ่าน ให้แสดงคำว่า "ดีใจด้วย" มิฉะนั้น (สอบตก) ให้แสดงคำว่า "พยายามใหม่นะ"

3. วิถีนักล่าบั๊ก (Debugging)

เขียนโค้ดแล้วตัวละครไม่ยอมเดิน? หรือเดินทะลุกำแพง? อาการเหล่านี้เราเรียกว่าเกิด "บั๊ก (Bug)" หรือข้อผิดพลาดในโปรแกรมครับ หน้าที่ของเราคือต้องทำ Debugging (การไล่หาและแก้ไขข้อผิดพลาด) โดยค่อยๆ อ่านโค้ดที่เราต่อไว้ทีละบรรทัดว่าเราเรียงลำดับผิด หรือใส่เงื่อนไขผิดตรงไหน การแก้บั๊กได้ด้วยตัวเองคือสกิลขั้นเทพของโปรแกรมเมอร์เลยนะ!

🕹️ ภารกิจ: แมวซิ่งวิ่งไม่หยุด!

เรามาใช้ "Loop" และ "เงื่อนไข" ทำให้เจ้าแมวเดินไปมาบนเวที พอชนขอบจอแล้วให้เด้งกลับกันเถอะ!

🛠 สเต็ปการต่อบล็อก:

  1. เริ่มจากบล็อกสีเหลือง "เมื่อคลิก 🟢 (ธงเขียว)"
  2. ลากบล็อกสีส้ม "วนซ้ำตลอด (Forever)" มาต่อด้านล่าง
  3. เอาบล็อกสีฟ้า "เคลื่อนที่ 10 ก้าว" ไปใส่ไว้ ข้างใน ปากของบล็อกวนซ้ำตลอด
  4. หาบล็อกสีฟ้าที่ชื่อว่า "ถ้าชนขอบให้สะท้อนกลับ (If on edge, bounce)" เอาไปต่อใต้บล็อกเดิน 10 ก้าว (ยังอยู่ข้างในวนซ้ำตลอดนะ)
  5. กด 🟢 ธงเขียวดูสิ! แมววิ่งชนขอบแล้วเด้งกลับไปมาไม่หยุดเลยใช่ไหม! (ถ้าแมวเดินกลับหัว ให้ไปตั้งค่า Direction ของแมวเป็น Left/Right นะครับ)

✍️ มินิควิซ ทบทวนความรู้ (หน่วยที่ 4)

วัดระดับความเข้าใจเรื่องเงื่อนไขและลูป!

ข้อที่ 1: บล็อกคำสั่งใดที่ช่วยให้เรา "ไม่ต้อง" ลากบล็อกเดิมๆ มาต่อซ้ำกันหลายๆ รอบ?

ข้อที่ 2: หากต้องการสร้างเกมทายรหัสผ่าน "ถ้ารหัสถูกให้เปิดประตู ถ้ารหัสผิดให้ส่งเสียงเตือน" ควรใช้บล็อกคำสั่งใด?

ข้อที่ 3: คำว่า "Debugging (ดีบักกิ้ง)" ในการเขียนโปรแกรมหมายถึงอะไร?

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

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

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

แชร์ :

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