App Inventor 2 数学计算教程

覆盖:随机数、三角函数、统计计算、进制转换、数字格式化。

一、基础运算速查

操作代码块示例
加减乘除+ - × ÷3 + 4 → 7
取余余数(a, b)余数(10, 3) → 1
整除商(a, b)商(10, 3) → 3
幂运算a ^ b2 ^ 10 → 1024
平方根平方根(x)平方根(16) → 4
绝对值绝对值(x)绝对值(-5) → 5
取反-x-(-3) → 3
最大值最大值(a, b)最大值(3, 7) → 7
最小值最小值(a, b)最小值(3, 7) → 3

二、随机数

2.1 基本随机数

// 随机整数(包含两端)
初始化局部变量 随机整数 = 随机整数(1, 100)
// → 1到100之间的随机整数

// 随机小数(0到1之间)
初始化局部变量 随机小数 = 随机小数
// → 如 0.7234...

// 随机小数(指定范围)
初始化局部变量 随机范围 = 随机整数(0, 100) / 100
// → 0.00 到 1.00

2.2 随机数应用

// 随机颜色
定义 随机颜色()
  返回 合并颜色(
    随机整数(0, 255),    // R
    随机整数(0, 255),    // G
    随机整数(0, 255)     // B
  )

// 随机从列表取一项
定义 随机取列表项(列表)
  返回 选择列表项(列表, 随机整数(1, 列表长度(列表)))

// 洗牌算法(随机打乱列表)
定义 洗牌(列表)
  初始化局部变量 结果 = 复制列表(列表)
  初始化局部变量 n = 列表长度(结果)
  对于 i 从 n 到 2 步长 -1
    初始化局部变量 j = 随机整数(1, i)
    初始化局部变量 临时 = 选择列表项(结果, i)
    替换列表项(结果, i, 选择列表项(结果, j))
    替换列表项(结果, j, 临时)
  返回 结果

// 随机验证码(6位数字)
定义 生成验证码()
  初始化局部变量 码 = ""
  对于 i 从 1 到 6 步长 1
    设置 码 = 合并字符串(码, 随机整数(0, 9))
  返回 码

三、四舍五入与格式化

// 四舍五入到整数
四舍五入(3.7)          // → 4
四舍五入(3.2)          // → 3

// 向上取整
天花板(3.1)            // → 4
天花板(3.9)            // → 4

// 向下取整
地板(3.9)              // → 3
地板(3.1)              // → 3

// 保留N位小数
四舍五入到小数点后N位(3.14159, 2)    // → 3.14
四舍五入到小数点后N位(3.14159, 4)    // → 3.1416

// 格式化为货币(保留2位小数)
定义 格式化货币(金额)
  返回 合并字符串("¥", 四舍五入到小数点后N位(金额, 2))

调用 格式化货币(9.9)     // → "¥9.90"
调用 格式化货币(1234.5)  // → "¥1234.50"

四、三角函数

// 角度转弧度
定义 角度转弧度(角度)
  返回 角度 * π / 180

// 弧度转角度
定义 弧度转角度(弧度)
  返回 弧度 * 180 / π

// 三角函数(参数为度数)
正弦(30)      // → 0.5
余弦(60)      // → 0.5
正切(45)      // → 1.0

// 反三角函数(返回度数)
反正弦(0.5)   // → 30
反余弦(0.5)   // → 60
反正切(1.0)   // → 45

// 实际应用:计算两点距离(平面)
定义 两点距离(x1, y1, x2, y2)
  返回 平方根((x2-x1)^2 + (y2-y1)^2)

// 计算角度(从点1到点2的方向角)
定义 两点角度(x1, y1, x2, y2)
  返回 反正切2(y2-y1, x2-x1)    // 返回-180到180度

五、统计计算

初始化全局变量 成绩列表 = [85, 92, 78, 96, 88, 73, 91, 84]

// 求和
定义 求和(列表)
  初始化局部变量 总和 = 0
  对于 每个 项 在 列表 中
    设置 总和 = 总和 + 项
  返回 总和

// 平均值
定义 平均值(列表)
  返回 调用 求和(列表) / 列表长度(列表)

// 最大值
定义 列表最大值(列表)
  初始化局部变量 最大 = 选择列表项(列表, 1)
  对于 每个 项 在 列表 中
    如果 项 > 最大 则 设置 最大 = 项
  返回 最大

// 最小值
定义 列表最小值(列表)
  初始化局部变量 最小 = 选择列表项(列表, 1)
  对于 每个 项 在 列表 中
    如果 项 < 最小 则 设置 最小 = 项
  返回 最小

// 方差
定义 方差(列表)
  初始化局部变量 均值 = 调用 平均值(列表)
  初始化局部变量 差方和 = 0
  对于 每个 项 在 列表 中
    设置 差方和 = 差方和 + (项 - 均值)^2
  返回 差方和 / 列表长度(列表)

// 标准差
定义 标准差(列表)
  返回 平方根(调用 方差(列表))

// 使用示例
设置 标签_统计.文本 = 合并字符串(
  "总分:", 调用 求和(全局变量 成绩列表), "\n",
  "平均:", 四舍五入到小数点后N位(调用 平均值(全局变量 成绩列表), 1), "\n",
  "最高:", 调用 列表最大值(全局变量 成绩列表), "\n",
  "最低:", 调用 列表最小值(全局变量 成绩列表), "\n",
  "标准差:", 四舍五入到小数点后N位(调用 标准差(全局变量 成绩列表), 2)
)

六、进制转换

// 十进制 → 二进制字符串
定义 十进制转二进制(n)
  如果 n = 0 则 返回 "0"
  初始化局部变量 结果 = ""
  初始化局部变量 数 = n
  循环 当 数 > 0 时
    设置 结果 = 合并字符串(余数(数, 2), 结果)
    设置 数 = 商(数, 2)
  返回 结果

// 二进制字符串 → 十进制
定义 二进制转十进制(二进制文本)
  初始化局部变量 结果 = 0
  对于 i 从 1 到 文本长度(二进制文本) 步长 1
    初始化局部变量 位 = 转换为数字(截取文本(二进制文本, i, i))
    设置 结果 = 结果 * 2 + 位
  返回 结果

// 使用示例
调用 十进制转二进制(255)   // → "11111111"
调用 二进制转十进制("1010") // → 10

七、常见问题

Q1:除法结果如何保留小数?

// 整数除法会自动保留小数
设置 标签1.文本 = 10 / 3    // → 3.3333...
// 如需保留2位:
设置 标签1.文本 = 四舍五入到小数点后N位(10/3, 2)    // → 3.33

Q2:如何判断奇偶数?

如果 余数(数字, 2) = 0 则
  // 偶数
否则
  // 奇数

Q3:π(圆周率)怎么用?

// App Inventor 2 内置π常量
初始化局部变量 圆周率 = π    // ≈ 3.14159265358979
初始化局部变量 圆面积 = π * 半径^2

参考资料


文档版本:2026.03 | 作者:App Inventor 2 中文网 www.fun123.cn

参考资料与版权声明

原文来源

版权声明

本文档基于 MIT App Inventor 官方文档及社区资源整理,版权归原作者所有:
  • MIT App Inventor 官方文档采用 CC BY-SA 4.0 授权
  • MIT App Inventor Community 帖子版权归原作者所有
本文档由 ai2claw 🐝 整理,仅供学习参考,如有侵权请联系删除。