|
|
App Inventor 2 数学积木完全指南:从加减乘除到位运算,一篇搞定所有计算需求
做 App 的时候,你觉得最离不开却又最容易被忽视的积木是什么?答案就是——数学运算积木。无论是计算购物总价、处理传感器数据,还是做游戏里的碰撞检测,数学积木都是幕后英雄。今天我们就把 App Inventor 2 中所有数学积木翻个底朝天,让你以后遇到任何计算需求,都能第一时间找到合适的积木。
一、基础运算:加减乘除不止那么简单
App Inventor 2 的基础运算积木包括 加(+)、减(-)、乘(*)、除(/) 和 幂运算(^)。
其中,加法和乘法积木是可扩展块(Mutator),点击右上角的齿轮图标,可以拖入更多的输入槽,实现三个甚至更多数字同时运算:
加法: 1 + 2 + 3 + 4 = 10 (一个积木搞定,不用嵌套)
乘法: 2 x 3 x 4 = 24 (同理,一个积木搞定)
幂运算积木 ^ 也非常实用:2 ^ 3 = 8,省去重复写乘法。
小技巧:带有数字值的块(如列表长度、文本长度、变量值)都可以直接接入数学运算积木,不需要先转换为数字类型。
二、比较运算:条件判断的核心
六种比较积木返回 真(true) 或 假(false),是 if/else 条件判断的基础:
| 积木 | 含义 | 示例 | | = | 等于 | 5 = 5 -> 真 | | != | 不等于 | 5 != 3 -> 真 | | > | 大于 | 5 > 3 -> 真 | | >= | 大于等于 | 5 >= 5 -> 真 | | < | 小于 | 3 < 5 -> 真 | | <= | 小于等于 | 5 <= 5 -> 真 |
三、数字输入:支持四种进制
很多人不知道,App Inventor 2 的数字块除了十进制,还直接支持二进制、八进制和十六进制输入:
- 二进制:0b10 = 十进制 2
- 八进制:0o14 = 十进制 12
- 十六进制:0xd4 = 十进制 212
进制数字块还可以通过下拉菜单切换输入模式,这在处理硬件通信、蓝牙数据时非常好用。
四、取整与舍入:三种方式各有妙用
| 积木 | 说明 | 示例 | | 四舍五入(round) | 小数部分 <0.5 向下,>0.5 向上;正好 0.5 时向偶数取整 | round(2.5)=2, round(3.5)=4 | | 上取整(ceiling) | 返回 >= 该数的最小整数 | ceiling(3.01)=4 | | 下取整(floor) | 返回 <= 该数的最大整数 | floor(3.88)=3 |
注意 round 的"向偶数取整"规则(Banker's Rounding),这是国际标准 IEEE 754 的做法,不是 Bug!
五、随机数:游戏和模拟的基石
三个随机数积木:
1. 随机整数:返回指定范围内的随机整数(含首尾),参数顺序不限
2. 随机小数:返回 0~1 之间的随机小数
3. 设定随机数种子:用相同种子可以生成相同的随机序列,非常适合测试和科学计算
六、高级函数:科学计算也能搞定
通过下拉菜单可以切换的函数积木:
- min / max:取一组数的最小值/最大值(可扩展块)
- 平方根、绝对值、相反数
- 自然对数(log)、e^x
- 三角函数:sin、cos、tan(以度为单位,不是弧度!)
- 反三角函数:asin、acos、atan、atan2
- 弧度度数转换
七、求模、余数和商:别再傻傻分不清
这三个概念最容易混淆,记住这个区别:
- 求模(modulo):结果与除数 b 同号。mod(-11, 5) = 4
- 余数(remainder):结果与被除数 a 同号。remainder(-11, 5) = -1
- 商(quotient):整除结果,丢弃小数部分
| 表达式 | 求模 | 余数 | | (11, 5) | 1 | 1 | | (-11, 5) | 4 | -1 | | (11, -5) | -4 | 1 | | (-11, -5) | -1 | -1 |
做循环索引、数据分页时,求模是最常用的。处理硬件协议时,余数更符合底层逻辑。
八、位运算实战:二进制位操作
这是进阶玩家最爱的部分。App Inventor 2 提供三种按位运算:
- 按位与(&):两位都为 1,结果才为 1
- 按位或(|):任一位为 1,结果就为 1
- 按位异或(^):两位不同时结果为 1
优化技巧:由于 App Inventor 没有移位操作,可以用一个列表存 [1, 2, 4, 8, 16...],然后取出对应值做位运算,代码量比多分支判断少很多,逻辑也更清晰。
九、进制转换与数字格式化
- 进制转换:输入字符串和源/目标进制,返回转换后的字符串
- 格式化小数:指定小数位数,多了四舍五入,少了补零
- 是否为数字:判断对象是否为数字类型,防止非法输入导致计算错误
总结
App Inventor 2 的数学积木远比想象中强大——从基础四则运算到进制转换,从随机数生成到位运算,覆盖了绝大部分 App 开发中的数学需求。掌握这些积木,你就能:
- 处理购物车、评分等日常计算场景
- 做游戏中的物理模拟和概率判定
- 解析硬件协议中的二进制数据
- 实现数据可视化的坐标变换
建议把这篇指南收藏起来,开发时当字典查,随用随翻。
相关资料
- 完整文档:https://www.fun123.cn/reference/blocks/math.html
- App Inventor 2 中文网:https://www.fun123.cn
- 技术交流社区:https://bbs.tsingfun.com
觉得有用?点赞收藏,关注「App Inventor 2 中文网」,每周分享积木编程实战技巧。 |
|