找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 7375|回复: 3

阵列模块详解

  [复制链接]
发表于 2018-11-24 15:21:46 | 显示全部楼层 |阅读模式
本帖最后由 十多个男人 于 2018-11-24 15:34 编辑

      在EV3的众多模块中,阵列运算可以算是比较难用的一个模块了,一般的作品基本不会用到它,偶尔用到它的程序还可能会因为阵列长度出错而崩溃,所以今天就专门来讲一下如何去使用这个模块。
      首先要明白的是阵列运算这个模块其实是个工具,它是不能单独使用的,它的作用是用来操作一个类型为数字排列的变量(后面用A来代指)。

1.png 2.png

      当你有了一个数字排列类型的变量之后,你就可以通过点击添加来给里面存放一些值,这些值默认是0。数字排列类型的变量也是不能单独使用的,它必须和阵列运算这个模块在一起才能进行读写操作,但是在这之前需要先把这个变量改为读取-数字排列,然后取出一个阵列运算模块,将A变量里面的阵列输入到阵列运算模块的第一个参数里面去,这样就能够对A进行:附加、读取索引、写入索引、长度这四个操作。不过需要注意的是除了读取索引长度之外,你的A变量在进行完其他两个操作之后是必须要将结果再输入到A里面去的。
      我们先来看下附加操作,它的意思是在当前阵列的末尾增加一位,比如之前A里面我存了1,2,3这三位数,在下面第三幅图里进行操作之后就会多一位,变成1,2,3,0,这里的0这个值是可以自己进行更改为其他的数值的。
4.png 3.png 5.png
      然后就是读取索引,它的功能是读取A里面的某一位数并将其输出,比如下图里我的索引是1,那么就会将A里面第1位数字读取出来。
6.png
      接下来是写入索引,它的功能是定点替换A里面某个值,比如下图的操作将A里面的第10位数字换成0,然后将结果输入给A。但是,由于A里面一共存了1,2,3这3位数字,经过附加之后变成了1,2,3,0这4位数字,并不存在第10位,所以说这样运行之后程序会直接出错退出,所以在使用写入索引这个操作的时候,一定要注意数字排列的长度。
7.png
      最后是长度操作,这个操作就是读取当前数字排列的位数,比如A里面有1,2,3,0这4个数,那么它返回的长度就是4.
8.png
      下面是一个演示程序,A预设了3位数,它的功能是每按一次EV3面板上的任意键,就会将该键的ID储存按照循环次数的顺序储存在A里,也就是第一次当你按下面板上中间那个键之后,就会在A的第一位(第一次循环)放入2(EV3中键的ID是2),按下三个键之后跳出循环(这个是利用A的长度来作为循环的条件,如果长度超限,比如你循环了4次,那么程序就会出错),接着每隔一秒就将A里面的数字按顺序显示在屏幕上,三次之后跳出。
微信截图_20181124151518.png 微信截图_20181124151802.png

1.ev3 (6.62 KB, 下载次数: 93)


感兴趣的朋友还可以看下这个模块更多的使用技巧:https://bbs.cmnxt.com/forum.php? ... 7214&extra=page%3D1
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2019-11-4 17:22:04 | 显示全部楼层
学习
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2020-8-13 09:32:42 | 显示全部楼层
有一点 说错了  索引 0 才是第一个 1其实是第二个  
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2020-8-14 21:12:58 | 显示全部楼层
海绵大堡礁 发表于 2020-8-13 09:32
有一点 说错了  索引 0 才是第一个 1其实是第二个

哦对 是的 感谢提醒~
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-4-25 13:49 , Processed in 0.080675 second(s), 22 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表