オペレーター#
導入#
VEXcode AIRのオペレーターブロックは、ドローンが数値や単語を扱うのに役立ちます。これらのブロックは、数学の問題を解いたり、値を比較したり、条件が真か偽かを判定したり、文字列を操作したりできます。文字列は、値や単語を表示するために使用できます。
利用可能なブロックの一覧は以下のとおりです。
算術演算子 — 加算、減算、乗算、除算を実行します。
比較演算子 — より大きい、より小さい、または等しい演算子を使用して 2 つの値を比較します。
論理演算子 — and または or を使用して複数の条件を評価します。
否定演算子 — ブール値を反転します。
範囲演算子 — 数値が範囲内にあるかどうかを確認します。
pick random — 指定された範囲内で乱数を生成します。
数値の丸め — 数値を最も近い整数に丸めます。
数学関数 — 平方根、三角関数、対数、指数などの演算を適用します。
atan2 — Y/X の逆正接を計算します。
remainder — 分割操作の残余を報告します。
join – 2 つの文字列を 1 つに結合します。
letter – 文字列から位置を指定して文字を抽出します。
length – 文字列の文字数を報告します。
contains – 文字列に特定の単語または文字が含まれているかどうかを確認します。
convert – 数値をテキスト、整数、または小数に変換します。
数学演算子#
算術演算子レポーターブロックは、演算子の両側に配置された値に対して基本的な算術演算を実行します。プロジェクトの印刷精度に基づいて結果が返されます。印刷精度はデフォルトでは小数点以下0桁ですが、画面上で印刷精度を設定またはコンソール上で印刷精度を設定ブロックを使用して調整できます。
([0] [math_plus v] [0])
パラメータ |
説明 |
|---|---|
値 1 |
演算で使用される最初の数値。 |
オペレーター |
使用する数学演算子:
|
値2 |
演算で使用される2番目の数値。 |
例
開始したとき
[Perform basic addition and show two decimal places.]
コンソールの表示精度を [0.01 v] に設定
([10] [math_plus v] [10.5]) をコンソールに表示 ▶
比較演算子#
比較演算子ブールブロックは、2つの値の比較が真か偽かを報告します。
True – 比較が正しい(例:5 > 3 は True を返す)。
False – 比較が正しくありません(例:2 ≥ 5 は False を返します)。
<[0] [math_equal v] [0]>
パラメータ |
説明 |
|---|---|
値 1 |
比較対象となる最初の値。 |
オペレーター |
比較に使用する記号:
|
値2 |
比較対象となる2番目の値。 |
例
開始したとき
[Fly to position (0, 300, 500).]
[500] [mm v] の高さへ離陸 ▶
(1) 秒待つ
[前進 v] へ移動
<([y v] の位置([mm v])) [math_greater_than v] [300]> まで待つ
(1) 秒待つ
着陸 ▶
論理演算子#
論理演算子ブールブロックは、複数の値間の論理条件が真か偽かを報告します。
真 – 論理条件が満たされています。
偽 – 論理条件が満たされていません。
<<> [かつ v] <>>
パラメータ |
説明 |
|---|---|
条件1 |
まず最初に評価するブール条件。 |
オペレーター |
使用する論理演算子: and は、両方の条件が True の場合に True を返します。 or は、少なくとも一方の条件が True の場合に True を返します。 |
条件2 |
評価する2つ目のブール条件。 |
例
開始したとき
[Display when buttons 5 and 7 are pressed together.]
<<コントローラーボタン [5 v] 押された?> [かつ v] <コントローラーボタン [7 v] 押された?>> まで待つ
[Both buttons pressed!] をコンソールに表示 ▶
非演算子#
否定演算子ブールブロックは、ブールブロックの結果を反転します。入力がTrueの場合はFalseを返し、入力がFalseの場合はTrueを返します。
True – 入力条件は通常Falseを返します。
偽 – 入力条件は通常真を返します。
<<> でない>
パラメータ |
説明 |
|---|---|
状態 |
反転させるべきブール条件。 |
例
開始したとき
[Move with controller while button 5 is not pressed.]
[500] [mm v] の高さへ離陸 ▶
<<コントローラーボタン [5 v] 押された?> でない> の間繰り返す
コントローラーで移動
終わり
着陸 ▶
レンジオペレーター#
範囲演算子ブールブロックは、値が指定された範囲内にあるかどうかを報告します。
真 – 値が範囲内にある場合。
False – 値が範囲外の場合。
<[0] [math_less_than v] [0] [math_less_than v] [0]>
パラメータ |
説明 |
|---|---|
最初の演算子 |
使用する比較演算子:
|
価値 |
確認すべき値。 |
2人目のオペレーター |
使用する比較演算子:
|
例
開始したとき
[Hover at approximately 1000mm then land.]
[500] [mm v] の高さへ離陸 ▶
[上 v] へ上昇
<[1000] [math_less_than v] (altitude in [mm v]) [math_less_than v] [1100]> まで待つ
ホバリング
(3) 秒待つ
着陸 ▶
ランダムに選択#
pick random レポーターブロックは、最小値と最大値の間の正または負のランダムな数値を報告します。最小値と最大値の両方を返すことができます。たとえば、1から10を選択することで、1から10までの任意の整数を返すことができます。
[1] から [10] の乱数
パラメータ |
説明 |
|---|---|
ミニ |
選択可能な最小の数字。 |
最大 |
選択可能な最大の数字。 |
例
開始したとき
[Display a number between 1 and 10.]
([1] から [10] の乱数) をコンソールに表示 ▶
開始したとき
[Display a decimal number between 1 and 10.5.]
コンソールの表示精度を [全桁 v] に設定
([1] から [10.5] の乱数) をコンソールに表示 ▶
キリの良い数字#
丸め数レポーターブロックは、標準的な丸め規則に従って、指定された数値を最も近い整数に丸めて報告します。
小数点以下が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]
パラメータ |
説明 |
|---|---|
関数 |
The mathematical operation to apply to the input value:
|
番号 |
関数を適用する対象となる数値。 |
例
開始したとき
[Display the square root of 16.]
([16] の [sqrt v]) をコンソールに表示 ▶
アタン2#
atan2 レポーター ブロックは、Y/X の逆正接を度数で表した角度を報告します。これは、正の X 軸と点 (X, Y) の間の角度を表します。
(x:[4] y:[3]の atan2)
パラメータ |
説明 |
|---|---|
x |
原点(0,0)からの水平位置。 |
y |
原点(0,0)からの垂直方向の位置。 |
例
開始したとき
[Calculate the angle from current position (4, 3).]
(x:[4] y:[3]の atan2) をコンソールに表示 ▶
残り#
剰余レポーターブロックは、2つの値間の除算演算の剰余を報告します。
[0] ÷ [0] の余り
パラメータ |
説明 |
|---|---|
配当 |
分割される数。 |
除数 |
割る数。 |
例
開始したとき
[Display the remainder of 10 / 3.]
([10] ÷ [3] の余り) をコンソールに表示 ▶
参加する#
joinレポーターブロックは、2つの入力文字列を結合した単一の文字列を報告します。
([apple] と [banana] をつなぐ)
パラメータ |
説明 |
|---|---|
文字列1 |
最初に結合する文字列。 |
文字列2 |
組み合わせる2番目の文字列。 |
例
開始したとき
[Display "VEXcode" on the Console.]
([VEX] と [code] をつなぐ) をコンソールに表示 ▶
手紙#
letterレポーターブロックは、指定された文字列内の指定された位置から1文字の文字列を報告します。
([apple] の [1] 番目の文字)
パラメータ |
説明 |
|---|---|
位置 |
文字列内における文字の位置(1から始まる)。 |
弦 |
文字を抽出する文字列。 |
例
開始したとき
[Display the first letter of "drone".]
([drone] の (1) 番目の文字) をコンソールに表示 ▶
長さ#
lengthレポーターブロックは、指定された文字列の文字数(スペースを含む)を報告します。
([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 – 数値を文字列に変換します。String Operator ブロックを使用するには、数値は文字列形式である必要があります。
number – 数値を小数値に変換します。
([0] を [テキスト v] に変換)
パラメータ |
説明 |
|---|---|
価値 |
変換する数値。 |
タイプ |
数値を変換するタイプ:
|
例
開始したとき
[Add any number to 5.]
[Give me a number.] を聞いて待つ
(((答え) を [数値 v] に変換) [math_plus v] [5]) をコンソールに表示 ▶