立即注册 找回密码

微雪课堂

搜索
微雪课堂 micro:bit 查看内容

Micro:bit系列教程2:基本语法

2018-10-10 19:45| 发布者: waveshare-admin| 查看: 16636| 评论: 0|原作者: waveshare|来自: waveshare

摘要: 本章将介绍Micro:bit的基本语法,主要包括:变量,数组,循环,逻辑,函数。

图形化编程基本语法

    本章将介绍Micro:bit的基本语法,主要包括:变量,数组,循环,逻辑,函数。

1.变量

  *makecode积木块中,默认提供了变量item,如下图所示:

*同时提供了将变量初始化的积木块,如下图所示:

注意这里变量可初始化为数字,字符串,图像等,如下图所示:

*makecode还提供了将变量增加或减少的积木块,如下图所示:

具体使用方法如下图所示:

在该例程中,变量item初始化时设置为5,以1为幅度更改item后,item变为6,-2为幅度更改item后,item变为4,最终在屏幕(LED点阵)上面显示的数字为4

    *最后,除了makecode默认提供的item变量,还支持自定义变量,点击设置变量,如下图所示:

    点击之后,弹出下面的窗口,输入自定义变量名称,如“number”:

然后点击确定,便创建了number变量:

2.数组

         makecode中,提供了数组相关的数据类型及操作方法:

*创建单元素数组,可创建并初始化仅有一个元素的数组,并且该数组将以该元素的数据类型作为数组的数据类型。

*创建多元素数组,可创建并初始化多元素数组:

如下图所示,创建并初始化一个包含两数字元素的数组:

*创建任意数组,如下图所示,可创建含有任意元素个数的数组,以及空数组等。

注意,数组可存放数字,变量,文本,图像等内容;数组的索引下标从0开始。

数组提供了较多方法,下面,将通过几个实例来学习若干方法的使用:

*将数据添加到数组结尾,获取数组最后一个元素:

在该例程中,首先,依次将98,75,添加到数组scores的结尾,接着,获取数组scores结尾的最后一个元素,将其赋值给lastScore,并删除数组scores的最后一个元素。

*交换数组中的两个元素:

    在该例程中:

首先,创建一个仅包含“Hello,there”的数组words

接着,将数组words中的第0个元素Hello取出来,存放到变量swap中;

然后,将数组words中的第0个元素设置为数组word中的第1个元素;

最后,将数组words中的第1个元素设置为变量swap的值。

*移除数组中某个索引的元素:

    如例程所示,首先,创建5个元素的数组:[4,5,9,3,2],然后从数组里面移除第2个元素9,并将第2个元素9赋值给item,此时,数组剩下4个元素:[4,5,3,2]item的值为9

3.循环

         接下来介绍Micro:bit的循环的用法:

    *重复运行一部分程序指定的次数:

   *当一个布尔判断式为真的时候重复执行代码:

    如下所示为当一个布尔判断式为真的情况下执行LED点阵绘图的例程:

在该例程中,当A按键按下的时候,初始化设置index的值为4,并且,当index的值大于0时,将坐标(index,index)LED点亮,然后将index1,当index小于0的时候不再进行绘图。

*运行程序的一部分指定的次数:

   如下为运行程序的一部分指定次数的例子:

    在该例程中,将在LED点阵将显示数字04

    *索引数组中的元素并进行引用:

在上图所示的程序中,将索引创建的数组中的Good,与luck,并将其通过串口打印。

4.逻辑

         make中,提供了若干逻辑判断,下面将介绍相关逻辑判断:

    *如果为满足条件则执行一些语句:

   *如果满足条件则执行第一块语句,否则执行第二块语句:

    *布尔数值比较运算:

   如果条件满足,则返回true,否则返回false

    *与或非逻辑运算:

5.函数

         Micro:bit支持将多个语句封装成一封函数,下面将举例进行说明:

    在如图所示的例程中,函数Left封装了显示向左箭头的操作,函数Right封装了显示向右箭头的操作,在实际应用中,可封装更多相关语句,使得程序模块化,以达到高内聚,低耦合的效果。



266

顶一下

刚表态过的朋友 (266 人)

相关阅读

最新评论

micro:bit

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )

GMT+8, 2024-4-18 08:45 , Processed in 0.023579 second(s), 21 queries .

返回顶部