操作員#
介紹#
VEXcode EXP 中的運算子模組可以幫助機器人處理數字和文字。這些模組可以解決數學問題、比較數值、判斷條件真假、處理字串。字串可以用來列印數值和文字。
以下是可用模組列表:
數學運算子 – 執行加法、減法、乘法或除法。
比較運算子 – 使用大於、小於或等於運算子比較兩個值。
邏輯運算子 – 使用 and 或 or 來評估多個條件。
非運算子 – 反轉布林值。
範圍運算子 – 檢查一個數字是否在某個範圍內。
pick random – 產生指定範圍內的隨機數。
round number – 將數字四捨五入到最接近的整數。
數學函數 – 應用平方根、三角函數、對數和指數運算等運算。
atan2 – 計算 y/x 的反正切值。
餘數 – 報告除法運算的餘數。
join – 將兩個字串合併為一個字串。
letter – 按位置從字串中提取字元。
length – 報告字串中的字元數。
contains – 檢查字串是否包含特定單字或字元。
convert – 將數字轉換為文字、整數或小數。
數學運算符#
數學運算符 報告區塊對運算符兩側的值執行基本數學運算。它根據項目的列印精度返回結果,預設為 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 |
第二個要比較的值。 |
例子
當開始時
[Turn right until the heading reaches 90 degrees.]
向 [右 v] 轉
等待 [0.5] 秒
等待直到 <(行駛航向(度)) [math_greater_than v] [90]>
停止行駛
邏輯運算符#
邏輯運算子布林區塊報告多個值之間的邏輯條件是真還是假。
正確 – 邏輯條件已滿足。
錯誤 – 邏輯條件不滿足。
<<> [且 v] <>>
範圍 |
描述 |
|---|---|
條件 1 |
第一個需要評估的布林條件。 |
操作員 |
要使用的邏輯運算子:and 如果兩個條件都為True,則結果為True。 or 若至少有一個條件為True,則結果為True。 |
條件 2 |
需要評估的第二個布林條件。 |
例子
當開始時
[Display if the ▼ and B Controller buttons are pressed.]
永遠
清除螢幕
將游標設定到螢幕第 [1] 列第 [1] 欄
如果 <<[Controller1 v] [▼ v] 按下?> [且 v] <[Controller1 v] [B v] 按下?>> 則
在螢幕上列印 [Buttons pressed!] ▶
結束
結束
非操作員#
非運算子布林區塊會反轉另一個布林區塊的結果。如果輸入為真,則傳回假;如果輸入為假,則傳回真。
正確 – 輸入條件通常會報告 錯誤。
錯誤 – 輸入條件通常會報告 正確。
<非 <>>
範圍 |
描述 |
|---|---|
狀態 |
要取反的布林條件。 |
例子
當開始時
[Turn until the robot is facing left. ]
永遠
如果 <非 <(行駛航向(度)) [math_greater_than v] [270]>> 則
向 [右 v] 轉
否則
停止行駛
靶場操作員#
範圍運算子布林區塊報告一個值是否在指定的範圍內。
真 – 如果該值在範圍內。
錯誤 – 如果該值超出範圍。
<[0] [math_less_than v] [0] [math_less_than v] [0]>
範圍 |
描述 |
|---|---|
第一營運商 |
比較運算子:
|
價值 |
要檢查的值。 |
第二操作員 |
比較運算子:
|
例子
當開始時
[Turn and display when facing forward or back. ]
向 [右 v] 轉 [360] 度 ◀ 且不等待
永遠
清除螢幕
將游標設定到螢幕第 [1] 列第 [1] 欄
如果 <[90] [math_less_than v] (行駛航向(度)) [math_less_than v] [270]> 則
在螢幕上列印 [Facing backward!] ▶
否則
在螢幕上列印 [Facing forward!] ▶
隨機#
「隨機選擇」報告模組會報告一個介於最小值和最大值之間的隨機正數或負數。它可以同時傳回最小值和最大值。例如,選擇 1 到 10 可以傳回 1 到 10 之間的任意整數。
隨機取 [1] 到 [10]
參數 |
描述 |
|---|---|
最小 |
可以選擇的最小數字。 |
最大限度 |
可以選擇的最大數字。 |
範例
當開始時
[Display a number between 1 and 10.]
在螢幕上列印 (隨機取 [1] 到 [10]) ▶
整數#
「四捨五入」報告模組會依照標準舍入規則,將給定的數字四捨五入到最接近的整數:
如果小數部分為 0.5 或更大,則向上取整。
如果小數部分小於 0.5,則向下取整。
(將 [0] 四捨五入至 [0] 位小數)
範圍 |
描述 |
|---|---|
數位 |
要四捨五入的數字。 |
小數位數 |
四捨五入到小數點後的位數。 |
例子
當開始時
[Display the rounded result of 10 / 3.]
在螢幕上設定列印精度為 [0.01 v]
在螢幕上列印 (將 ([10] [math_division v] [3]) 四捨五入至 [1] 位小數) ▶
數學函數#
數學函數報告模組將選定的數學函數應用於給定的數字並傳回結果。它支援絕對值、四捨五入、平方根、三角函數、對數和指數運算等操作。
[0] 的 [abs v]
範圍 |
描述 |
|---|---|
功能 |
对输入值应用的数学运算:
|
數位 |
要套用該函數的數字。 |
例子
當開始時
[Display the square root of 16.]
在螢幕上列印 ([16] 的 [sqrt v]) ▶
atan2#
atan2 報告區塊以度為單位報告 Y/X 的反正切值,表示正 X 軸與點 (X, Y) 之間的角度。
(x 的 atan2:[4] y:[3])
範圍 |
描述 |
|---|---|
x |
從原點 (0,0) 測量的點的水平位置。 |
是 |
從原點 (0,0) 測量的點的垂直位置。 |
例子
當開始時
[Calculate the angle from current position (4, 3).]
在螢幕上列印 (x 的 atan2:[4] y:[3]) ▶
餘#
餘數報告區塊報告兩個值相除運算的餘數。
([0] / [0] 的餘數)
範圍 |
描述 |
|---|---|
股利 |
待除數。 |
除數 |
要除以的數字。 |
例子
當開始時
[Display the remainder of 10 / 3.]
在螢幕上列印 ([10] / [3] 的餘數) ▶
加入#
join 報告區塊報告一個將兩個輸入字串組合在一起的單一字串。
(連接 [apple] [banana])
範圍 |
描述 |
|---|---|
字串 1 |
要合併的第一個字串。 |
字串 2 |
第二個要合併的字串。 |
當開始時
[Display "VEXcode" on the screen.]
在螢幕上列印 (連接 [VEX] [code]) ▶
信#
字母報告區塊報告給定字串中指定位置的單一字元字串。
([apple] 的第 [1] 個字母)
範圍 |
描述 |
|---|---|
位置 |
字串中字元的位置(從 1 開始)。 |
細繩 |
要從中提取字母的字串。 |
當開始時
[Display the first letter of "Robot".]
在螢幕上列印 ([Robot] 的第 (1) 個字母) ▶
長度#
長度報告區塊報告指定字串中的字元數,包括空格。
([apple] 的長度)
範圍 |
描述 |
|---|---|
細繩 |
用來測量長度的繩子。 |
例子
當開始時
[Count the number of characters in "VEX Robotics".]
在螢幕上列印 ([VEX Robotics] 的長度) ▶
包含#
contains 布林區塊報告指定的字串是否包含給定的單字或字元。
正確 – 該字串包含該特定單字或字元。
錯誤 – 該字串不包含該特定單字或字元。
<[apple] 包含 [a]?>
範圍 |
描述 |
|---|---|
細繩 |
要搜尋的主字串。 |
搜尋詞 |
要檢查的字串中的單字或字元。 |
例子
當開始時
[Check if "robotics" contains "bot".]
如果 <[robotics] 包含 [bot]?> 則
在螢幕上列印 [The word contains "bot".] ▶
否則
在螢幕上列印 [Not found.] ▶
結束
轉變#
convert 報告區塊會將數字轉換為指定類型(文字或數字)後的值進行報告。
text – 將數字轉換為字串。數字必須為字串格式才能與 字串運算子 程式碼區塊一起使用。
數字 – 將數字轉換為十進位值。
(將 [0] 轉換為 [文字 v])
範圍 |
描述 |
|---|---|
價值 |
要轉換的數字。 |
類型 |
若要將數字轉換為以下類型:
|
例子
當開始時 :: hat events
[Display the robot's heading as it turns.]
向 [右 v] 轉
永遠
清除所有列
列印 (連接 [Currently facing: ] (將 (行駛航向(度)) 轉換為 [文字 v])) ▶
等待 [0.5] 秒