next up previous contents
Next: PRINT文の使用 Up: 情報処理概論I Basic Previous: 変数の型   Contents

算術演算子

Basicで計算を行う際には、次のような算術演算子、関数を用います。

記号 用途 使用例 その意味
$\verb\vert^\vert$ 冪乗 a$\verb\vert^\vert$3 a$\verb\vert^\vert$の3乗
$-$ マイナス符号 -r マイナスR
$\verb\vert*\vert$ 乗算 2*pi*r 2×pi×r
$/$ 除算 E/34 E割る34
mod 除余演算 a mod b a割るbの余り
$+$ 加算 C+D C足すD
$-$ 減算 V-W V引くW
$sqr$ 平方根 sqr(x) xの平方根

ここで、コンピュータを用いた数値計算の際のルールについて少し説明します。 コンピュータでの数値計算では、「」べき乗が一番先に実行されます。次いで「かけ算や割り算」で 最後は「足し算と割り算」です。しかしながら括弧などで括った部分の計算は「べき乗」よりも先に行われます。 次の二つの計算を実行してみましょう。
100 a=5+4/2*3^2
110 b=5+4/(2*3)^2
120 print "a="; a; "b="; b
990 end
実行すると夫々の答えは、
a= 23  b= 5.11111
と異なる結果になったはずです。

上の数式では、まず「32=9」が最初に計算されます。 次に、「4/2*9」が計算されます。前述の通り、かけ算と割り算は同順位で計算を 行いますので、左から順に計算されます。つまり、まず「4/2=2」を実施し、その後、 「2*9=18」を行います。ここで良く間違え易いのが、「4/2*9」が「4/18」であると 考えてしまいがちな事です。実際は、かけ算と割り算は優先順位が同じですので、 順番に左から計算するため、「2*9」となります。 そして最後に「足し算」である「5+18」が実行され答えが 「23」となるのです。

一方、下の計算式では上の式と異なり、括弧が入って「(2*3)」となっています。 従ってこの場合、べき乗よりも優先して先に括弧内を計算します。したがって、 次に行われるのがべき乗の計算で、「62=36」となります。次いで割り算 が実施され、「4/36=0.111・・」となります。最後に足し算「5+0.11111・・」が行われる ため結果は、「5.1111・・・」となるのです。このように、一見計算式は類似して見えますが 書き方に依って計算の順番が違うため、結果が大きく異なってしまいます。注意が必要です。


Takeyoshi Nagai 2013-10-07