目标

  • 了解程序由哪三种基本的结构组成
  • 了解循环的概念
  • 掌握times的结构与用法

三种基本结构

计算机程序由三种最基本的结构组成,它们分别是:

  • 顺序结构
  • 循环结构
  • 选择结构

千万不要被这些陌生的术语给吓住了,它们非常简单,它们其实是根据我们日常思考和处理问题的方法提炼得来的。

下面让我给你一一道来。

顺序结构

什么是顺序结构?

让我们通过日常生活中的例子,来说明什么是顺序结构。想一想,在早上起床闹钟响了之后,你会做些什么事情。

假设你是个早睡早起的好孩子,那么早上闹钟响了以后,你会依次做以下事情:

  1. 起床
  2. 关闭闹钟
  3. 穿衣
  4. 洗漱
  5. 整理
  6. 出门

以上就是一个很好的顺序结构的例子。不难看出,顺序结构就是指按照从前至后的顺序,依次做不同的事情。

在之前的所有关卡中,我们所写的代码都是顺序结构的,都是从第一条指令开始执行,一直到最后一条。

循环结构

那什么是循环结构呢?让我们仍然以上面的例子来进行说明。

假设前一天晚上你熬夜到了凌晨两三点,早上六点半时,闹钟准时响了,此时你想多睡几分钟,但又怕睡过头了。于是,

  1. 闹钟响了
  2. 起床
  3. 关闭闹钟
  4. 接着睡觉
  5. 闹钟响了
  6. 起床
  7. 接着睡觉

    ......

上面就是一个典型的循环结构。所谓循环结构,就是指重复地做一些事情。

选择结构

那选择结构又是什么样的呢?让我们继续以上面的例子来解释。

早上出门后,肚子都饿得咕咕叫了,你来到早餐店,你和老板发生了如下的对话:

  1. 问:今天你吃常德牛肉粉还是武汉热干面?
  2. 答:常德牛肉粉
  3. 问:吃圆的还是吃扁的?
  4. 答:圆的
  5. 问:吃红烧牛肉的还是吃麻辣牛肉的?
  6. 答:红烧牛肉的

你看,上面的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键不能忘记
  • 通过桔黄色的进度条,可以观察计算机指令的执行流程

问答

  • 怎么能玩到你创建的那一关


    点击"这里",你就能立即开始体验CodeMonkey了。
  • 怎么样才能体验更多的关卡?


    点击"这里",即刻开始了解更多CodeMonkey有趣课程。

CodeMonkey少儿编程第3章 times循环的更多相关文章

  1. CodeMonkey少儿编程第2章 turnTo对象

    目标 了解对象的概念 了解方法与对象的关系 掌握turnTo指令的用法 在开始本章的学习之前,我们先来复习一下上一章的知识点. 在第1章中,我们学会了在这个游戏中最简单的两个指令. step x 其中 ...

  2. CodeMonkey少儿编程第7章 函数

    目标 了解函数是什么 掌握如何定义一个函数 函数是什么 本章我们学习一个新的概念----函数. 你可以简单的将函数看作为一个黑匣子,给它输入参数后,它将会按照一定的规则,执行相应的指令或输出数据. 让 ...

  3. CodeMonke少儿编程第1章 step与turn

    第1章 step与turn 目标 了解游戏舞台的各组成部分 掌握step和turn指令的用法 说起计算机,对于不了解它的人来说,也许会感到有些神秘,其实不然,它不过是能够接收指令并且按照指令执行的一种 ...

  4. CoeMonkey少儿编程第4章 变量

    点击这里,现在就开启CodeMonkey的趣味编程之旅. 目标 了解什么是变量 了解变量的命名规则 掌握如何使用变量 变量 什么是变量?顾名思义,变量就是可以变化的量. 和变量相对的是常量,即不可变化 ...

  5. 少儿编程|Scratch编程教程系列合集,总有一款适合你

    如果觉得资源不错,友情转发,贵在分享!!! 少儿编程Scratch: 少儿编程Scratch第一讲:Scratch完美的初体验少儿编程Scratch第二讲:奇妙的接球小游戏少儿编程Scratch第三讲 ...

  6. C Primer Plus_第6章_循环_编程练习

    1.题略 #include int main(void) { int i; char ch[26]; for (i = 97; i <= (97+25); i++) { ch[i-97] = i ...

  7. 使用Scratch进行少儿编程

    在上一篇<初识少儿编程>曾提到过Scratch的脚本标签内包含10大模块,本文将围绕这10大模块展开,分为两部分:积木和编程概念,结合<动手玩转Scratch2.0编程―STEAM创 ...

  8. [书籍翻译] 《JavaScript并发编程》 第二章 JavaScript运行模型

    本文是我翻译<JavaScript Concurrency>书籍的第二章 JavaScript运行模型,该书主要以Promises.Generator.Web workers等技术来讲解J ...

  9. 少儿编程Scratch第三讲:宇宙大战.枪战游戏

    小朋友这周的表现还算不错.周末多数时间都由我陪(bi)着(zhe)做课本上的数学题,后来还学了英语.任重道远啊,语数外都还得加强,还远不到自己就能取得好成绩的阶段. 上周说好这周要做一个发射炮弹的游戏 ...

