如果……就……:让程序自己会做选择
入门 适合 7-11 岁 约 20 分钟
今天学会
- 明白"条件判断"就是让程序看情况做选择
- 会用"如果……就……"卡指挥机器人应对不同情况
- 分清"条件成立"和"条件不成立"两条不同的路
前两课里,机器人一直很听话,你排好命令它就照走。但真实世界会有意外——走着走着前面挡了一堵墙,怎么办?总不能让它一头撞上去吧。今天教机器人一个新本领:自己看情况做选择。这在编程里叫”条件判断”。
要准备什么
- 前面学过的指令卡(前进、左转、右转)
- 一种新卡片:条件卡,写成”如果〔⬜〕,就〔⬜〕“,两个空格分别填”什么情况”和”这时候做什么”
- 几本书或几个盒子,在桌上或地上摆出一条有拐弯、有墙的小迷宫
- 一个当机器人的爸爸或妈妈
第 1 步:先摆一个会挡路的迷宫
用书本或盒子在地上围出一条窄窄的通道,故意让它拐几个弯——走两步前面就是一堵”墙”(一摞书),得转弯才能继续走。
让机器人站在入口。你会马上遇到一个难题:如果只用”前进、前进、前进”这样死板的命令,机器人走到墙跟前还会继续”前进”,“咚”地撞上去。它太老实了,不会自己停、也不会自己拐弯。
我们需要教它一句新话:“看情况办事”。
第 2 步:认识”如果……就……”
拿出条件卡,它的意思是这样的:
如果〔某个情况是真的〕,就〔做某件事〕。
填上迷宫里最需要的一条:
如果〔前面有墙〕,就〔右转〕。
这句话怎么用?机器人每走一步之前,先抬头看看前面:
- 前面真的有墙吗?如果是——那就照”就”后面说的做,右转。
- 前面没有墙?那这条”如果”就不算数,机器人不用右转,可以接着往前走。
看出门道了吗?条件卡不是让机器人闷头做动作,而是让它先看一眼、再决定。看到的情况不一样,它做的事就不一样。这就是”会做选择”。
第 3 步:机器人走一步、看一眼、做判断
现在把命令组合起来,让机器人这样一步步走迷宫。每走到一个地方,它都做这套动作:
- 抬头看前面。
- 如果前面有墙,就右转;如果前面没墙,就前进一步。
- 然后回到第 1 步,接着看、接着走。
让你的机器人真的这样走一遍:走一步,停下看看前面,有墙就转弯,没墙就再走一步……你会看到神奇的事——它自己绕过了一个又一个拐角,谁也没在旁边一句句喊命令,它靠”如果……就……”自己走通了迷宫!
第 4 步:看清”成立”和”不成立”两条路
条件判断最要紧的,是分清两种情况:
- 条件成立(前面真有墙)——走”就……”这条路,右转。
- 条件不成立(前面没墙)——不走”就……”那条路,该干嘛干嘛,继续前进。
玩个小游戏帮你分清楚:你举一张纸当”墙”,一会儿挡在机器人面前,一会儿又拿开。挡着的时候,机器人该怎么做?(右转。)拿开的时候呢?(前进。)同一张条件卡,情况变了,机器人的动作就跟着变——这正是它比”死走命令”聪明的地方。
记住:“如果”是在问一个问题,答案只有”是”或”不是”;答案不一样,机器人走的路就不一样。
玩出新花样
- 加一条新规则:再做一张”如果〔到了出口〕,就〔停下欢呼〕“,让机器人自己知道什么时候走到了终点。
- 改成”如果……否则……”:一张卡说清两条路——“如果前面有墙,就右转,否则前进”,让判断更完整。
- 条件加循环:把”看一眼、做判断”这套动作用上一课的循环包起来”一直重复”,机器人就能一路自己走到底,这已经很像真正的程序了。