演算子と優先順位

追記2001/10/11 (*1)

算術演算子

-

負符号 -X (Xに-1を掛ける)

^

べき算 X ^ Y(XをY乗する)

*,/

乗算、除算 X * Y (XにYを掛ける), X / Y (XをYで割る)

+,-

加算、減算 X + Y (XにYを足す), X - Y (XからYを引く)

関係演算子

<,>

左辺が右辺より小さい、左辺が右辺より大きい

<=,>=

左辺が右辺より小さいか等しい、左辺が右辺より大きいか等しい

=,!=,<>

両辺が等しい、両辺が等しくない

論理演算子

AND

論理積

OR

論理和

XOR

排他的論理和 (*1)Terrapin Logoではサポートされていません。

NOT

否定

論理演算子の内訳

論理演算は、真(TRUE)か偽(FALSE)の2つ値の間で行われ、結果も真(TRUE)か偽(FALSE)で表されます。
"true and "true
Result: TRUE

何だか良く判りませんね。

1 > 0
Result: TRUE

これならどうでしょう。
1は、0より大きいか。
それは、真です。
と訳せますね。

1 > 0 and 1 < 2
Result: TRUE
この場合は、1は0より大きく及び1は、2より小さいか。
それは、真です。
と訳せますね。

下の表が、その演算結果です。この表では1をTRUE、0がFALSEに対応しています。

AND(論理積)どちらも真の場合のみ真を返す。それ以外は偽である。

X Y

X AND Y

1 1

1

1 0

0

0 1

0

0 0

0

OR(論理和)どちらかが、真であれば真を返す。

X Y

X OR Y

1 1

1

1 0

1

0 1

1

0 0

0

XOR(排他的論理和)どちらも同じ値であれば、偽を返す。

X Y

X XOR Y

1 1

0

1 0

1

0 1

1

0 0

0

NOT(否定)自分自身を否定する。生きててすみません。:-)

X

NOT X

1

0

0

1

演算子に対応する手続き(あるいは別名)

 Logoは、演算子が手続き風に使えたり関数風に使えたりと、少々ややこしいです。
5 + 5 あるいは、+ 5 5 または、SUM 5 5 でも同一の結果10を返します。
更には、(+ 1 2 3 4 5) あるいは、(SUM 1 2 3 4 5) と括弧で括れば便利な合計関数として使えます。もちろん結果は、どちらも15です。

 目的別に応じて使い分ければ良いと思います。しかし単に、式の括弧を減らしたいと言う場合は、少々考えた方がよさそうです。
演算子と手続き風や関数風が、ごちゃ混ぜになってプログラムが、読みにくくなる場合もあるからです。
その場合は、無理に1行の式にまとめずに2行以上の式で、何をやっているのかはっきりさせてプログラムを書いたほうが、後々の変更に際して理解しやすいと思われます。

^

POWER number number

*

PRODUCT number number

/

QUOTIENT number number

+

SUM number number

-

DIFFERENCE number number

<

.LT object object

>

.GT object object

<=

.LE object object

>=

.GE object object

=

.EQ object object

!=,<>

.NE object object

優先順位

 べき算→乗算・除算→加算・減算の優先順位で、計算が行われます。
1 + 2 - 3 * 4 / 5 ^ 6
Result: 2.999232

括弧で括られた演算は、優先順位が高くなるので上の式を、同じ結果が出る様にしてみましょう。
1 + 2 - (3 * 4 / (5 ^ 6))
Result: 2.999232

一番括弧が、深いべき算が最初に計算されているのが、判りました。
同じ優先順位の演算子は、左から右に向かって計算されています。
DIFFERENCE SUM 1 2 QUOTIENT PRODUCT 3 4 POWER 5 6
- + 1 2 (/ * 3 4 (^ 5 6))

この2つの式でも同じ演算結果です。どれが、一番判りやすいでしょうかね。;-D

 そして、べき算→乗算・除算→加算・減算→関係演算→論理演算の順位に、なります。
1 + 1 > 0 and 2 + 2 < 10
Result: TRUE

まず、算術演算を行わないと関係演算が、成り立ちません。そして、関係演算が終わらないと論理演算が、成り立ちませんね。