2025年10月11日土曜日

電卓の話題で、こんな話を見た

 確か、以前にもあったと思うけれども、6÷2(1+2) の答えが色々と悩ましいとの事。

ref. 6÷2(1+2) - Wikipedeia
https://ja.wikipedia.org/wiki/6%C3%B72(1%2B2)

電卓で計算しても処理方式が様々で、答えが 9 であったり 1 であったりするのだそうです。

まずは、CASIO fx-CG50 でやってみましたヨ。
6÷2(1+2) を 6÷(2(1+2)) と自動で書き換え、1 を返しますネ。教育用途という所で、配慮されているようであります。

続いて、fx-CG50 の upython ですが、プログラム言語なので、こうなりました。

>>>6/2(1+2)
TypeError : 'int' object is not callable
エラーです。なるほど。2は関数として呼び出せない、という具合です。

HP Prime の simulator でもやってみました。


"6/" まで入力した所、自動で分数表記になり、以降の 2(1+2) を入力すると 2(1+2) の分子の扱いとなって、結果は 1 になりました。これはこれでウマイ回避法です。

HP電卓で広く使われていた RPN でやるならば、こんな具合になりましょうか ?

6 [ENTER] 2 [ENTER] 1 [ENTER] 2 [+] [*] [/]  → 1 を返します
また、6÷2*(1+2) として計算するには、

6 [ENTER] 2 [/] 1 [ENTER] 2 [+] [*]  → 9 を返します

括弧で括った項と数値の掛け算で、掛け算記号が省略されてしまう事から、演算子の優先順位に混乱が生じるため、こんな具合になるのでしょう。

Wikipedia の記述によると「この式自体の記述がオカシイ」とする方式もあるそうで、式記述について、曖昧にならない様な指導が期待される所でもありますが、学校教育の現場では、今暫く、この問題に悩まされることになりそうです。

【おまけ】
fx-CG50 XCAS で試したら、

6/2(1+2)
Warning : using implicit multiplication for (2)(1+2)
                  1
でした。暗黙の掛け算処理を適用、という具合です。

4 件のコメント:

  1. やす (Krtyski)2025年10月17日 14:01

    このコメントはブログの管理者によって削除されました。

    返信削除
  2. やす (Krtyski)2025年10月17日 14:04

    akatuki様、

    HP Primeの実装は、なかなか見事ですね。

    Casio電卓で、おそらく唯一だろうと思いますが、記号省略乗算の優先度を設定で変更できるモデルがあります。
    https://egadget.blog.fc2.com/blog-category-49.html#FunctionCalc

    東海大学の遠藤先生による "関数電卓マニアの部屋" では、この件についてかなり詳しくかつ学術的に、教育現場の意見を交えて、徹底的な議論が掲載されていました。今は、攻撃を受けた後、復旧されていないので見に行けないのが残念ではあります。

    返信削除
  3. やす (Krtyski)2025年10月17日 14:06

    このコメントはブログの管理者によって削除されました。

    返信削除
  4. やす (Krtyski) 様、遅くなってしまい申し訳ない !

    > 1つめの投稿は、削除頂けないでしょうか?
    > 掲載のURLが間違っているのがその理由です。

    早速、削除し致しました。

    > HP Primeの実装は、なかなか見事ですね。

    これ、分数形式で記述という、ある意味で「回避策」でありますネ。
    fx-CG50 でも「分数」キー ([S⇔D]の左隣のキー) を使えば、同様の事ができました。

    > Casio電卓で、おそらく唯一だろうと思いますが、記号省略乗算の優先度を設定で変更できるモデルがあります。
    > https://egadget.blog.fc2.com/blog-category-49.html#FunctionCalc

    オオッ ! この設定機能は面白いです。
    upython 導入で、乗除算演算子の優先順序を、電卓形式に寄せるか、python プログラミング言語に寄せるか、その辺りの判断をユーザーに委ねようという"苦悶"がみえる様でもあります。
    fx-9750GIII, upython editor も文字フォントが小さいようで、意外にプログラミングしやすそうな感じです。
    今は価格がこなれている様で、ちょっと気になる所。

    > 東海大学の遠藤先生による "関数電卓マニアの部屋" では、この件についてかなり詳しくかつ学術的に、教育現場の意見を交えて、徹底的な議論が掲載されていました。今は、攻撃を受けた後、復旧されていないので見に行けないのが残念ではあります。

    あれ、そんなに大変な事になっておりましたのですか !
    ウーム、マイッタなァ。と思ったら、そこは大学の先生のページだけに、wayback machine にアーカイブがありました。

    https://web.archive.org/web/20240819104837/https://teamcoil.sp.u-tokai.ac.jp/calculators/column/111005/index.html

    かなり深い考察で、圧巻であります !
    お知らせ、多謝であります !

    返信削除