循环:把"重复三次"写得又短又聪明

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

今天学会

  • 明白重复的命令可以用"循环"打包
  • 会用"重复 N 次"把一长排相同的卡片缩短
  • 数清楚循环里包住了哪几张卡、要重复几遍

上一课你学会了用命令卡指挥机器人走路。今天有个新麻烦:要让机器人往前走十步,你难道要写十张”前进”卡吗?手都写酸了。别急,程序员有个偷懒的好办法,叫循环。学会它,一长排卡片能缩成一小段。

要准备什么

  • 上一课的指令卡(前进、左转、右转),没有就重新做几张
  • 再做一种新卡片:循环卡,上面写”重复 ⬜ 次”,中间空一格好填数字
  • 一支笔(用来在循环卡上填次数)
  • 一个当机器人的爸爸或妈妈

循环卡:重复 ⬜ 次

第 1 步:先体会一下”写重复”有多累

我们让机器人往前走五步。按上一课的老办法,你得摆出这么一排:

前进 → 前进 → 前进 → 前进 → 前进

五张一模一样的卡。现在假如要走二十步呢?你得摆二十张!不但累,还容易数错——万一手一抖多摆了一张,机器人就多走一步走过头了。

你发现没有:这些卡全都一样,就是”前进”在不停重复。凡是重复的东西,程序里都有办法打包。

第 2 步:用”重复 N 次”把它们打包

现在拿出循环卡。既然是五个”前进”,我们就在循环卡上填 5,然后只在它后面放一张前进卡:

重复 5 次〔 前进 〕

读法是这样的:机器人看到”重复 5 次”,就把后面括住的”前进”连做 5 遍。做一遍是走一步,做五遍就是走五步——和摆五张卡的效果一模一样

可是你数数看,原来要五张卡,现在只用了两张。这就是循环的魔法:重复几次不用写几遍,只要告诉机器人”重复几次”,再给它要重复的那一个动作就行。

展开写五张卡与循环写两张卡的对比

第 3 步:循环里可以装不止一个动作

循环不只能包一个动作,还能把好几个动作一起打包重复。

比如你想让机器人走一步、右转,这样一遍一遍地绕出一个正方形。走正方形要重复四次”走一步、右转”,老办法要摆八张卡。用循环呢:

重复 4 次〔 前进 → 右转 〕

机器人会把括号里的”前进、右转”当成一个小组合,整组重复四遍。走、转、走、转……四遍下来,正好绕回原地,走出一个方方正正的正方形!

这里要看清楚一件事:循环包住了哪几张卡很关键。上面这个循环包住的是”前进”和”右转”两张,所以每一遍都是这两个动作。包错了,机器人就转错了。

第 4 步:数一数,别让机器人多转一圈

用循环时,最容易错的地方就是次数填错。填多了机器人多做几遍,填少了没做够。

玩个检查游戏:你摆好一个循环,比如”重复 3 次〔前进〕“,先别让机器人动,你自己先算——3 次前进,应该走几步?(走 3 步。)然后再让机器人真走一遍,数数它是不是正好走了 3 步。

算的和走的对上了,说明你的循环写对了。这个”先自己算一遍、再让机器人验证”的习惯,程序员天天在用。

玩出新花样

  • 走出各种形状:正方形是”重复 4 次〔前进、右转〕“。那三角形怎么走?试试改次数和转弯,看能不能绕回起点。
  • 循环套循环:先”重复 2 次〔前进〕“走两步,再”重复 3 次〔右转〕“原地转,把几个循环接起来指挥机器人。
  • 比比谁的短:给一条长长的路线,你用循环写,爸爸妈妈用老办法一张张摆,看谁的卡片少、谁摆得快。