ບົດທີ 3: ການແຕກສາຂາແບບມີເງື່ອນໄຂ (If-Then-Else) ແລະ ການກວດຈັບການຊົນ
LO
Session 345 minutes

ບົດທີ 3: ການແຕກສາຂາແບບມີເງື່ອນໄຂ (If-Then-Else) ແລະ ການກວດຈັບການຊົນ

Learning objective: ໃຫ້ຫຸ່ນຍົນມີເຫດຜົນໃນການຕັດສິນໃຈ ໂດຍໃຊ້ການຮັບຮູ້ ແລະ ເງື່ອນໄຂ.

Theory & practice

🧠 ບົດທີ 3: ການຄິດຢ່າງມີເຫດຜົນ — ຖ້າ, ແລ້ວ ແລະ ບໍ່ດັ່ງນັ້ນ

🎯 ຈຸດປະສົງການຮຽນ

ຫຼັງຈາກບົດຮຽນນີ້, ເຈົ້າຈະສາມາດ:

  • ເຂົ້າໃຈເງື່ອນໄຂທີ່ເປັນຈິງ ແລະ ບໍ່ຈິງໃນການຂຽນໂປຣແກຣມ.
  • ແຍກຄວາມແຕກຕ່າງລະຫວ່າງ if ... then ແລະ if ... then ... else.
  • ໃຊ້ເຊັນເຊີເພື່ອໃຫ້ຕົວລະຄອນ ຫຼື ຫຸ່ນຍົນຕັດສິນໃຈໄດ້.
  • ລວມເງື່ອນໄຂກັບການວົນຊ້ຳເພື່ອສ້າງໂປຣແກຣມທີ່ສະຫຼາດ.

1. ຫຸ່ນຍົນອັດສະລິຍະຕັດສິນໃຈໄດ້

ຫຸ່ນຍົນອັດສະລິຍະບໍ່ໄດ້ເຄື່ອນທີ່ໄປທາງດຽວເທົ່ານັ້ນ. ມັນຕ້ອງສັງເກດສິ່ງອ້ອມຂ້າງ ແລະ ເລືອກການກະທຳທີ່ເໝາະສົມ.

ຕົວຢ່າງ:

  • ຖ້າ ມີສິ່ງກີດຂວາງຢູ່ຂ້າງໜ້າ, ແລ້ວ ຫຸ່ນຍົນຢຸດ.
  • ຖ້າ ມືດລົງ, ແລ້ວ ເປີດໄຟ.
  • ຖ້າ ກົດປຸ່ມລູກສອນຂວາ, ແລ້ວ ຕົວລະຄອນເຄື່ອນໄປທາງຂວາ.
  • ບໍ່ດັ່ງນັ້ນ — ບໍ່ມີສິ່ງກີດຂວາງ — ຫຸ່ນຍົນກໍເດີນໜ້າຕໍ່ໄປ.

ວິທີຄິດແບບນີ້ເອີ້ນວ່າ ການຄິດແບບມີເງື່ອນໄຂ.

ຖ້າເງື່ອນໄຂເປັນຈິງ → ປະຕິບັດການກະທຳ.

2. ເງື່ອນໄຂທີ່ເປັນຈິງ ແລະ ບໍ່ຈິງ

ເງື່ອນໄຂມີຜົນໄດ້ພຽງສອງຢ່າງ:

ຜົນຄວາມໝາຍ
True (ຈິງ)ແລ່ນບລັອກທີ່ຢູ່ຂ້າງໃນ
False (ບໍ່ຈິງ)ຂ້າມໄປ ຫຼື ແລ່ນສາຂາ else

ເງື່ອນໄຂທີ່ພົບເລື້ອຍໃນ PictoBlox:

text
touching [Wall]?
key [right arrow] pressed?
distance less than 15 cm?
Score greater than 10?
color red is touching blue?

ບລັອກເງື່ອນໄຂມັກມີຮູບຫົກຫຼ່ຽມ ແລະ ໃສ່ເຂົ້າໃນຊ່ອງຂອງບລັອກ if ໄດ້.

3. ບລັອກ if ... then

ບລັອກນີ້ແລ່ນການກະທຳສະເພາະເມື່ອເງື່ອນໄຂເປັນຈິງ.

text
if <touching [Wall]?> then
    play sound [Alarm]
    move -10 steps

ຖ້າຕົວລະຄອນບໍ່ແຕະກຳແພງ, ບລັອກຂ້າງໃນຈະຖືກຂ້າມໄປ.

