|
Top > 演算子
**演算子の種類 [#e2fe416e] 演算子はデータとデータを結合する記号です。 「1+1」という式があれば「+」が演算子です。 演算子はいくつかの種類があり、用途によって使い分けます。 足し算や引き算などの計算・・・算術演算子 どちらがおおきいか比較・・・関係演算子 ***代入演算子(:=) [#g604554e] 変数にデータを代入するための演算子。 右辺のデータを左辺の変数に代入します。 コロンとイコール(:=)で表現、以下の例ではxに右辺の式の結果が代入されます。 例 x:=5*y+20; ***算術演算子(+,-,/,*・・・) [#kd770b0d] 整数や実数などの数値を計算するための演算子です。 |BGCOLOR(white):|BGCOLOR(white):|BGCOLOR(white):|BGCOLOR(white):|BGCOLOR(white):|c |演算子|意味|使用例|結果|備考| |+|加算|2+5|7|| |-|減算|8-6|2|| |*|乗算|6*8|48|| |**又は^|指数演算|9^2|81|| |/|除算|1.5/2|0.75|実数のみ| |DIV|除算の商|20DIV3|6|整数のみ| |MOD|除算の余剰|20MOD3|2|整数のみ| ※除算は、実数(REAL型の変数)同士のみに使う事ができます。 また除算の商・余剰は整数(INTEGER、LONGINT)でのみ使う事ができます。 演算の優先順位 データと演算子は連続して並べることができます。 その場合、演算子の持つ優先順位によって計算の順番が決まります。 1位 ** ^ 2位 / * DIV MOD 3位 + - 例 1+2*5+8/4 → 1+10+2 = 13 同じ順位の場合左から順に計算されます。 ()括弧を使うと優先順位を無視して括弧内から計算されます。 例 (1+2)*(5+8)/4 → 3*13/4 = 9.75 ***論理演算子 [#tb628e1a] 論理値(BOOLEAN型)を計算するための演算子です。 AND 2つの論理値がともに「TRUE」の場合にのみ結果が「TRUE」になります。 |BGCOLOR(white):|BGCOLOR(white):|BGCOLOR(white):|c |値1|値2|結果| |BGCOLOR(white):50|BGCOLOR(white):50|BGCOLOR(white):50|c |値 1|値 2|結 果| |FALSE|FALSE|FALSE| |FALSE|TRUE|FALSE| |TRUE|FALSE|FALSE| |TRUE|TRUE|TRUE| OR 2つの論理値のどちらかが「TRUE」の場合に結果が「TRUE」になります。 |BGCOLOR(white):|BGCOLOR(white):|BGCOLOR(white):|c |値1|値2|結果| |BGCOLOR(white):50|BGCOLOR(white):50|BGCOLOR(white):50|c |値 1|値 2|結 果| |FALSE|FALSE|FALSE| |FALSE|TRUE|TRUE| |TRUE|FALSE|TRUE| |TRUE|TRUE|TRUE| & 2つの論理値がともに「TRUE」の場合にのみ結果が「TRUE」になります。 演算の結果は「AND」と一緒ですが、「&」を使うと、最初の論理値を評価した時点で結果がわかった場合、そこで計算が打ち切られます。 たとえば、 「Value1」&「Value2」のとき「Value1」がFALSEの場合「Value2」がTRUE・FALSEどちらでも結果はFALSEになるので、「Value2」の評価を行わずに計算を打ち切ります。 ¦ 2つの論理値のどちらかが「TRUE」の場合に結果が「TRUE」になります。 上記の「&」と同仕様。 NOT 論理値を反転させます。 |BGCOLOR(white):|BGCOLOR(white):|c |BGCOLOR(white):50|BGCOLOR(white):50|c |値|結果| |FALSE|TRUE| |TRUE|FALSE| 計算の優先順位 算術演算子と同様 データと演算子は連続して並べる事ができます。 その場合、演算子の持つ優先順位によって計算の順番が決まります。 1位 NOT 2位 AND & 3位 OR ¦ 同じ順位の場合左から順に計算されます。 ()括弧を使うと優先順位を無視して括弧内から計算されます。 ***関係演算子 [#e641694f] 2つの値を比較するための演算子です。 条件式(IF THEN FLSE文)やBOOLEAN型変数への代入の時に使います。 |BGCOLOR(white):|BGCOLOR(white):|BGCOLOR(white):|BGCOLOR(white):|c |演算子|意味|使用例|例の結果| |=|等しい|a=b|aとbは等しい| |<>|等しくない|a<>b|aとbは等しくない| |<|小さい|a<b|aはbより小さい| |>|大きい|a>b|aはbより大きい| |<=|小さいか等しい|a<=b|aはbより小さいか等しい| |>=|大きいか等しい|a>=b|aはbより大きいか等しい| 関係演算子の対象となる値の型は 数値ならば整数と実数が混在してもかまわない。 数値と論理値 数値と文字列 の 比較はできない。 悪い例 TRUE<20 論理値と数値は比較できない 150>='100' 数値と文字列は 比較できない 論理値の比較 FALSEかTRUEどちらしかもたない論理値は TRUEをFALSEよりも大きい値として比較します。?? FALSEを0、TRUEを1 として置き換えてみるとわかりやすいでしょう? 文字列の比較 数値や論理値は一目で比較できますが、文字列は以下の順番でどちらかが大きい値として判断します。 1 2つの文字列の最初の文字を取り出す。 2 2つの文字列をASCIIコードで比較し、値の大きい方の文字列を大きいと評価する。 3 2つの文字列のASCIIコードが同じならば 次の文字を比較する。 4 一方の文字列が終わりに達したら その文字列は他方より小さいと評価する。 5 両方の文字列が終わりに達したら 2つの文字列は等しいと評価する。 |