运算符#

简介#

VEXcode AIR 中的指令块可以帮助无人机处理数字和文字。这些指令块可以解决数学问题、比较数值、判断条件真假以及处理字符串。字符串可以用来打印数值和文字。

以下是可用指令块的列表:

  • 数学运算符 — 执行加法、减法、乘法或除法。

  • 比较运算符 — 使用大于、小于或等于运算符比较两个值。

  • 逻辑运算符 — 使用 与 或 或 来判断多个条件。

  • 非运算符 — 反转布尔值。

  • 范围运算符 — 检查一个数字是否在某个范围内。

  • 随机选择 – 生成指定范围内的随机数。

  • 取整 – 将数字四舍五入为最接近的整数。

  • 数学函数 — 应用平方根、三角函数、对数和指数运算等运算。

  • atan2 — 计算 Y/X 的反正切值。

  • 余数 – 报告除法运算的余数。

  • 连接 – 将两个字符串合并为一个。

  • 提取字符 – 按位置从字符串中提取字符。

  • 长度 – 报告字符串中的字符数。

  • 是否包含 – 检查字符串是否包含特定的单词或字符。

  • 类型转换 – 将数字转换为文本、整数或小数。

数学运算符#

数学运算符 报告指令块对运算符两侧的值执行基本数学运算。它根据项目的打印精度返回结果,默认为 0 位小数,但可以使用 设置屏幕打印精度 或 设置控制台打印精度 指令块进行调整。

数学运算符报告指令块。#
([0] [math_plus v] [0])

参数

描述

值 1

运算中使用的第一个数字。

运算符

使用的数学运算符:

  • + - 加法
  • - - 减法
  • * - 乘法
  • / - 除法

值 2

运算中使用的第二个数字。

例子

进行基本加法运算,结果保留两位小数。#
当开始
[Perform basic addition and show two decimal places.]
在控制台上设定打印精度为 [0.01 v]
在控制台上打印 ([10] [math_plus v] [10.5])▶

比较运算符#

比较运算符布尔块报告两个值之间的比较结果是真还是假。

  • 真 – 比较结果正确(例如,5 > 3 返回 正确)。

  • 假 – 比较结果不正确(例如,2 ≥ 5 返回 错误)。

比较运算符布尔指令块。#
<[0] [math_equal v] [0]>

范围

描述

值 1

要比较的第一个值。

运算符

比较规则:

  • = - 等于
  • < - 小于
  • ≤ - 小于或等于
  • > - 大于
  • ≥ - 大于或等于

值 2

第二个要比较的值。

例子

当开始
[Fly to position (0, 300, 500).]
起飞至 [500] [毫米 v] ▶
等待 (1) 秒
移动 [向前 v]
等到 <([y v] 转位 [毫米 v]) [math_greater_than v] [300]>
等待 (1) 秒
土地 ▶

逻辑运算符#

逻辑运算符布尔指令块报告多个值之间的逻辑条件是真还是假。

  • 真 – 逻辑条件已满足。

  • 假 – 逻辑条件不满足。

逻辑运算符布尔指令块。#
<<> [and v] <>>

范围

描述

条件 1

第一个要判断的布尔条件。

运算符

要使用的逻辑运算符:与 如果两个条件都为真,则结果为真。或 如果至少一个条件为真,则结果为真。

条件 2

第二个需要判断的布尔条件。

例子

当开始
[Display when buttons 5 and 7 are pressed together.]
等到 <<遥控器按键 [5 v] 按下了?> [and v] <遥控器按键 [7 v] 按下了?>>
在控制台上打印 [Both buttons pressed!]▶

非运算符#

非运算符布尔指令块会反转另一个布尔指令块的结果。如果输入为真,则返回假;如果输入为假,则返回真。

  • 真 – 输入条件通常会报告 假。

  • 假 – 输入条件通常会报告 真。

非运算符布尔指令块。#
<非 <>>

范围

描述

条件

要取反的布尔条件。

例子

当开始
[Move with controller while button 5 is not pressed.]
起飞至 [500] [毫米 v] ▶
当 <非 <遥控器按键 [5 v] 按下了?>>
使用遥控器移动
结束
土地 ▶

范围运算符#

范围运算符布尔指令块报告一个值是否在指定的范围内。

  • 真 – 如果该值在范围内。

  • 假 – 如果该值超出范围。

范围运算符布尔指令块。#
<[0] [math_less_than v] [0] [math_less_than v] [0]>

范围

描述

第一个操作符

比较运算符:

  • < — 小于
  • ≤ — 小于或等于
  • — 大于
  • ≥ — 大于或等于

值

要检查的值。

第二个操作符

比较运算符:

  • < — 小于
  • ≤ — 小于或等于
  • — 大于
  • ≥ — 大于或等于

例子

当开始
[Hover at approximately 1000mm then land.]
起飞至 [500] [毫米 v] ▶
爬升 [向上 v]
等到 <[1000] [math_less_than v] (altitude in [mm v]) [math_less_than v] [1100]>
徘徊
等待 (3) 秒
土地 ▶

随机数选择#

“随机选择”报告指令块会报告一个介于最小值和最大值之间的随机正数或负数。它可以同时返回最小值和最大值。例如,选择 1 到 10 可以返回 1 到 10 之间的任意整数。

随机数选择报告指令块。#
在 [1] 到 [10] 之间选随机数