Mục Trọng Tâm

ຕົວຢ່າງ: ຄວບຄຸມດ້ວຍແປ້ນພິມ

text
when green flag clicked
forever
    if <key [right arrow] pressed?> then
        change x by 5

ການວົນຊ້ຳ forever ເຮັດໃຫ້ໂປຣແກຣມກວດແປ້ນພິມໄດ້ຫຼາຍເທື່ອໃນທຸກໆວິນາທີ.

4. ບລັອກ if ... then ... else

ບລັອກນີ້ໃຫ້ໂປຣແກຣມເລືອກການກະທຳໜຶ່ງໃນສອງຢ່າງ.

text
if <touching [Wall]?> then
    play sound [Alarm]
    move -10 steps
    turn right 90 degrees
else
    move 5 steps

ໂປຣແກຣມເຮັດວຽກແນວໃດ:

  1. 1ກວດວ່າຕົວລະຄອນແຕະກຳແພງບໍ.
  2. 2ຖ້າແມ່ນ, ຕົວລະຄອນເຕືອນ, ຖອຍຫຼັງ ແລະ ລ້ຽວ.
  3. 3ຖ້າບໍ່, ຕົວລະຄອນເດີນໜ້າຕໍ່ໄປ.
ເງື່ອນໄຂການກະທຳ
ແຕະກຳແພງເຕືອນ, ຖອຍຫຼັງ ແລະ ລ້ຽວ
ບໍ່ແຕະກຳແພງເດີນໜ້າຕໍ່ໄປ

5. ລວມເງື່ອນໄຂກັບເຊັນເຊີ

ຫຸ່ນຍົນສາມາດໃຊ້ເຊັນເຊີຄື້ນອັນຕຣາໂຊນິກເພື່ອວັດໄລຍະຫ່າງເຖິງສິ່ງກີດຂວາງ.

text
when green flag clicked
forever
    set [Distance] to [ultrasonic sensor value]

    if <Distance less than 15> then
        stop motors
        play sound [Alarm]
        reverse for 1 second
        turn right 90 degrees
    else
        drive forward at speed 5

ໃນໂປຣແກຣມນີ້:

  • Distance < 15 ແມ່ນເງື່ອນໄຂ.
  • ເມື່ອສິ່ງກີດຂວາງໃກ້ກວ່າ 15 ຊມ, ຫຸ່ນຍົນຈະຫຼົບມັນ.
  • ເມື່ອທາງຂ້າງໜ້າວ່າງ, ຫຸ່ນຍົນເຄື່ອນທີ່ຕໍ່ໄປ.
⚠️ ເມື່ອທົດສອບກັບຫຸ່ນຍົນແທ້, ໃຫ້ໃຊ້ຄວາມໄວຕ່ຳ ແລະ ວາງມັນໄວ້ເທິງພື້ນທີ່ກວ້າງ ແລະ ຮາບພຽງ.

6. ລວມຫຼາຍເງື່ອນໄຂ

ບາງເທື່ອຫຸ່ນຍົນຕ້ອງກວດຫຼາຍຢ່າງພ້ອມກັນ.

Mục Trọng Tâm

ເງື່ອນໄຂ and (ແລະ)

ທັງສອງເງື່ອນໄຂຕ້ອງເປັນຈິງ.

text
if <Distance less than 15 and Speed greater than 0> then
    stop motors
Mục Trọng Tâm

ເງື່ອນໄຂ or (ຫຼື)

ພຽງເງື່ອນໄຂດຽວໃນສອງເງື່ອນໄຂເປັນຈິງກໍພໍ.

text
if <touching edge or touching color red> then
    turn around
Mục Trọng Tâm

ເງື່ອນໄຂ not (ບໍ່)

ກັບຜົນຂອງເງື່ອນໄຂໃຫ້ກົງກັນຂ້າມ.

text
if <not touching [Wall]> then
    keep moving

7. ຝຶກຫັດ: ຕົວລະຄອນຊອກຫາທາງ

Mục Trọng Tâm

ໜ້າວຽກ

ຂຽນໂປຣແກຣມໃຫ້ຕົວລະຄອນ:

  1. 1ເດີນໜ້າໄປເລື້ອຍໆ.
  2. 2ກວດວ່າແຕະກຳແພງບໍ.
  3. 3ຖ້າແຕະກຳແພງ, ຖອຍຫຼັງ ແລະ ປ່ຽນທິດທາງ.
  4. 4ຖ້າບໍ່, ເດີນໜ້າຕໍ່ໄປ.