随机推荐

  1. vue第十一单元(内置组件)

    第十一单元(内置组件) #课程目标 熟练掌握component组件的用法 熟练使用keep-alive组件 #知识点 #1.component组件 component是vue的一个内置组件,作用是:配 ...

  2. Kylin的特点

    Kylin的特点 0.原理 从Hive读取数据,计算引擎可以用MapReduce 或者Spark, 把结果写入Hbase. 下次查询就会很快,也就是所谓的预计算. 1.为什么会有Kylin? hive ...

  3. Erlang那些事儿第1回之我是变量,一次赋值永不改变

    第1回先从不变的变量说开来,学过其他编程语言的人都知道,变量之所以叫变量,是因为它会经常变,被修改.假设原本X  = 10,后来再执行X = 24,那么X就从10变成了24,这对于程序新手和老鸟来说, ...

  4. 实验题目:python面向对象程序设计

    1.定义并实现一个矩形类Rectangle,其私有实例成员为矩形的左下角与右上角两个点的坐标,能设置左下角和右上角两个点的位置,能根据左下角与右上角两个点的坐标计算矩形的长.宽.周长和面积,另外根据需 ...

  5. C# 链表 二叉树 平衡二叉树 红黑树 B-Tree B+Tree 索引实现

    链表=>二叉树=>平衡二叉树=>红黑树=>B-Tree=>B+Tree 1.链表 链表结构是由许多节点构成的,每个节点都包含两部分: 数据部分:保存该节点的实际数据. 地 ...

  6. asp.net webapi关闭https配置

    将s去掉就行

  7. win7开机登录界面壁纸修改

    1.选择一张自己喜欢的图(一定要是jpg格式,亲测png格式不行),分辨率最好和自己电脑的分辨率差不多. 2.将图片改名为"backgroundDefault.jpg": 3.按下 ...

  8. .NET Core AWS S3云存储

    前言 最近有需要用到AWS S3云存储上传附件,这里对利用.NET或.NET Core在调用SDK APi需要注意的一点小问题做个记录,或许能对后续有用到的童鞋提供一点帮助 AWS S3云存储 官方已 ...

  9. Java通过IO流输出文件目录

    //通过IO流输出文件目录,不同级的目录之间用*间隔 1 package com.fjnu.io; 2 3 import java.io.File; 4 5 public class dicOut { ...

  10. 从零开始部署发布Java项目到服务器的Docker中

    本以为很简单,由于没用过docker和java,本文将会阐述一路遇到的拦路虎. 首先,写好Java项目,本地跑通. 可能会遇到的问题: 1.jar包正常运行,war包404: 如何打包很多教程都有介绍 ...