美文网首页Micro:b...
Micro:bit-模块的类型和流程控制

Micro:bit-模块的类型和流程控制

作者: 暴王 | 来源:发表于2018-09-15 23:10 被阅读50次

之前我们介绍了一些Micro:bit的基本情况,并且也实现了一个简单的心跳小程序,这节课我们来看看Micro:bit在线编程网站提供了哪些模块,这些模块都是干什么的,然后通过一个小程序展示它们之间的运行顺序是怎样的。我们先打开micro:bit在线编程网站看看吧

我们可以看到在页面中间的模块区有很多五颜六色的分类,每个分类下都有各式各样的模块,它们代表了不同的功能,不要被这些花花绿绿的颜色迷惑,虽然功能不同,但是它们是有共同点的。

模块的类型

Micro:bit网站为我们预置了丰富多彩的模块,但是细心的你可能已经注意到了,它们的形状是不同的,大体分为以下三种形状:

下图中第一排像一个钩子一样的模块,它代表了一个事件(如果忘了事件是什么,回顾一下这篇教程)或者一个流程,例如当按钮A按下时应该执行的操作,或者无限循环执行的操作

下图中第二排有一个豁口和一个尖尖的模块,它代表了一个操作,例如播放一段音乐,或者显示LED数字

下图中第三排左边有一个突起的模块,它代表了一个求值语句,例如求出当前变量item的值,或者求出0+0的值

记住了这3个形状,我们就可以通过模块的形状很容易的区分出它是哪种类型的模块啦,但需要注意的是:

1.事件或流程模块是彼此独立的,它们之间不能够相互组合,它们内部能够放置一个或多个操作语句

2.操作语句是可以相互组合的,例如可以先显示数字0,然后再显示数字1,它们内部也可以包含求值语句,注意看接口的形状,如果接口的形状与求值语句的形状吻合,就代表了它需要求值语句啦,另外要特别记住的是,操作语句只有放入上面的事件或流程模块中,才能够真正执行,执行顺序是从上到下的,而未放入事件或流程模块的操作语句会显示为浅色,比如下面图里的操作语句就不会执行。

3.求值语句也可以在其内部组合一个或多个求值语句,但是和操作语句一样,需要放入事件或流程模块中才能够真正执行,下面这个复杂的求值语句也不会执行呦

4.模块的颜色代表了它属于哪个分类,比如蓝色是基本,绿色是逻辑,红色是变量

说完了模块的类型,我们来看看各个事件与流程的执行顺序。

事件与流程的执行顺序

Micro:bit预置了两个特殊的流程模块,在基本分类下,分别是当开机无限循环当开机时是一个事件,意味着在程序启动后需要执行的操作,但是需要注意的是,当开机时的操作仅执行一遍,随后如果有无限循环模块,则一直执行无限循环里的操作。那有同学可能会问,那我如果有两个无限循环模块,会怎么样执行呢?嗯,这是一个好问题,我们来看下面的例子:

当开机时显示小心心

无限循环1顺序显示0 2 4

无限循环2顺序显示1 3 5

无限循环3顺序显示7 8 9

当按钮A按下时显示6

大家可以先猜一下执行顺序。

下面直接放出结果,我在显示数字2的之后按下了按钮A,可以看到在显示了一个小心心之后,程序的显示顺序是 0 1 7 2 3 8 4 6 5 9,

但是再执行一遍,还是在2之后按下按钮A,显示顺序却是 0 1 7 2 3 8 6 4 5 9

以上可以得出两个结论,

如果存在多个无限循环,系统会按照顺序每个无限循环交替执行其中的一条语句,上面例子就是先执行了无限循环1的 显示数字0,再执行无限循环2的 显示数字1,再执行无限循环3的 显示数字7,以此类推

因为在几乎是在同一时间按下按钮A,但是显示的结果不同,我们可以得出事件模块的执行顺序不是固定的,有可能在某条语句之前,也有可能在它之后,不能固定的认为它一定会在某条语句之前或之后执行

另外还有一个例子,我改变了 无限循环2 和 无限循环3 的位置,执行结果就变成了 0 7 1 2 8 3 4 9 5,

因此可以得出第3条结论,

   3.  靠上的语句会先执行

总结

今天介绍了Micro:bit模块的3种类型分别是事件或流程模块,操作语句模块和变量或求值模块,并且通过两个例子得出了执行顺序的3条结论:

如果存在多个无限循环,系统会按照顺序每个无限循环交替执行其中的一条语句

事件模块的执行顺序不是固定的

靠上的语句会先执行

你都记住了吗?

相关文章

  • Micro:bit-模块的类型和流程控制

    之前我们介绍了一些Micro:bit的基本情况,并且也实现了一个简单的心跳小程序,这节课我们来看看Micro:bi...

  • TASKCTL主流程/子流程/定时器以及模块之间的区别

    主流程、子流程、定时器都属于控制容器;而每个控制容器,包含一个或多个模块;在模块中定义具体的作业。 主流程、子流程...

  • 数据类型运算符流程控制语句

    数据类型运算符流程控制语句 JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和...

  • PRD-页面批注

    一: 业务流程,(涉及复杂流程,需要在右侧讲流程画出,如注册流程) 二: 模块内容呈现,内容字段的类型/规则 三:...

  • Python-简介-学习路线

    第一阶段:Python入门 数据类型流程控制常用模块函数、迭代器、装饰器递归、迭代、反射面向对象编程更高级的技能就...

  • day2.5_流程控制

    程序流程控制 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。其流程...

  • go-day3

    go-day3 outline strings 和 strconv 使用 Go中的时间和日期类型 流程控制 函数详...

  • Swift笔记(二十三)访问权限

    Swift中的访问控制模型基于模块和源文件,类这三个概念 internal : 在本模块中都可进行访问(是默认类型...

  • OA办公自动化系统包括哪些功能模块?

    1、公文管理 在OA办公自动化系统中公文管理模块主要的功能是公文的发送和接收,发送的流程主要由流程定制来控制和完成...

  • Java编程基础(4)

    Java基础知识:1.数据类型转换 2.流程控制方法 数据类型转换 数据类型的转换是在所赋值的数值类型和被变量接收...

网友评论

    本文标题:Micro:bit-模块的类型和流程控制

    本文链接:https://www.haomeiwen.com/subject/ghfxnftx.html