- 令和6年度算数教科書読み比べ
三色団子のかけ算
続きを読むではその順序とやらに基づきこれを解いてもらえますかね? pic.twitter.com/QBWye23dqS
— 数学の人 (@regulus_math) February 16, 2024
(9+3)×4÷2か,((9+3)×4)÷2か,(9+3)×(4÷2)か
- 青山尚司: 発する言葉を少なくする, 算数授業研究, 東洋館出版社, pp.56-57 (2024).
カラーの目次と,ページ番号その他が合っていません。上記の見出しとページ番号は本文の記載に基づきます。
内容は,第5学年,「台形の面積の求め方を考えよう」という授業です。見開きの左の右カラムには,(A)から(D)まで,方眼紙上に台形や補助線が描かれています。図を載せるかわりに,対象となる台形の形状を書いておくと,(0,0),(9,0),(5,4),(2,4)の4点を結んで得られる図形です。
(A)から(D)までの図示に対応する式は,見開きの右(p.57)の左カラムで,ゴシック体になっていました。3番目だけ句点(。)なしなのは原文ママです。
(A) 9×4÷2+3×4÷2
=(9+3)×4÷2
2つの三角形の求積式をまとめている。
(B) (9+3)÷2×4
台形の幅を均して6cmにしている。
(C) (9+3)×4÷2
半分の高さをかけている
(D) (9+3)×4÷2
同じ台形2つ分の面積を2等分する。
明朝体に戻って,「(C)や(D)は,そのままでも意味が通じやすい。」と続くのですが,同一の式に対し「半分の高さをかけている」「同じ台形2つ分の面積を2等分する」と,異なる解釈を示しているのは,驚かずにいられません。
(C)について,「半分の高さをかけている」のをより明確にするには,式を「(9+3)×(4÷2)」とすることです。
同様に,(D)については「((9+3)×4)÷2」と表したいところです。とはいえカッコの中にカッコが入る式は,小学校で見かけません。「{(9+3)×4}÷2」と書けばいいのかもしれませんが,このようにカッコの記号を変えるのは,面倒ですし,大学などでの数学や,プログラミングでは,()と{}は区別され,混同するわけにもいきません。
とはいえ小学校のプログラミングで,「((9+3)×4)÷2」を表すことができるのかどうか,気になってきました。そこでブロックエディターで,試してみました。
最も有名なのは,Scratchです。ブロックを組み合わせて「旗が押されたとき」「(9+3)×4÷2と言う」を作り,実行すると「24」と言ってくれました。しかし,この画面では,プログラミング言語による編集ができません。
Scratchと同様にブラウザで実行でき,ブロックを組み合わせるだけでなくJavaScriptやPythonによる編集も可能なのは,micro:bit ブロックエディターです。「最初から」「文字列を表示」に「(9+3)×4÷2」の式を書いて,動作確認を行い,JavaScriptに切り替えると「basic.showString("" + ((9 + 3) * 4 / 2))
」になりました。
このコードを,「basic.showString("" + {(9 + 3) * 4} / 2)
」あるいは「basic.showString("" + [(9 + 3) * 4] / 2)
」に変更すると,「問題」が表示されます。この状態で,ブロックに戻ろうとすると,表示が出て,「変更を破棄してブロックを表示する」か「JavaScriptの編集を続ける」かを選ぶことに迫られます。文法的にエラーになる式は,ブロックエディター上で表示されないよう,配慮されていました。
「basic.showString("" + (((9 + 3) * 4) / 2)
」に編集するとエラーは出なくなり,ブロックに戻って実行できましたが,JavaScriptに切り替えると,コードが「basic.showString("" + ((9 + 3) * 4 / 2))
」に戻りました。「((9+3)×4)÷2」は,「(9+3)×4÷2」に簡略化されました。
「最初から」「文字列を表示」「(9+3)×(4÷2)」に対応する,JavaScriptのコードは,「basic.showString("" + ((9 + 3) * (4 / 2)))
」です。これは問題なく,ブロックに戻って,「(9+3)×4÷2」の式との違いを確認することもできました。