友情提示:380元/半年,儿童学编程,就上码丁实验室。
本阶段课程适合2年级、3年级、4年级及以上刚开始接触EV3机器人的同学们。
本篇请下载 LEGO Mindstorms教育版软件 有条件的话,请为孩子添置一套EV3套装,让课程内容可以同步练习进行动手实践。
从上节课开始,我们进入初级课程最难的部分了。
现在相信很多小朋友也开始了解,为什么老丁一开始不教基本模块使用,而是教基本流程逻辑了。
在这阶段的内容学习时,我也希望知道大家哪里能看懂,哪里看不懂,以便更新我的讲义。
毕竟用文字表述的时候,我看不到大家的接收反馈。
再次说一下,希望大家在学习中有问题,可以在文章下方留言给我,精选后,可以帮助到其他问题一样的同学。
上节课,我们通过一个案例了解了变量。
不过!
这是只一种综合案例教学,目的是为了帮助大家先理解一下变量的功能,今天我们继续来说变量的具体使用。
数据变量
这是变量最基本的使用方式——写入和读取变化的数据。
我们日常有很多地方都有变量功能的程序存在。
比如:
你去饭店点单,会收到一张收银小票,小票上会有一个编号,记录着你是第几位付款的客人。或者前方的排队人数。
这样的场景在银行、停车场等等随处可见。
它们的功能都是自动记录一个数据,然后根据情况,增加或减少一个数字,来像别人展示信息。
看上去很简单,其实就是一种基本的变量使用。
由上面的要求,我们可以形成一个题面:
1、 按一个按钮,EV3屏幕上显示数字增加 1
2、 按另一个按钮,EV3屏幕上数字减少 1
(跟停车场一样,进一辆车+1,出一辆车-1)
那到底怎么来实现呢?我们一起来完成并理解一下。
设定变量的功能
不管难不难,先整理逻辑。
和上节课一样,我们首先要分析一下题面。
在这个情况下,数据输出只有在一个地方,就是主机显示屏上。
从题面看上去是按钮直接控制了屏幕的显示。
但事实上不是的。控制屏幕上数字显示变化的,应该还是我们的变量模块。
我们可以这样理解。按钮给的只是一个采集到的数据,而屏幕上显示的,是经过处理的数据。那么谁在处理数据?当然就是我们的变量模块。
所以,跟上节课一样,我们首先要把变量的用途搞清楚并设定好。
动动手
第一步
设定变量
写入一个变量,名字我们可以起为N。
我们可以自己设定从哪个数字开始计数。这边需要先写出初始值。
举例,如果是在排队场景,前面没人排队,那么肯定就是0,所以我们设定为0。
如图:
第二步
设定出变量的用途
跟上节课一样,我们要知道这个数据用来控制什么,这次我们控制的是屏幕显示输出。
所以,我们的变量值直接拖动到屏幕上进行显示。
由于我们需要始终显示在那边,所以需要加上循环模块,如下图。
这样,第一个主循环就完成了。这个主循环是通过变量N来控制屏幕显示的数字的。这个时候如果运行程序,屏幕上会始终显示0这个数字。
第三步
接下来,我们要定义这个变量的数据变化逻辑。
按键↑,加1
按键↓,减1
这是两个顺序独立的顺序流程。
想一想:我们该用传感器模块还是用流程模块呢?
如果你有好好上之前的课,那么这里,你就知道,流程中要产生程序的实际功能(程序阻塞)时,需要的是“流程模块”。
我们使用“等待”模块来调取传感器的数据。(这个时候按键就是传感器)
按↑的时候,我们定义为:变量N+1形成一个,并再次写入N,这个时候N就会等于2了。如图:
这里我们稍微理解一下,变量是通过其他操作产生变化来改变值的;这个值改变后,如果不去执行其他操作,就会改变后的那个值。
所以,我们再按↑的时候,变量其实是2+1,再次写入的N的值会是3。
以此类推,这就完成了我们想要达到的目的。
变量
N值的数据加法定义,就完成了。形成了第二个主循环。
减法是怎么来设定呢?同上呀,不就是一个加,一个减嘛!形成第三个主循环。
到这里,这个程序就完成了,动手试一试吧!
我们来看一下完整的程序:
点击放大
小作业
用其他“流程”编一下这个程序
逻辑清楚后,我们会发觉,其实要达到同样的目的,程序不是只有一种编法的。
我们上面的程序,是写入了3个主循环,用的是并列的“顺序”。
如果用“判断”形成2个主循环,效果其实是一样的。
你能不能自己动手尝试一下呢?
完成后,你可以截图通过微信号发给老丁,跟我交流哦。
应该不是很难,有问题,记得给我留言。
我们下期再见!
课程越来越精彩,希望大家帮忙转发推广哦!再次感谢!
重点总结
系统学习变量的使用,数据变量的应用