|
本帖最后由 十多个男人 于 2018-11-24 15:34 编辑
在EV3的众多模块中,阵列运算可以算是比较难用的一个模块了,一般的作品基本不会用到它,偶尔用到它的程序还可能会因为阵列长度出错而崩溃,所以今天就专门来讲一下如何去使用这个模块。
首先要明白的是阵列运算这个模块其实是个工具,它是不能单独使用的,它的作用是用来操作一个类型为数字排列的变量(后面用A来代指)。
当你有了一个数字排列类型的变量之后,你就可以通过点击添加来给里面存放一些值,这些值默认是0。数字排列类型的变量也是不能单独使用的,它必须和阵列运算这个模块在一起才能进行读写操作,但是在这之前需要先把这个变量改为读取-数字排列,然后取出一个阵列运算模块,将A变量里面的阵列输入到阵列运算模块的第一个参数里面去,这样就能够对A进行:附加、读取索引、写入索引、长度这四个操作。不过需要注意的是除了读取索引和长度之外,你的A变量在进行完其他两个操作之后是必须要将结果再输入到A里面去的。
我们先来看下附加操作,它的意思是在当前阵列的末尾增加一位,比如之前A里面我存了1,2,3这三位数,在下面第三幅图里进行操作之后就会多一位,变成1,2,3,0,这里的0这个值是可以自己进行更改为其他的数值的。
然后就是读取索引,它的功能是读取A里面的某一位数并将其输出,比如下图里我的索引是1,那么就会将A里面第1位数字读取出来。
接下来是写入索引,它的功能是定点替换A里面某个值,比如下图的操作将A里面的第10位数字换成0,然后将结果输入给A。但是,由于A里面一共存了1,2,3这3位数字,经过附加之后变成了1,2,3,0这4位数字,并不存在第10位,所以说这样运行之后程序会直接出错退出,所以在使用写入索引这个操作的时候,一定要注意数字排列的长度。
最后是长度操作,这个操作就是读取当前数字排列的位数,比如A里面有1,2,3,0这4个数,那么它返回的长度就是4.
下面是一个演示程序,A预设了3位数,它的功能是每按一次EV3面板上的任意键,就会将该键的ID储存按照循环次数的顺序储存在A里,也就是第一次当你按下面板上中间那个键之后,就会在A的第一位(第一次循环)放入2(EV3中键的ID是2),按下三个键之后跳出循环(这个是利用A的长度来作为循环的条件,如果长度超限,比如你循环了4次,那么程序就会出错),接着每隔一秒就将A里面的数字按顺序显示在屏幕上,三次之后跳出。
1.ev3
(6.62 KB, 下载次数: 93)
感兴趣的朋友还可以看下这个模块更多的使用技巧:https://bbs.cmnxt.com/forum.php? ... 7214&extra=page%3D1
|
|