如果……就……:让程序自己会做选择

入门 适合 7-11 岁 约 20 分钟

今天学会

  • 明白"条件判断"就是让程序看情况做选择
  • 会用"如果……就……"卡指挥机器人应对不同情况
  • 分清"条件成立"和"条件不成立"两条不同的路

前两课里,机器人一直很听话,你排好命令它就照走。但真实世界会有意外——走着走着前面挡了一堵墙,怎么办?总不能让它一头撞上去吧。今天教机器人一个新本领:自己看情况做选择。这在编程里叫”条件判断”。

要准备什么

  • 前面学过的指令卡(前进、左转、右转)
  • 一种新卡片:条件卡,写成”如果〔⬜〕,就〔⬜〕“,两个空格分别填”什么情况”和”这时候做什么”
  • 几本书或几个盒子,在桌上或地上摆出一条有拐弯、有墙的小迷宫
  • 一个当机器人的爸爸或妈妈

条件卡:如果……就……

第 1 步:先摆一个会挡路的迷宫

用书本或盒子在地上围出一条窄窄的通道,故意让它拐几个弯——走两步前面就是一堵”墙”(一摞书),得转弯才能继续走。

让机器人站在入口。你会马上遇到一个难题:如果只用”前进、前进、前进”这样死板的命令,机器人走到墙跟前还会继续”前进”,“咚”地撞上去。它太老实了,不会自己停、也不会自己拐弯。

我们需要教它一句新话:“看情况办事”。

第 2 步:认识”如果……就……”

拿出条件卡,它的意思是这样的:

如果〔某个情况是真的〕,〔做某件事〕。

填上迷宫里最需要的一条:

如果〔前面有墙〕,〔右转〕。

这句话怎么用?机器人每走一步之前,先抬头看看前面:

  • 前面真的有墙吗?如果是——那就照”就”后面说的做,右转
  • 前面没有墙?那这条”如果”就不算数,机器人不用右转,可以接着往前走。

看出门道了吗?条件卡不是让机器人闷头做动作,而是让它先看一眼、再决定。看到的情况不一样,它做的事就不一样。这就是”会做选择”。

第 3 步:机器人走一步、看一眼、做判断

现在把命令组合起来,让机器人这样一步步走迷宫。每走到一个地方,它都做这套动作:

  1. 抬头看前面。
  2. 如果前面有墙,右转;如果前面没墙,就前进一步。
  3. 然后回到第 1 步,接着看、接着走。

让你的机器人真的这样走一遍:走一步,停下看看前面,有墙就转弯,没墙就再走一步……你会看到神奇的事——它自己绕过了一个又一个拐角,谁也没在旁边一句句喊命令,它靠”如果……就……”自己走通了迷宫!

迷宫遇墙的判断分支:前面有墙吗

第 4 步:看清”成立”和”不成立”两条路

条件判断最要紧的,是分清两种情况

  • 条件成立(前面真有墙)——走”就……”这条路,右转。
  • 条件不成立(前面没墙)——不走”就……”那条路,该干嘛干嘛,继续前进。

玩个小游戏帮你分清楚:你举一张纸当”墙”,一会儿挡在机器人面前,一会儿又拿开。挡着的时候,机器人该怎么做?(右转。)拿开的时候呢?(前进。)同一张条件卡,情况变了,机器人的动作就跟着变——这正是它比”死走命令”聪明的地方。

记住:“如果”是在问一个问题,答案只有”是”或”不是”;答案不一样,机器人走的路就不一样。

玩出新花样

  • 加一条新规则:再做一张”如果〔到了出口〕,就〔停下欢呼〕“,让机器人自己知道什么时候走到了终点。
  • 改成”如果……否则……”:一张卡说清两条路——“如果前面有墙,就右转,否则前进”,让判断更完整。
  • 条件加循环:把”看一眼、做判断”这套动作用上一课的循环包起来”一直重复”,机器人就能一路自己走到底,这已经很像真正的程序了。