関数電卓コラム

11/10/05 6÷2(1+2)=?

2017/02/04 修正
2011/10/08 追記
2011/10/05 初出

1. はじめに

有名な巨大掲示板サイト「2ちゃんねる」の,関数電卓に関するスレッドで面白い話題を見つけた.発信源は「ガジェット通信」の以下の記事と思われる.

「6÷2(1+2)=?」という小学生レベルの問題? 大勢の人が「1」と答え半分以上が不正解
http://getnews.jp/archives/114382

要約すると,台湾で行われたあるアンケートで,上の計算の答えを「1」とした人が大多数で,台湾人の数学的能力に疑問符が?と言う内容だ.しかし,私を含め多くの人は「なぜ不正解なの?」と思うことだろう.このアンケートで想定されている正解は「9」で,2と(1+2)の間に掛け算記号を補い,「6÷2×(1+2)」を頭から計算するのが正解なのだそうだ.

この記事に対して「はてな」で大激論が交わされている.

6÷2(1+2)=9と発表しているバカガジェット通信 http://anond.hatelabo.jp/20110507090156

この問題には既に決着が付いていて,静岡大学の熊倉先生によると,「省略された掛け算記号の優先順位は割り算より高い」のだそうだ.我々も無意識に

4a/2b=2a/b

という計算をやっているので,専門家のお墨付きが出たことでほっとした.

参考文献:乗除混合演算式についての理解と指導に関する研究:A÷B×CとA÷BCのタイプの式に焦点を当てて

 

2. 関数電卓は「6÷2(1+2)」をどう計算するか

ではこの計算を私のコレクションから代表的な機種にやらせてみよう.件の掲示板によれば,国産メーカーは「1」を返し,アメリカ製は「9」を返すとのことだが,面白い結果になった.

メーカー 機種 結果
CASIO fx-991W 1  
fx-4800P 1 プログラム関数電卓
fx-290 1  
fx-912ES 9  
fx-913ES 1  
Canon F-720i 1  
F-788dx 1  
F-718S 1  
SHARP EL-509F 1  
EL-509J 1  
Citizen SRP-280Q 1  
TI 30XB 9  
HP 300s 9 手元にはあるがWebサイトには載せていない
10s 1  
35s 9 ALGモードにて

何と,国産のCASIO fx-912ESはこの計算に対して「9」を返した!そして,HPから発売されている3機種が「1」と「9」に分かれたのが興味深い.実は,この事実については私なりの推理がある.

HP 300sはソフトウェア的にはCASIO fx-912ESのクローンだ.どうしてfx-913のクローンではないことが分かるかというと,分数の計算で

[数値] [■/□] [数値]

という順番に入力できないのが旧ソフトの特徴の一つだからだ.そして,CASIOの関数電卓に綿々と受け継がれてきた「省略された掛け算は優先順位が高い」ルールがなぜfx-912ESで破られたか.ここに,私は日米のソフトウェア共同開発があるのではないかと考えている.

HPは0年代に入り日本メーカーからソフトウェアを買ったと思われる関数電卓を次々にリリースした.それがHP 10sとHP 300sだ.10sはCASIO fx-350MSと中身は実質同じ,300sはCASIO fx-912ESと同じものだ.ソフトウェア提供の時期からすれば10sが先となる.そこで,こんなストーリーを思いついた.

HP:「350MSのソフトを買うよ」
CASIO:「まいどありー」
HP:「掛け算の優先順位が違うじゃないか!」
CASIO:「すんません.日本じゃこうなんで」
HP:「ところで,こんど『数式自然表示』の関数電卓を作るんだが,ソフト開発を一緒にやらないか?」
CASIO:「是非よろこんで.」

その結果生まれたのがfx-912ESと300sで,掛け算の優先順位はアメリカ流が取り入れられた.ところが,

