┌──┬─────┐ ┌──┬─────┐ ┌─────┐
│名前│HBの鉛筆│ │名前│2Bの鉛筆│ │持っている│
├──┼─┬─┬─┤ ├──┼─┬─┬─┤ │人 │
│量 │5│単│個│ │量 │3│単│個│ ├─────┤
│ │ │位│ │ │ │ │位│ │ │1 │
└──┴─┴─┴─┘ └──┴─┴─┴─┘ └─────┘
(わくの中に書き込む)
┌────────┐ ┌────────┐ ┌─────┐
│どうするか │ │答えること │ │あげる人 │
├────────┤ ├────────┤ ├─────┤
│@、あわせる │ │1、いくつ残って│ │1 │
│2、わける │ │ いますか │ │ │
│3、きる │ │2、一人分はいく│ └─────┘
│4、たべる │ │ つですか │
│5、 │ │B、全部でいくつ│
│ │ │ ですか │
└────────┘ └────────┘
(マウスでクリックして選択する)
以上の入力をすると、
「HBの鉛筆5本と2Bの鉛筆が3本ありました。合わせて何本になるでしょう」
という問題が自動的に作成され、内部データに「5+3=」という模範解答がセットされるようにする。
例えていえば、これは最近よくある手紙文作成ソフトのようなものと考えていただければよいと思う。つまり指定された項目にデータを入れると自動的に文章題が作成されるというものである。ただ単に文章題が作成されるだけでなく、内部データには構造化されたデータが蓄積され、それによって問題解法のための式、答えが自動的に作成される。プログラミング的には内部のデータ構造をどのようにしておくかが,どんな問題にでも対応できるようにするための必要事項であり大問題である。
この方法の欠点は,入力方法になれないと使い方が難しいことである。ある種の子どもたちにとっては大変困難な場に立たされることになることが予想されるため、どの場面でも使えるわけではない。
反面、ここに入力することにより、文章題を構造的にとらざるを得なくなることも考えられる。従ってこの枠の中に入れることができた段階でほとんどの子どもは解決方法をつかんでいるであろうことが想像される。つまり文章題作成ソフトは、これを使うことで児童の数学的な思考を練らせるための独立したソフトとしても存在価値があると考えてはいる。
3 「単位量に対する対応」
文章題を扱う上で必ず考えていかなくてはならないのが単位の扱いである。従って計算処理についても、単位量に対応する処理を付け加えて行かなくてはならない。また手軽に単位を入力できなくてはならないし、また単位を認識できなくてはならない。
ソフトウェア的には単位量に対する処理を後からくっつけ,計算部分はそのままでいいので,この問題の解決はそれほど難しくはないが、たとえば、途中単位がつけてなかったりしたときどう処理するかなど想定することは多く、かなり面倒な処理となる。
例えば
10cm+1m=1m10cm
10cm+100cm=110cm
0.1m+1m=1.1m
の様に単位換算が入り組んでくると複雑になってくる。これに例えば単位を付けない式を児童が書いた場合、「単位を付けましょう」とすると簡単ではある。しかし一応途中計算の段階では単位なしを認め、どの単位で計算しているのか見極める処理をプログラムに付け加えることは、かなり面倒なこととなる。
その場合 10+1=11 の様になっていた場合にはせめて10と1の「単位はそろっていますか」ぐらいのメッセージは出したいものであるが、これを判断するにはかなり難物である。これが長さの計算の時と限定されていればいいのだが、そうとは限らないからである。
4 最後に
このように書いてくるとまだまだやらなくてはならないことが山ほど残っていることに気がつき、頭を抱えてしまう。思っていた以上に、「どんな状況にも対応するソフト」を作るということは大変であることがわかった。この拙文を読んでくださって興味を感じられた方、少しでも「すけ算」にさわられた方のお知恵もお借りできたらと思っているこの頃である。