Session 345 minutes

第3课:分支结构(如果-那么-否则)与碰撞检测

Learning objective: 让机器人做出聪明的决定:碰到墙就后退,碰到能量就加分。

Theory & practice

🧠 第3课:逻辑思维——如果、那么、否则

🎯 学习目标

完成本课后,你将能够:

  • 理解编程中条件的“真”和“假”。
  • 区分 如果 ... 那么 和 如果 ... 那么 ... 否则。
  • 用传感器让角色或机器人做出判断。
  • 把条件和循环结合,编写聪明的程序。

1. 聪明的机器人会做决定

聪明的机器人不会只朝一个方向走,它需要观察周围环境并选择合适的行动。

例如:

  • 如果 前方有障碍物,那么 机器人停下。
  • 如果 天黑了,那么 打开灯。
  • 如果 按下右方向键,那么 角色向右移动。
  • 否则——没有障碍物时,机器人继续前进。

这种思考方式叫做条件思维。

如果条件成立 → 执行动作。

2. 真条件与假条件

条件只有两种结果:

结果含义
真执行里面的积木
假跳过,或执行 否则 分支

PictoBlox 中常见的条件:

text
碰到 [墙壁]?
按下 [右方向键] 键?
距离小于 15 厘米?
分数大于 10?
颜色红色碰到蓝色?

条件积木通常是六边形,放在 如果 积木的空格里。

3. 如果 ... 那么 积木

这个积木只在条件为真时执行动作。

text
如果 <碰到 [墙壁]?> 那么
    播放声音 [警报]
    移动 -10 步

如果角色没有碰到墙壁,里面的积木就不会执行。

Mục Trọng Tâm

例子:键盘控制

text
当绿旗被点击
重复执行
    如果 <按下 [右方向键] 键?> 那么
        将 x 坐标增加 5

重复执行 循环让程序每秒检查键盘很多次。

4. 如果 ... 那么 ... 否则 积木

这个积木让程序在两个动作中选择一个。

text
如果 <碰到 [墙壁]?> 那么
    播放声音 [警报]
    移动 -10 步
    右转 90 度
否则
    移动 5 步

程序这样工作:

  1. 1检查角色是否碰到墙壁。
  2. 2如果碰到,角色发出警报、后退并转向。
  3. 3如果没碰到,角色继续前进。
条件动作
碰到墙壁警报、后退并转向
没碰到墙壁继续前进

5. 条件与传感器结合

机器人可以用超声波传感器测量到障碍物的距离。

text
当绿旗被点击
重复执行
    将 [距离] 设为 [超声波传感器数值]

    如果 <距离 小于 15> 那么
        停止电机
        播放声音 [警报]
        后退 1 秒
        右转 90 度
    否则
        以速度 5 直行

在这个程序中:

  • 距离 < 15 是条件。
  • 障碍物近于 15 厘米时,机器人避开它。
  • 前方安全时,机器人继续前进。
⚠️ 用真实机器人测试时,请使用低速,并把机器人放在宽阔平坦的地面上。

6. 组合多个条件

有时机器人需要同时检查多个信息。

Mục Trọng Tâm

与 条件

两个条件都必须为真。

text
如果 <距离 小于 15 与 速度 大于 0> 那么
    停止电机
Mục Trọng Tâm

或 条件

只要其中一个条件为真。

text
如果 <碰到边缘 或 碰到红色> 那么
    掉头
Mục Trọng Tâm

不成立 条件

把条件的结果反过来。

text
如果 <不成立 碰到 [墙壁]> 那么
    继续移动

7. 练习:会找路的角色

Mục Trọng Tâm

任务

让角色:

  1. 1不停地向前移动。
  2. 2检查是否碰到墙壁。
  3. 3碰到墙壁时,后退并改变方向。
  4. 4没碰到时,继续前进。
Mục Trọng Tâm

参考程序

text
当绿旗被点击
将 [速度] 设为 [5]

重复执行
    如果 <碰到 [墙壁]?> 那么
        播放声音 [警报]
        移动 -10 步
        右转 90 度
        等待 0.2 秒
    否则
        移动 [速度] 步

试着把转动角度从 90 度 改成 45 度,观察角色的路线有什么不同。

8. 常见错误

Mục Trọng Tâm

没有把条件放进循环

如果只检查一次,机器人就不会持续观察环境。

应该这样:

text
重复执行
    如果 <条件> 那么
        执行动作
Mục Trọng Tâm

弄错比较符号

text
距离 小于 15

表示障碍物很近。

text
距离 大于 15

表示前方还有空间。

Mục Trọng Tâm

机器人一直原地打转

遇到障碍物后,机器人要先后退,再转向:

text
停止电机
后退
右转

🧩 挑战

制作一个有三级反应的机器人:

text
如果 <距离 小于 10> 那么
    停下并后退
否则
    如果 <距离 小于 25> 那么
        减速
    否则
        正常行驶

机器人将会:

  • 障碍物太近时停下。
  • 接近障碍物时减速。
  • 前方安全时正常行驶。

✅ 记住

  • 条件只有 真 或 假 两种结果。
  • 如果 ... 那么 在条件为真时执行动作。
  • 如果 ... 那么 ... 否则 在两个动作中选择一个。
  • 循环让机器人持续检查条件。
  • 传感器为机器人提供做决定所需的信息。
  • 改变方向前,机器人应先停下或后退。
Mục Trọng Tâm

快问快答

  1. 1编程中的条件有哪些结果?
  2. 2如果 ... 那么 和 如果 ... 那么 ... 否则 有什么不同?
  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