日本の客:「計算結果が違うじゃないかゴルァ」
CASIO:「いえ,これは仕様です(キリッ」
日本の客:「でも,それ,間違ってますよ」
CASIO:「えっ...ええっ??」

ということで間違いに気づいたCASIOがマイナーチェンジの際に掛け算の優先順位を日本流に直したのがfx-913ES,というわけだ.

なんちゃって.

  

3. まとめ

台湾の掲示板の発言をガジェット通信が取り上げ,それが2ちゃんねるユーザーの目にとまったことで関数電卓の「省略された掛け算記号」について考える機会を得た.数学的には省略された掛け算記号は「×」「÷」より先に計算しなくてはならないことになっている.従って,現在の北米メーカーの仕様は誤りである.日本のメーカーは一つの例外を除き全て省略された掛け算記号を「×」「÷」より優先する.唯一の例外は「Natural Display」の初期モデルfx-912ESで,ソフトウェアクローンの北米メーカー製,HP 300sが存在することは果たして偶然だろうか.

  

4. 後日談

先日の授業で,こんな問題を出した.関数電卓を使い

\(6.02\times 10^{23} \div 1.60\times 10^{-19}\)

を計算させる問題で,正解は\(3.76\times 10^{42}\)である.この問題の意図は,関数電卓による「大きい数」「小さい数」の入力が正しくできるかどうかを見ることだったのだが,ある学生から「どうして\(3.76\times 10^{4}\)が正解じゃ無いんですか?」という質問を受けて答えに窮してしまった.確かに,上の計算を頭から「正直に」計算すれば10のべきは4になってしまう.我々はつい,大きな数を表すときの「×」記号は他の演算子より優先,ということを当たり前のように思っているが,正式にそう教わる機会は無かったと記憶している.

「もしや」と思い,TIの30XBで上の計算をやらせてみた.

6.02 [×10n] 23 [→] [÷] 1.60 [×10n] [(-)] 19 [=]

答:\(3.7625\times 10^{42}\)

あーあ.これで,私のTI関数電卓に対する評価は地に落ちた.何で,今まで気づかなかったのだろうか.

  

5. CASIOの見解

以前,関数電卓の統計機能の問題でディスカッションを交わしたことのあるWさん(仮名)から有用な情報を得た.Wさんはこの問題についてCASIOのお客様相談室に問い合わせたことがあり,CASIOから長文の丁寧な返信をもらったのだそうだ.以下,その内容を要約して,この問題についてCASIOがどう考えているのかを紹介する.

  • CASIOは,「省略された乗算」の優先順位については,省略されない乗算より上位か,等位かについては日本の教育界でも結論が出ていないと言う見解である.
  • 製品開発に当たっては,販売予定の国でヒアリングを行い,その国での主流の考えに沿った仕様としている.
  • fx-4850Pおよびそれ以前のモデルでは,省略された掛け算はされない掛け算より優先という考え方を取ってきた.
  • 2005年2月に発売されたfx-991ES/fx-570ES/fx-912ES/fx-370ESでは,北米でのヒアリング結果に基づき,乗算記号を省略した掛け算は,省略しない掛け算と同じ優先順位という考え方を採用した.(ここで,なぜ北米流の考え方を日本での製品にも採用したのかは不明)
  • 現行品であるfx-993ES/fx-573ES/fx-913ES/fx-373ESでは,最新のヒアリングに基づき,fx-4850Pと同様,「省略された乗算を優先」する仕様に改めた.
  • 今後のモデルについては,その考え方に基づいた仕様にしていく予定である.

ということで,私の推理が相当程度当たっていた,ということが判明した.

確かに,省略されない乗算が上位,という考え方は必ずしも日本でも正式に認められたものではないらしい,ということもその後の調査でわかっている.特に,大学で数学を教える先生は「等位」の考えの方が多いそうだ.それ以前に,乗算の優先順位で結果が変わる様な数式を書くべきではない,とのこと.

あの有名な小話を思い出した.

ある国を数学者と物理学者と天文学者が一緒に電車で旅行していた.窓から牧場が見え,そこには1匹の黒い羊が草を食んでいた.

天文学者:これは珍しい.この国では羊は黒いのだ.早速論文にしよう.
物理学者:いえ,この国には毛が黒い品種の羊もいる,ということが言えるだけでしょう.再現性を見ないと.
数学者:いやいや,この国の羊の,少なくとも1匹の,少なくとも我々の方を向いている側は黒い,と言えるだけにすぎません.トリビアルな問題ですね.

一見つまらない問題に思えた今回の話題だが,思わぬ広がりを見せた.問題を取り上げてくれた2ちゃんねるの皆さんと,情報を寄せてくれたWさんに感謝する.