Mục Trọng Tâm

ໂປຣແກຣມແນະນຳ

text
when green flag clicked
set [Speed] to [5]

forever
    if <touching [Wall]?> then
        play sound [Alarm]
        move -10 steps
        turn right 90 degrees
        wait 0.2 seconds
    else
        move [Speed] steps

ລອງປ່ຽນການລ້ຽວຈາກ 90 degrees ເປັນ 45 degrees. ເສັ້ນທາງຂອງຕົວລະຄອນປ່ຽນແປງແນວໃດ?

8. ຂໍ້ຜິດພາດທີ່ພົບເລື້ອຍ

Mục Trọng Tâm

ບໍ່ໄດ້ໃສ່ເງື່ອນໄຂໄວ້ໃນການວົນຊ້ຳ

ຖ້າກວດພຽງເທື່ອດຽວ, ຫຸ່ນຍົນຈະຢຸດສັງເກດສິ່ງອ້ອມຂ້າງ.

ໃຫ້ໃຊ້:

text
forever
    if <condition> then
        do the action
Mục Trọng Tâm

ສັບສົນເຄື່ອງໝາຍປຽບທຽບ

text
Distance less than 15

ໝາຍຄວາມວ່າສິ່ງກີດຂວາງຢູ່ໃກ້.

text
Distance greater than 15

ໝາຍຄວາມວ່າມີບ່ອນວ່າງຢູ່ຂ້າງໜ້າ.

Mục Trọng Tâm

ຫຸ່ນຍົນໝຸນວົນຢູ່ບ່ອນດຽວ

ຫຼັງຈາກພົບສິ່ງກີດຂວາງ, ຫຸ່ນຍົນຄວນຖອຍອອກກ່ອນຈະລ້ຽວ:

text
stop motors
reverse
turn right

🧩 ສິ່ງທ້າທາຍ

ສ້າງຫຸ່ນຍົນທີ່ມີການຕອບສະໜອງສາມລະດັບ:

text
if <Distance less than 10> then
    stop and reverse
else
    if <Distance less than 25> then
        slow down
    else
        drive normally

ຫຸ່ນຍົນຈະ:

  • ຢຸດເມື່ອສິ່ງກີດຂວາງໃກ້ເກີນໄປ.
  • ຫຼຸດຄວາມໄວເມື່ອເຂົ້າໃກ້ສິ່ງກີດຂວາງ.
  • ແລ່ນປົກກະຕິເມື່ອທາງຂ້າງໜ້າວ່າງ.

✅ ຈື່ໄວ້

  • ເງື່ອນໄຂເປັນ True ຫຼື False ຢ່າງໃດຢ່າງໜຶ່ງ.
  • if ... then ແລ່ນການກະທຳເມື່ອເງື່ອນໄຂເປັນຈິງ.
  • if ... then ... else ເລືອກລະຫວ່າງສອງການກະທຳ.
  • ການວົນຊ້ຳເຮັດໃຫ້ຫຸ່ນຍົນກວດເງື່ອນໄຂໄດ້ຢ່າງຕໍ່ເນື່ອງ.
  • ເຊັນເຊີໃຫ້ຂໍ້ມູນແກ່ຫຸ່ນຍົນເພື່ອຕັດສິນໃຈ.
  • ຫຸ່ນຍົນຄວນຢຸດ ຫຼື ຖອຍຫຼັງກ່ອນປ່ຽນທິດທາງ.
Mục Trọng Tâm

ຄຳຖາມດ່ວນ

  1. 1ເງື່ອນໄຂມີຜົນໄດ້ແນວໃດແດ່?
  2. 2if ... then ແຕກຕ່າງຈາກ if ... then ... else ແນວໃດ?
  3. 3ເປັນຫຍັງການກວດເຊັນເຊີຕ້ອງຢູ່ໃນການວົນຊ້ຳ?
  4. 4ຫຸ່ນຍົນຄວນເຮັດແນວໃດເມື່ອສິ່ງກີດຂວາງໃກ້ກວ່າໄລຍະປອດໄພ?

Sẵn sàng kiểm tra kiến thức?

Chuyển sang phòng thi riêng để làm bài, xem kết quả và giải thích.

ແບບທົດສອບຄວາມສາມາດພາກທີ 1: ເຫດຜົນ Scratch ແລະ ບລັອກພື້ນຖານ →14 questions · 15 minutes