មេរៀនទី 3៖ ការបែងចែកតាមលក្ខខណ្ឌ (If-Then-Else) និងការរកឃើញការប៉ះទង្គិច
KM
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 cm រ៉ូបូតនឹងគេចវា។
  • នៅពេលផ្លូវខាងមុខទំនេរ រ៉ូបូតបន្តផ្លាស់ទី។
⚠️ ពេលសាកល្បងជាមួយរ៉ូបូតពិត ត្រូវប្រើល្បឿនទាប ហើយដាក់វាលើផ្ទៃធំទូលាយ និងរាបស្មើ។

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. 2តើ if ... 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