参数

描述

最小

可以选择的最小数字。

最大

可以选择的最大数字。

示例

显示一个介于 1 和 10 之间的数字。#
当开始
[Display a number between 1 and 10.]
在控制台上打印 (在 [1] 到 [10] 之间选随机数)▶

显示一个介于 1 和 10.5 之间的十进制数。#
当开始
[Display a decimal number between 1 and 10.5.]
在控制台上设定打印精度为 [All Digits v]
在控制台上打印 (在 [1] 到 [10.5] 之间选随机数)▶

取整数值#

取整数值指令块会根据标准四舍五入规则,将给定数字舍入到最接近的整数:

  • 如果小数部分是 0.5 或更大,则向上取整。

  • 如果小数部分小于 0.5,则向下取整。

取整数值报告指令块。#
([0] 四舍五入到 [0] 位小数)

范围

描述

数字

要取整的数字。

小数位数

四舍五入到小数点后的位数。

例子

显示 10 / 3 的取整结果。#
当开始
[Display the rounded result of 10 / 3.]
在控制台上设定打印精度为 [0.01 v]
在控制台上打印 (([10] [math_division v] [3]) 四舍五入到 [1] 位小数)▶

数学函数#

数学函数报告指令块将选定的数学函数应用于给定的数字并返回结果。它支持绝对值、四舍五入、平方根、三角函数、对数和指数运算等操作。

数学函数报告指令块。#
[abs v] 的 [0]

范围

描述

函数

对输入值应用的数学运算:

  • abs — 绝对值
  • floor — 向下取整
  • ceiling — 向上取整
  • sqrt — 平方根
  • sin — 正弦
  • cos — 余弦
  • tan — 正切
  • asin — 反正弦
  • acos — 反余弦
  • atan — 反正切
  • ln — 自然对数
  • log — 以 10 为底的对数
  • e^ — 欧拉数的幂
  • 10^ — 10 的幂
  • negative — 返回该数的负值

数字

需应用该函数的数值。

例子

显示 16 的平方根。#
当开始
[Display the square root of 16.]
在控制台上打印 ([sqrt v] 的 [16])▶

atan2#

atan2 报告指令块以度为单位报告 Y/X 的反正切值,表示正 X 轴与点 (X, Y) 之间的角度。

atan2 指令块#
(atan2 x:[4] y:[3])

范围

描述

x

点的水平坐标位置,以原点 (0,0) 为基准测量。

y

点的垂直坐标位置,以原点 (0,0) 为基准测量。

例子

计算当前位置 (4, 3) 的角度。#
当开始
[Calculate the angle from current position (4, 3).]
在控制台上打印 (atan2 x:[4] y:[3])▶

取余#

取余报告块报告两个值相除运算的余数。

取余报告指令块。#
[0] / [0] 取余

范围

描述

被除数

需要被除的数值。

除数

要除以的数字。

例子

显示 10 除以 3 的余数。#
当开始
[Display the remainder of 10 / 3.]
在控制台上打印 ([10] / [3] 取余)▶

连接#

连接 报告指令块报告一个由两个输入字符串组合而成的字符串。

连接报告指令块。#
(连接 [apple] [banana])

范围

描述

字符串 1

要合并的第一个字符串。

字符串 2

第二个要合并的字符串。

例子

当开始
[Display "VEXcode" on the Console.]
在控制台上打印 (连接 [VEX] [code])▶

提取字符#

提取字符报告指令块报告给定字符串中指定位置的单个字符字符串。

提取字符报告指令块。#
([apple] 的第 [1] 个字符)

范围

描述

位置

字符串中字符的位置(从 1 开始)。

字符串

要从中提取字母的字符串。

例子

当开始
[Display the first letter of "drone".]
在控制台上打印 ([drone] 的第 (1) 个字符)▶

长度#

长度报告块报告指定字符串中的字符数,包括空格。

字符串长度报告指令块。#
([apple] 长度)

范围

描述

字符串

要测量长度的字符串。

例子

当开始
[Count the number of characters in "VEX Robotics".]
在控制台上打印 ([VEX Robotics] 长度)▶

是否包含#

是否包含 布尔指令块报告指定的字符串是否包含给定的单词或字符。

  • 正确 – 该字符串包含该特定单词或字符。

  • 错误 – 该字符串不包含该特定单词或字符。

是否包含布尔指令块。#
<[apple] contains [a] ?>

范围

描述

字符串

被搜索的主字符串。

搜索词

需要在字符串中查找的词或字符。

例子

当开始
[Check if "robotics" contains "bot".]
如果 <[robotics] contains [bot] ?> 那么
在控制台上打印 [The word contains "bot".]▶
否则
在控制台上打印 [Not found.]▶
结束

类型转换#

类型转换 报告指令块会将数字转换为指定类型(文本或数字)后的值进行报告。

  • 文本 – 将数字转换为字符串。数字必须为字符串格式才能与 字符串运算符 指令块一起使用。

  • 数字 – 将数字转换为十进制值。

类型转换报告指令块。#
(转换 [0] 为 [文本 v])

范围

描述

值

要转换的数字。

类型

要将数字转换为以下类型:

  • 文本
  • 数字

例子

当开始
[Add any number to 5.]
询问 [Give me a number.] 并等待
在控制台上打印 ((转换 (应答) 为 [数字 v]) [math_plus v] [5])▶