数学演算子
SenseTalkは、数多くの数学演算子を提供します。以下で概要を説明します。
+
, Plus
演算子
動作: 二つの数字または数字のリストを足します。
構文:
operand1 + operand2
operand1 plus operand2
例:
put 12 + 97 into someSum
例:
put a squared plus b squared into sumOfSquares
例:
put [12,8] + [4,7] into vectorSum
-
, Minus
演算子
動作: 一つの数字または数字のリストから別の数字またはリストを引きます。日付/時間から別の日付/時間を引くと、その差分が秒単位の時間間隔として与えられます。
構文:
operand1 - operand2
operand1 minus operand2
例:
put c^2 - sumOfSquares into difference
例:
put (1,3,5,6) - (1,1,0,2) into diffList
*
, Times
, Multiplied By
演算子
動作: 二つの数値やリストを掛け算します、またはリストをスカラーで掛け算します。等しい長さの二つのリストを使って使用すると、結果は二つのリストの対応する要素の積の一連のものになります。一つのオペランドがリストで、もう一つが単一(スカラー)の値である場合、結果は、各元のリストの要素をスカラー値で掛け算した値のリストになります。
構文:
operand1 * operand2
operand1 times operand2
operand1 multiplied by operand2
例:
put 2 * radius into diameter
例:
put pi times diameter into circumference
例:
put [1,2,3,4] * [2,2,1,3]-- result is [2,4,3,12]
例:
put [1,2,3md ,4] * 4 -- result is [4,8,12,16]
例:
put 7 multiplied by 3 -- result is 21
/
, Divided By
演算子
動作: 一つの数字またはリストを別の数字またはリストで割ります、またはリストをスカラーで割ります。結果は、全数でない可能性のある商になります。これをdiv
演算子と比較してください、これは全数を生成します。等しい長さの二つのリストを使って使用すると、結果は二つのリストの対応する要素の商の一連のものになります。最初のオペランドがリストで、二つ目が単一(スカラー)の値である場合、結果は各リスト要素をスカラー値で割った値のリストになります。第二のオペランドがゼロである場合、この演算子はinfinity
(無限大)、表示されるとInf
の値を返します。無限の値を他の計算で使用すると、一般的に予想される結 果が得られます。
構文:
operand1 / operand2
operand1 divided by operand2
例:
put pi / 2 into halfPi
例:
put [1,2,3,4] / [2,1,1,2] -- result is [0.5,2,3,2]
例:
put [2,4,5,8] / 2 -- Result is [1,2,2.5,4]
^
, To The Power Of
, Squared
, Cubed
演算子
動作: 数値を指定したべき乗にします。
構文: オペランド1 ^ オペランド2 オペランド1 to the power of オペランド2 オペランド1 squared オペランド1 cubed
例:
put a squared + b squared into sumOfSquares
例:
put 6 * x^4 - 2 * y^3 into z
%
, Percent
演算子
動作: 数値をパーセンテージとして扱ったり、追加や割引のパーセンテージを計算します。簡単な形式では、%
は値の後に続き、その値を100で割る(したがって、6%
は.06
と同じです)。しかし、%
が+
または-
演算子の後に使用される場合、その演算子の左側の値の対応するパーセンテージが指定されたパーセンテージ分増加または減少します。
構文: factor % factor percent value [ + | - | plus | minus ] factor [ % | percent ]
例:
put 4% -- .04
例:
put 50 * 4% -- 2
例:
put 50 + 4% -- 52
例:
put 50 - 4% -- 48
例:
put sales plus ten percent into projectedSales
Div
演算子
動作: 1つの数値を別の数値で割り、結果を整数で返します。同伴のrem
演算子は、そのような操作の余りを見つけるために使用できます。ゼロでの除算は、結果としてInf
を生じます。
構文: operand1 div operand2
例:
put cookieCount div numberOfPeople into cookiesForEach
Rem
演算子
動作: 除算の整数の余りを計算します。これはdiv
演算子の補完です。rem
演算子の結果は常にその最初のオペランドと同じ符号を持ちます。
構文: operand1 rem operand2
例:
put cookieCount rem numberOfPeople into extrasForMe
Modulo
, Mod
演算子
動作: 数学的なモジュロ演算を行います。ある数が別の数の次に低い偶数の倍数を超える量を得ます。modulo
演算子はrem
演算子とは異なり、整数の除算の余りを与えます。両方のオペランドが正の整数である場合、rem
とmodulo
は同じ結果をもたらします。しかし、負の数や非整数の値は、2つの演算子によって大きく異なる方法で扱われます。
構文: operand1 modulo operand2 operand1 mod operand2
例:
put someValue mod modulusValue into extrasForMe
Is a Multiple Of
, Is Divisible By
演算子
動作: これらの演算子は一つの数が他の数の正確な倍数であるかどうかをチェックします。つまり、一つを他の数で割った結果が余りのない整数になるかどうかをチェックします。
構文: value is {not} {a | an} {exact | even} multiple of divisor value is {not} {exactly | evenly} divisible by divisor
例:
put 2895 is a multiple of 5-- true
例:
put 169 is divisible by 13 -- true
例:
put 98.6 is an exact multiple of 3.14-- false
例:
もしcookieCountがnumberOfPeopleでちょうど割り切れるなら "Hooray!" を出力する
Rounded To
, Rounded to Nearest
演算子
振る舞い: 値を小数点以下の桁数、または別の値の最近傍倍数に丸めます。また、単位名、または単位名の値を持つ変数にも丸めることができます。これらの演算子は、round()
関数とroundToNearest()
関数を呼び出すための代替構文を提供します(算術計算を参照)。
構文:
値 を 小数点以下の桁数 {{まで}} に丸める
値 を {最} 近傍の {倍数に} 最近傍の倍数 まで丸める
値 を {最} 近傍の 単位 まで丸める
例:
put 123.4567を2桁まで丸め る-- 123.46
例:
put 123.4567を-1の小数点以下の桁数まで丸める-- 120
例:
put 98.6を3.14の最近傍の倍数まで丸める-- 97.34
例:
put totalを最近傍の.25まで丸めてamountDueに入れる
例:
put 12.345メートルを最近傍のフィートまで丸める — 41フィート
But at Least
, But No Less Than
, But At Most
, But No More Than
演算子
振る舞い: 数値を最小値または最大値に制限します。
構文:
数値 最低でも 値
数値 少なくとも 値
数値 最大でも