nemui4の日記: 3.9+5.1= 20
日記 by
nemui4
ネットのとあるまとめサイトで読んだ話。
3.9+5.1=9.0
こう回答すると減点される小学校(?)教育はおかしい。
という話題が林先生のテレビであったそうな。
有効桁数も正しいし、これ以外の回答が中々思いつかない。
もしかしてトンチ問題。
あるいは、回答はintしなきゃいけないという掟があるんだろうか。
結局小学校での正解はよくわからなかった。
どなたか正解わかります?
ネットのとあるまとめサイトで読んだ話。
3.9+5.1=9.0
こう回答すると減点される小学校(?)教育はおかしい。
という話題が林先生のテレビであったそうな。
有効桁数も正しいし、これ以外の回答が中々思いつかない。
もしかしてトンチ問題。
あるいは、回答はintしなきゃいけないという掟があるんだろうか。
結局小学校での正解はよくわからなかった。
どなたか正解わかります?
「科学者は100%安全だと保証できないものは動かしてはならない」、科学者「えっ」、プログラマ「えっ」
筆算の問題 (スコア:2)
正解は「9.
0」(筆算で9.0を出したあとで、0を消す)。画像を見ると、ちゃんと0に赤で斜め線が入ってます。授業の中では、後ろの0は斜め線で消すように、と指導を受けているのに対し、それを実行してないから減点。有効数字的に9.0の方が正しいだろってツッコミが散見されますが、小学算数には有効数字の概念はありません。
電卓でも、Excelでも、型の緩いスクリプト系言語でも、3.9+5.1は9になるのは結構一般的だと思いますが、「php -r "print(3.9+5.0);"」とやって9.0にならないのはおかしいってツッコミは見たことないですね。浮動小数点数には有効数字の概念がないからそういう事になるわけで、おんなじことです。
ちなみに「えんぴつはなんぼんありますか」みたいな問題で「1ほん」と答えても減点。正解は「1ぽん」
Re:筆算の問題 (スコア:1)
追記です。これは確認取ってませんが、たぶん、いきなり「9」とだけ書いても減点。
筆算の手順として「各桁の足し算をして 9.0 を出したあと、末尾の0を消す」という流れになってるので。
Re:筆算の問題 (スコア:2)
>有効数字的に9.0の方が正しいだろってツッコミが散見されますが、小学算数には有効数字の概念はありません。
確かに、そんなことはすっかり忘れてた年寄り脳
>筆算の手順として「各桁の足し算をして 9.0 を出したあと、末尾の0を消す」という流れになってるので。
筆算ってそうでしたっけ、すっかりやらないので忘れてる。
「筆算のテスト」なら
3.9
+5.1
------
9
が正しいか。
#オフトピ
今の小学校算数教育では手順や順番ってものすごくこだわってるらしいですね。
足し算や掛け算ですら異なる順序で計算するとバツを食らうとか。
もしかして、先生自体がいわゆる「マニュアル世代」で手順から外れてはいけないということに囚われてるのかもしれない(邪推)。
私が小学校の時
「一つの答えに至るのに様々な手段があるので色々考えて、その答えが正しいかどうかも考えて」
と教えられてた。
算数でも「他に考え方在るか?」とか「他の回答もあるか」とか聞かれて違う解き方を探すのが楽しかったっけ。
その時の先生は僧職の人で、私達が卒業後寺に戻って住職になってたけど独自の教育方針だったのかもしれない。
Re:筆算の問題 (スコア:1)
あ、"9.0"って書いてから"0"を斜線で消してまでで正解なんだ。
「筆算手順試験」
Re:筆算の問題 (スコア:1)
>"9.0"って書いてから"0"を斜線で消してまで
小数点記号はどういう扱いなのだろうか?
0と同時に抹消することは要求していないか、厳格な教師は誤答とするのか、どっち?
それこそ、学習指導要領にないからてんでばらばらな実態だというのか?
// わたしが見たtogetterまとめページの教師赤ペンは小数点記号放置だったはず。
Re:筆算の問題 (スコア:1)
> 足し算や掛け算ですら異なる順序で計算するとバツを食らうとか。
今だけじゃないです。
あの話は昔からありました。
「とにかく数字並べとけばいいんじゃね?」って人を古い落とすには、有効な教育法だと思います。
そういう所を無視してると、こういう古いクイズにもひっかかる。
https://ja.wikipedia.org/wiki/%E6%96%99%E9%87%91%E7%B4%9B%E5%A4%B1 [wikipedia.org]
「大元は夏目漱石の弟子、内田百間の『阿房列車』第一話に掲載されていたようです。」
http://ameblo.jp/msak2/entry-11731493200.html [ameblo.jp]
マジ?
Re:筆算の問題 (スコア:1)
給仕が猫糞した200円は店が受け取っているはずの2700円に含まれてるのになんでそこにまた200円を足すんだろう。
と思ってしまったらそれであってるみたいなのでちょっとうれしい。
もしかしたら随分昔にこの問題を読んで正解を知ってたのかもしれない。>じぶん
Re:筆算の問題 (スコア:1)
私の妻は小学校教諭で、その教材作りを手伝わされているため、この手の問題は結構身近な存在なんですが、
> 一つの答えに至るのに様々な手段があるので色々考えて
これは今でもそうですよ。かけ算の順序問題は、
1)問題文を見て、「○個のかたまり」が「△つある」というかけ算で計算できることを読み解く
2)「○×△」と定式化して、答えを出す
という過程の1と2の間で○と△の順番を間違えたら減点/不正解というものです。
(1ブロックの個数を先に書け、というのは指導でかなり徹底してます。)
それを、2)の部分だけみて、不正解になるのはおかしいと騒いでるんですよ。
で、1)については何通りもの考え方ができるのは当然であり、その段階でいろいろな考え方をするように指導しています。
たとえば、以下、実際の問題プリントからのコピペ+回答例ですが
といった感じですね。ここで、「5このかたまりが3つ、3×5=15」と書いたら不正解になるわけです。
対象の並び方も、(人工無能的に縦の数と横の数を数えて書くの防止のため)、
同心円状に並べたり色違いを混ぜたりして、いろいろな分類ができるように(分類が画一的にならないように)工夫されてます。
かけ算にかぎらず「2通り以上の解き方を児童に考えさせる」ような問題はけっこうたくさんあって、そういう「考え方」の導出を重視している感じ。
Re:筆算の問題 (スコア:1)
現状学習指導についての紹介ありがとうございます。
みかん縦横グルーピングは数える方向がニ通りあるのを学ばせてるのでしょうか。
いまはそんなことまで教えないといけないんですね。
って、自分もそういうことまで教えられてて忘れているのかもしれない。
もしかしたら
ミカンが三個入っている籠が五つある問題文だと、3 x 5 =
五つの籠にそれぞれミカンが三個入ってる問題文だと 5 x 3 =
だけがそれぞれの正解になっちゃうのかな。
あるいは問題文の並びと数式は一致しなくても中身があってれば正解にしちゃうのか。
先生も大変そう
Re:筆算の問題 (スコア:1)
この問題の本質は「教えられたことを教えられたどうりにできるかどうか」を見るだけで
「正しいかどうか」はまったく関係ないこと。
これも企業(や会社)が「教えられた事を教えられたどおりに出来るスキル」を重視してきた
ためですね。
同じ番組で「先生に教えられたからゼロはつけません」って答えた女の子をみて、ありゃあ…ほんとにロボット
育ててるんだなあこの国はって思いました。
あと…あの番組で一番問題なのは結局「なんだかよくわからないから"偉い人"に判断を
してもらおう」というスタンスが非常にまずい。林先生は学問がどーのとか言う割に
このスタンスでいいのか全く気が付かなかたのかなあ。
森先生がすごいってのはわかるけど、そのひとに判断したものを「ほれみたことか
フィールズ賞もとってるすごい先生がこういってるぞ!」って単純に権威主義じゃんよ… _(:3 」∠)_
Re:筆算の問題 (スコア:1)
>同じ番組で「先生に教えられたからゼロはつけません」って答えた女の子をみて、ありゃあ…ほんとにロボット
>育ててるんだなあこの国はって思いました。
完全に調教された少女って素晴らしい。
自分で考えるのをやめて「与えられた作業は正確にできる」優秀なロボットなら、上がAIに変わっても十分働けそうでなによりですね。
Re:筆算の問題 (スコア:1)
完全に調教された少女って素晴らしい。
素晴らしい(同意
…でも毎回同じ反応しかしないと、なんだかつまんないっす(´・ω・`)ツマンナイ
自分で考えるのをやめて「与えられた作業は正確にできる」優秀なロボットなら、上がAIに変わっても十分働けそうでなによりですね。
よかった、低所得な貧困層から抜け出せない少女はずっと存在できるんだ(えー
# よーしパパがんばって(なにをどうするつもりだコラ
Re:筆算の問題 (スコア:1)
数学とスクリプト言語の話は混同しない方が良いと思います
数学と異なりスクリプト言語では
1) 数値の型
2) 有効桁
3) printのような表示関数(つまり変数を文字列に変換する処理)
を考慮する必要があります
1)の点では
php -r 'var_dump(3.9+5.1);'
php -r 'var_dump(9);'
の結果を見れば判るように
3.9+5.1は内部的にはfloat型で
9はint型で表現されます
つまりPHPにおける 3.9+5.1 は「9」ではなくて「float型の9」 です
3.9+5.1が 「int型の9」になると勘違いしていると痛い目にあいます
次に 2)の話で
PHPのfloat型は IEEE 754に従っていてるので
有効けたは7桁ぐらいです
float型の 9 は 大雑把に言えば 9.0000000 と表現されていることになります
スクリプト言語で有効桁のことを忘れていると痛い目にあいます
最後に3)の話で
float の9 が画面にどのように表示されるかは,使用する関数により異なります
php -r 'print(3.9+5.1);'
php -r 'printf("%d", 3.9+5.1);'
php -r 'printf("%f", 3.9+5.1);'
これは実行すると
9
9
9.000000
となるはずです
print(3.9+5.1) の結果をみて それを整数の9 だと勘違いしていると
痛い目にあいます
Re:筆算の問題 (スコア:1)
話の内容には基本的に賛同はしますが、1)、2)は今回の問題の本論とはまったく関係ないです。
#PHPの3.9+5.1はdoubleなので、有効数字は53bit=10進で15桁強、というツッコミはしておきます。
私が問題にしているのは
> 3) printのような表示関数(つまり変数を文字列に変換する処理)
これの一点。
「(書式を指定しない)一般的な数値の表示」では「3.9+5.1」は「9」と書くのが一般的であり、
そういう利用ケースに併せるために、電卓やExcelやスクリプト系言語などでも「9」となるような実装が行われている、
ということが言いたかったんです。
printfは書式を指定してるんですから、この論からはちょっと外れます。
4.6+0.197= (スコア:2)
有効数字を知っている我々としてはこんなわざとらしい問題は4.8と答えたくなります。
ただ、この答えの背景には1.精度(有効数字)の概念 2.四捨五入の概念 3.精度の異なる計算の加算は精度が低い方に合わせる事、という背景知識が必要です。
別に小学生でも手続くらいは簡単に覚えられそうですが、有効数字の概念や理由を理解させるのは難しいでしょう 。
大抵の人は、有効数字に関する手続きを丸暗記するのではなく、理由を考えて導出していると思います。その方が楽です。
ですから、小学生に有効数字を教えず、順序だって教えていくのは合理的な事だと思います。
というわけで別コメにもありましたが、小学校の算数での数字は有効数字の概念はありません。
言ってみれば無限の精度を持ちます。
恐らく唯一の例外は円周率の3.14で、「円周率を3.14とするよりほぼ3とする方が正確だ」という人がいるのはそういう事です。
世の中にも実際そういう(3.9+5.1=9の方がいい)数字は溢れていて、例えば
パイナップルは林檎3.9個分、メロンは5.1個分の価値があるとしたときは合計金額を林檎9.0個分で1円位は誤差としては話がおかしくなります。合計はピッタリ9個分の値段で誤差なしです。3.9+5.1=9.0はそういう時に誤解を招きます。
元値の4.6%割引+0.197%割引は4.797%割引です。0.003%が行方不明になっては客が困ります。
小学校の算数というのはそういう世界で、別におかしくはありません。
ただ、この話のおかしな点、多くの人が違和感を感じる点は別にあると思います。
他の小学校教育でもありますが、他人より勉強して有効数字を知っている人が損をする事です。
小学生でも頭がよくて、高校生レベルの問題が解ける人はそれなりにいるでしょう。それは素晴らしい事だと思います。
そしてこの問題には「ただし有効数字は考慮しないものとする」なんて書いてありませんから9.0も正解と言えば正解です。
でも、小学校では×です。勉強家のA君は褒められるどころか減点を食らいます。良くない事だと思います。
他にも国語で勉強した事を社会で使っちゃいけないとか、習ってない解き方を使ってはいけないとか不思議な不文律がたくさんあったのを覚えています。
小学校の勉強というのは一生大事なものです。ですから着実に飛ばさずに勉強する必要があるのは分かります。
それでも、小学校以上の先進的な内容を学ぶ事を制限し、子供の知的欲求を抑圧しています。
それだけでなく、そういったルールは複雑で、語られる事はなく、空気を読むような事が強要されます。
それが実際に批判の対象になった事で、小学校教育の見直すべき点ではないでしょうか。
Re:4.6+0.197= (スコア:1)
>それが実際に批判の対象になった事で、小学校教育の見直すべき点ではないでしょうか。
その手の話は昔からよく聞くということは、日本の小学校教育ってずっと何も変わってないのか、変わる必要はないのか、変わることは許されないのか。
Re:4.6+0.197= (スコア:1)
なんだかんだ言っても諸外国よりレベルが高いですし、致命的な破綻とも言えない。
小学校教育なんてのは国家のあらゆる点に影響するもので、実験するにも時間がかかり、変える時は日本中で変わってしまう。
単純にレベルを上下するならまだしも、根本的な変更はリスクが高すぎると考えるのも道理です。
今のやり方も一応それなりの理由があっての事ですし。
Re:4.6+0.197= (スコア:1)
確実に変えた方が良いと判断できる事なら良いですが、
大抵の場合は本当に変えた方が良いかどうかやってみないと
分からない、かといって教育という重大な事項で安易に変えてみて
失敗しましたとなったら目も当てられない (ゆとり教育ェ…)、
というのがなかなか変わらない大きな理由ではないかと思います。
浮動小数点数の誤差を教える問題かと思った (スコア:1)
まず実数リテラルを32ビット精度浮動小数点数に変換して、
5.1
→ 0_10000001_01000110011001100110011
3.9
→ 0_10000000_11110011001100110011001
これらを加算すると、(経過省略)
0_10000010_00011111111111111111111
これを十進に変換すると
→ 8.9999990463…(以下省略)
文字列化する際に7桁で丸められて
→ 8.999999
効率化 (スコア:1)
数字を道具として扱うロジックを効率的に脳内に構築するのが重視されてるのかなぁと思います。
後は脳内にオレオレ理論が構築されてて計算過程がおかしくても、何故か答えがあってる子供を見つけ出すためとか。
# それが全員にとって効率化なのかというのと、覚えさせるロジックはそれだけでいいのかというのと、オレオレ理論する子供を伸ばすのも必要じゃないかというあたりを考えればいいのかなぁ