第1 课 准 备 工 作 1.1 认识micro:bit micro:bit 是一款由英国广播公司(BBC)推出的微型可编程计算机,如图1-1 所 示。micro:bit 的尺寸只有4cm×5cm,采用32 位ARM Cortex 处理器供电,配有内置 的5×5 LED 矩阵显示屏,另外还有两个可编程按钮A 和按钮B,以及一个复位按钮 Reset,以便用户与游戏和程序进行交互。我们在MakeCode 平台上编写好程序,可以下 载到micro:bit 中脱机运行。通过USB 与计算机连接就可以实现数据传送。基于micro:bit 的编程使用可视化、图形化方式完成并配以虚拟演示功能,非常适合小学生STEM 项目 使用。 图1-1 micro:bit 前、后面板 1.2 连接micro:bit 打开包装取出micro:bit,找到随机附带的USB 连接线,用USB 线把micro:bit 连接 到计算机的USB 接口上,如图1-2 所示。 此时,打开计算机,在“我的电脑”(Windows 7 和 Windows 10 分别为“计算机”和“此电脑”)里会发现一个 名为MICROBIT 的盘符标志,如图1-3 所示,我们在下载程 序时会经常用到这个驱动器。图1-2 micro:bit 连接计算机 2 MakeCode与计算思维 图1-3 micro:bit 主控板在计算机中的盘符标志 现在你可以开始自己的编程之旅了。 1.3 认识编程平台MakeCode 登录网站https://makecode.microbit.org/ 进入编程平台,如图1-4 所示。 图1-4 MakeCode 编程平台 (1)单击New Project 按钮新建一个项目,进入编程界面,如图1-5 所示。在网站页面的 最左边是个模拟窗口,它可以模拟micro:bit 的工作;中间部分是指令区,里面有编程需要用 到的各种程序模块;最右边空白区域是脚本区,我们可以把指令拖曳到脚本区来编写程序。 图1-5 micro:bit 编程界面 3 第1课 准备工作 (2)程序编写完成后,单击Download 按钮,此时要保证micro:bit 已经连接上计算 机的USB 接口,出现如图1-6 所示提示界面,单击箭头所指按钮,即可将程序下载到 micro:bit 中。 图1-6 micro:bit 下载程序 在程序下载的过程中,micro:bit 的背面指示灯会闪烁(切勿在未下载完时,从计算 机中拔出)。例如下载一个显示爱心图标的程序,运行后的效果如图1-7 所示。 图1-7 micro:bit 运行效果 第2 课 体感运算器 2.1 基础任务——计算器 电子计算器(见图2-1)是能进行数学运算的手持电子机器, 拥有集成电路芯片,可以将计算结果显示。其结构比计算机简单, 相应功能也较弱,但较为方便与廉价,是必备的办公用品之一。 1. 分析问题 本任务是控制指定的两数进行加、减、乘、除运算。现实生 活中的计算器可以通过按下按键来控制运算进行,本任务是通过左、右两个按钮和前、 后倾斜两种体感来控制四种运算的执行,同时让运算结果在LED 屏上显示。 2. 设计算法 输入两个数字,例如5 和5,当分别按下左、右按钮时进行加、减运算,当前、后 倾斜时进行乘、除运算。 3. 编写程序 打开浏览器,登录地址https://makecode.microbit.org,打开MakeCode 编程界面,单 击New Project 按钮新建一个程序文档,进入编程界面。 【知识链接:程序结构】 计算机程序的基本结构通常有顺序结构、选择结构、循环结构三种,但是无论哪 种程序结构,通常都由输入信息、处理信息和输出信息三部分组成。在MakeCode 指 令集Basic 中选择指令show number,该指令通常作为输出使用,可以输出数字和数值 型表达式等。本任务中我们设定的输入值为5;程序处理信息的部分为+、-、×、÷ 这 些运算符。 图2-1 电子计算器 第2课 体感运算器 5 (1)展开Basic 指令集,鼠标选中指令,并将其拖曳到编程区,该指令用于 存放变量值或显示数值型程序运行的结果。 (2)展开Math 指令集,鼠标选中指令,并将其拖曳到指令的数 字0 的区域,使其粘合。再分别将加法运算指令左、右两边的数字改为5。 (3)在上述组合指令上右击,选择Duplicate 复制3 条同样的指令,并将其运算符分 别修改为-、×、÷。 (4)展开Input 指令集,鼠标选中(按钮触发事件)和(晃动触发) 指令,分别复制一次,再将相应的参数改为如图2-2 所示的事件(从on shake 下拉列表 框中分别选择on logo up 和on logo down)。 (5)将第(3)步中的四条组合指令分别放入第(4)步中四种不同的事件触发中, 使其粘合,如图2-2 所示。 图2-2 四则运算程序 4. 解决问题 MakeCode 中集成了模拟器,通过模拟器我们可以不用下载程序就能监测程序运行 的结果。 通过模拟器测试: (1)分别按下按钮A 和按钮B,程序显示结果是什么? (2)将micro:bit 主控板向上、向下倾斜,程序显示的结果是什么? 下载程序测试:将程序下载到micro:bit 主控板里,分别按下按钮A 和按钮B,向上、 向下倾斜,并记录程序LED 屏上运行的结果。 6 MakeCode与计算思维 2.2 进阶任务——数字变换 有一个三位数456,请编程把它变换成654,并把结果输出到LED 屏上。 1. 分析问题 通过读题,我们可以分析出是将三位数百位上的数字、十位上的数字和个位上的数 字逆序输出,重新组成一个三位数。 思考:百位上的数字和三位数的百位是一回事吗? 2. 设计算法 由上述分析我们可以得到原三位数百位、十位、个位上的数字分别为 (1)百位上的数字=(三位数÷100)取整 (2)十位上的数字= [(三位数- 百位上的数字×100)÷10] 取整 (3)个位上的数字= 三位数- 百位上的数字×100- 十位上的数字×10 新三位数的组合为 新三位数= 个位上的数字×100+ 十位上的数字×10+ 百位上的数字 3. 编写程序 程序中,x 代表原三位数,y 代表逆序的三位数。x1、x2、x3 分别代表百位、十位、 个位上的数字,具体程序如图2-3 所示。 图2-3 数字变换 第2课 体感运算器 7 4. 解决问题 将上述程序下载到micro:bit 主控板中,按下按钮A,然后记录程序运行的结果。 【探索任务】 请你使用MakeCode 编程工具,上机操作,求解表2-1 所示四种运算的结果,并 填入表2-1 中。 表2-1 四种不同的运算 运 算 式结  果原 因 说 明 第3 课 苹果数量问题 3.1 基础任务——苹果的数量 甲、乙两盘中有苹果若干,甲盘有9 个苹果,从乙盘 拿出3 个苹果放到甲盘中,乙盘还比甲盘多2 个,乙盘有 多少个苹果?见图3-1。 在学习数学的过程中,我们常常会遇到上述问题,那 么对于上述问题我们该如何用编程的方法来解决呢? 1. 分析问题 依据题意,我们建立数学模型,甲、乙两盘中苹果数量的状态变化如图3-2 所示。 图3-2 苹果数量的状态变化 通过状态图中甲、乙数量关系的对比,可以清晰地得出此时甲为12 个,乙为14 个, 再把刚才给甲的3 个拿回,可算得14+3=17(个),最初乙盘有17 个苹果。 聪明的小朋友已经把程序表达式编写出来了,如下所示。 乙盘原来的苹果数为9+3+3+2(个)。 如果题目中数字更换了,那岂不是每次都要换数字,这样是很麻烦的,有没有简单 的方法呢? 2. 设计算法 定义变量来编写程序,大家还记得第2 课“进阶任务——数字转换”中,我们在解 决三位数字逆序的问题时使用到的未知数吧,它们就是程序中的变量。 图3-1 苹果数量问题 第3课 苹果数量问题 9 【知识链接:变量】 变量是用来存放数据,且在程序运行中其值可以变化的量。变量必须有个名 字叫作变量名。通常变量名必须以字母开头,由字母、数字组成(变量名不要取 MakeCode 中的保留字)。 本任务我们将通过定义变量来解决问题,定义a 为甲盘苹果的数量,定义b 为乙盘 苹果的数量,定义c 为乙给甲的数量,定义d 为给过以后乙比甲多的数量。由此我们可 以得到公式: b=a+c×2+d 3. 编写程序 (1)定义变量 展开Variables 指令集,进入变量界面,单击 指令,打开“新建变量”对话框,如图3-3 所示,输入变量名,单击Ok 按钮完成变量的定义。 同理,完成变量b、c、d 的定义。再次展开 Variables 指令集,会出现我们刚才定义的变量,如图3-4 所示,此时可以调用变量来编程了。 (2)程序的初始化 程序运行之前,要设置好相应的参数,变量赋值就是其中之一,本题中变量a 的值 为9,c 的值为3,d 的值为2。鼠标拖曳赋值语句,将其放入模块on start 中, 并分别改变相应参数为a、c、d 的赋值。如图3-5 所示变量初始化。 图3-4 变量定义图3-5 变量初始化 图3-3 新建变量 10 MakeCode与计算思维 (3)编写表达式 依据表达式b=a+c×2+d,使用Math 指令集中的指令搭建出运算表达式,这里有一 个表达式的嵌套使用,具体操作如图3-6 所示。 图3-6 计算表达式的嵌套过程 (4)输出结果 展开Basic 指令集,用鼠标从中拖曳show number 语句,将变量b 放入其中用于输 出显示。完整的程序如图3-7 所示。 图3-7 完整的程序