X

スポンサードリンク

スポンサードリンク

電卓によって計算結果が違う理由


簡単な計算なら100円ショップで売っているような電卓でも問題なく計算できます。
私が普段使っているような関数電卓でも同じように計算ができます。
でも出てくる答えが違います。

「はい?」

全然説明になっていませんでしたね、これから詳しく説明してきますのでご覧ください。

簡単な計算をしてみる

簡単な計算をして、それぞれの電卓がどのように計算しているのかを見てみましょう。
なんの意味があるのかってツッコまれそうですが、計算結果が違うのでご覧ください。

1 + 2 X 3 =

標準電卓で計算すると、答えは 「9」
関数電卓で計算してみると、答えは 「7」
いったい、どちらが正解なんでしょうか。
乗算/除算は、加減算より先に行われるというのが数学やコンピュータ言語の四則計算ルール。
学校でも習った通りです。
四則計算ルールでは「+」「-」(加減算)よりも「X」「÷」(乗算/除算)があれば先に乗算/除算を計算することになっています。
ですから、「1 + 2 X 3」の場合、「2 X 3」を計算したのちに「1」をプラスするのが正解。
よって、正解は 「7」となります。
どうやら、関数電卓で導き出した答えのほうが正しいようです。
では標準電卓の答えは、なぜ「9」だったのでしょうか。

標準電卓の仕様

標準電卓では「=」を押す前であっても、頭から順番に確定させながら計算する仕様になっています。
これはバグではなく、標準電卓のそういった仕様なんだと理解しなければならないんです。
このため「1 + 2 X 3」の場合、「1 + 2 」で「3」となり「3 X 3」を計算して「9」となります。
つまり、標準電卓には関数電卓のように数学のルールを当てはめて計算するようにプログラムされていないのです。
これは、バグではなく仕様だからしかたがありません。
会計など、標準電卓の使用の方が便利に計算できる世界もあるわけです。

関数電卓の仕様

入力しはじめてから「=」をタップするまで計算しないで待機するようにプログラムされています。
「=」をタップしてはじめて計算式全体を解釈し、乗算・除算の判定が行われ、乗算/除算が加減算より先に行われる数学のルールが正しく適用されている仕様となっています。
関数電卓を選ぶなら」の記事でもかきましたが、海外のプログラムが組み込まれている関数電卓では標準電卓のように頭から順番に計算するような仕様も存在しています。
標準電卓でも書きましたが海外の関数電卓もバグではなく、仕様の違いと理解しなければいけないんです。
救済処置としては、関数電卓ならカッコが使えますのでカッコを上手に活用すれば正しく計算結果を出すことは可能です。
計算の加減上乗の優先順位は下記の通り。
1. (  ) カッコ
2.  ×、÷
3.  +、-
※同じ順位の場合は、左から右に計算します。
つまり自分で先に計算させるべきポイントでカッコを使えば優先順位が高くなります。
ただ面倒だし、入力ボタンが多くなってしまうので出来れば避けたいところです。

もう少しだけ難しい計算をしてみる

( )を使用するので標準電卓では計算できません。
※分解すればできますが、そのまま入力はできません。

6 ÷ 2(1 + 2) =

ある関数電卓で計算してみると、答えは 「1」
別の関数電卓で計算してみると、答えは 「9」
いったい、どちらが正解なんでしょうか。
( )の中の計算が一番優先順位が高く、省略された掛け算記号の優先順位は割り算より高いのが正しいルールです。
なので、正しい答えは「1」です。
※解釈の違いで、海外ではこの答えが変わることがあります。

関数電卓同士で答えが違う理由

標準電卓と関数電卓の答えが違う理由よりも、こっちの方が不思議だと思います。
日本と海外では計算方法が違うかったんです。
海外では、省略された掛け算記号は補足して、頭から計算するのが正しいルールとなっています。
※このルールについては、たびたび論争が繰り返されます。
日本では、この計算ルールに答えがはっきり出ていますので、日本で開発されたソフトが組み込まれている関数電卓を選べばよいと思います。
関数電卓を購入する時は、この点に注意して購入してください。
国産でも海外のプログラムが入った関数電卓が存在するので注意してください!

知らない間に教えられていた

「省略された掛け算記号の優先順位は割り算より高いのが正しいルール」なんて習ったことないと言う人もいると思います。
確かに私も、あえてこれを明言された記憶はありません。
でも、私たちは知らない間にこのルールを教えられていました。
文字式を解く場合を考えてみましょう。
4A ÷ 2B =
この時、略された掛け算記号を補足して、頭から計算しますか?
= 4 X A ÷ 2 X B
しませんよね。
この場合、正しくは
= (4 X A) ÷ (2 X B)
とするはずです。
答え = 2A ÷ B
「省略された掛け算記号の優先順位は割り算より高いのが正しいルール」とは、文字式を習ったあたりに自然に教えられていたのかもしれません。
6 ÷ 2(1 + 2) = 7
だから、このような計算結果が出る関数電卓を選びましょう。


葉隠 瀧: このサイトを管理しているのが葉隠 瀧です。
Related Post