目标
- 了解程序由哪三种基本的结构组成
- 了解循环的概念
- 掌握times的结构与用法
三种基本结构
计算机程序由三种最基本的结构组成,它们分别是:
- 顺序结构
- 循环结构
- 选择结构
千万不要被这些陌生的术语给吓住了,它们非常简单,它们其实是根据我们日常思考和处理问题的方法提炼得来的。
下面让我给你一一道来。
顺序结构
什么是顺序结构?
让我们通过日常生活中的例子,来说明什么是顺序结构。想一想,在早上起床闹钟响了之后,你会做些什么事情。
假设你是个早睡早起的好孩子,那么早上闹钟响了以后,你会依次做以下事情:
- 起床
- 关闭闹钟
- 穿衣
- 洗漱
- 整理
- 出门
以上就是一个很好的顺序结构的例子。不难看出,顺序结构就是指按照从前至后的顺序,依次做不同的事情。
在之前的所有关卡中,我们所写的代码都是顺序结构的,都是从第一条指令开始执行,一直到最后一条。
循环结构
那什么是循环结构呢?让我们仍然以上面的例子来进行说明。
假设前一天晚上你熬夜到了凌晨两三点,早上六点半时,闹钟准时响了,此时你想多睡几分钟,但又怕睡过头了。于是,
- 闹钟响了
- 起床
- 关闭闹钟
- 接着睡觉
- 闹钟响了
- 起床
- 接着睡觉
......
上面就是一个典型的循环结构。所谓循环结构,就是指重复地做一些事情。
选择结构
那选择结构又是什么样的呢?让我们继续以上面的例子来解释。
早上出门后,肚子都饿得咕咕叫了,你来到早餐店,你和老板发生了如下的对话:
- 问:今天你吃常德牛肉粉还是武汉热干面?
- 答:常德牛肉粉
- 问:吃圆的还是吃扁的?
- 答:圆的
- 问:吃红烧牛肉的还是吃麻辣牛肉的?
- 答:红烧牛肉的
你看,上面的3次问答,其实就是3次选择。在计算机的世界里,这就是3个选择结构的应用。
times指令格式
选择结构我们放在后面学习,今天让我们先来学习一个最基本的循环结构——times,它的格式如下:
n.times ->
....循环体
其中,n是循环重复的次数。循环体(所有参与循环的指令)中的指令会被重复执行n次。之后,计算机就会结束times循环,接着执行接下来的语句。
需要注意的是,
- times和->之前有一个空格,且是不能省略的
- 循环体不能从某一行的最开始处书写民,在它前面必须有一个Tab.(上述以4个.代表tab键)
下面是一段典型的times循环。
times的应用
让我们通过下面这个关卡来更好地理解什么是times循环,以及它的作用。
下面是我自己建立的一个关卡。
如果使用顺序结构,很明显,小猴子需要依次完成以下动作:
step 10 # 移动 10 步
turn left # 左转
step 10 # 移动10步
turn left # 左转
step 10 # 移动10步
turn left # 左转
step 10 # 移动10步
turn left # 左转
step 20 # 移动20步
上述解题方法使用的就是顺序结构的思维。
在学习times之前,我们只能将程序写成上述的形式,里面有很多重复的代码,不论是查看或是修改起来都非常的繁琐。
请注意,图中有个不断变换位置的桔黄色进度条,它表示被高亮的这一条语句当前正在被执行。这是一个相当实用的功能,通过观察这个进度条,你就能够实时地知道当前计算机正在执行哪一条指令了。
如果游戏运行速度过快,来不及观察,你可以在设置面板上调慢运行速度,这样就可以更加仔细观察进度条的移动。
对于这一个关卡,如果使用times循环,那上面的代码就会简洁多了,它可以写成如下的形式:
4.times ->
step 10 # 移动10步
turn left # 左转
step 20 # 移动20步
代码的执行流程如下图所示:
请仔细观察上图中桔黄色的进度条是怎样一步一步地移动的。
上述代码有三点需要注意:
- times与->必须有一个空格
- 循环体前面必须有一个tab键
- step 20这一条指令前不能有tab键,否则,它就成了times循环结构的一部分了
让我们来看一下,如果在step 20前面有tab键,程序是怎么执行的。
你看,如果在step 20的前面有tab键的话,计算机就会认为它也是循环体的一部分了。
好了,本章的内容就到这里了,赶紧通过作业来检验一下你的学习效果吧。
作业
- 故事模式21 - 30关
- 进阶模式3-1 - 3-10关
注意,一定保证要所有关卡都拿到三颗星。
小结
- 计算机的三种基本程序结构是顺序结构、循环结构和选择结构
- times循环的格式,times与->之间的空格不能省,循环体前的tab键不能忘记
- 通过桔黄色的进度条,可以观察计算机指令的执行流程