[120117]

点群カードPC版を、試作しました.

インド式教育では、「2桁の掛け算」まで暗記させるそうですが、日本では何故「1桁の九九」までなのでしょう?
“子供達だったら、楽々と出来るはずなのに、やらせていない”のは何故?
(つまりは、我々大人たちが、面倒がって手抜きをしているせいでしょうね。そろそろ、改善しなくっちゃ!)

左の図は100個の点を描いたもので、上手くガイドして乳幼児にこれを覚えさせると、ちゃんと「数の100」として覚えるらしいのです。(“話半分”だったら50個ですが。z(^^;?)
では、左<クリック>の100個の点群は、どうでしょう?...大変興味がありますね♪

私の期待/希望は、どちらでも/どんなのでも「」の100だ!と瞬時に応答して欲しいのですが、大人側からは、“そんなの無理!無理!”とか、“それは、(頭の中が満杯になるから)ダメでしょう!”とか、“違う100と覚えるのでは?”とか、“そんなのやっても意味ないね!”とか、様々な反応がありそうですが。(笑)

では、0個〜99個位だったら、どうかな?...という事で、VisualBasic6.0で、「点群表示」のプログラムを組んでみました。(まだ、途半ば)
そのDotsCard Ver1.0は、これ!(lzhファイル) Win98などでは、別途、MSVBVM60.DLL参考)が必要らしい)
−−−−−−−−−−−−−−−−−−−−−−−−−
望みと制作力
当初は、孫娘に“手めくり”で見せてやろうと、G.ドーマン博士の本を参考に、画用紙とカラー・ラベルで作り始めたのですが、「50個シート」を作った処で、そろそろパソコンで作った方が便利だろうし、面白いのでは?と思い始めました。
(実は、点の配置が微妙にランダムでないといけないのか?とか、明るいノートPCの画面では幼児には良くないかな?とか、上手くプログラムが作れるかな?と、気になっていたので、なかなか手が出なかった)

“案ずるより、生むが易し”を思い出して、兎に角、手持ちのVisualBasic6.0でプログラムを組んでみる事にしました。
(自分使用だけなら、アセンブリ語/マシン語で組んだ方が早く出来るのですが、誰でも、どのパソコンでも使えるソフトウェアにするには不向きなので、VB6にしました)

先ず、欲張って色々やれるようにと「初期画面」を作って見ました。(左上写真<クリック>)。。。でも、これは無駄でした。

表示−メニュー
やはり、シンプルで、2〜3桁の数字をキーインすれば、「点群」がランダムに表示出来るものから始めようと、初期メニューは、左のような単純なものに修正。(左写真&クリック)

でも、これ、ノートPCの機種毎に画面精細度が違うので、「メニュー」の表示位置や大きさが変わる事を考えないと、画面からはみ出してしまいますね。

その対応機能も、プログラムに組み込んでおいてやらないといけないのですが、あまり複雑にするのが嫌だったので、最小のVGA固定(640x480ドット2)で表示出来るようにしました。(手抜き〜!)
(まぁ、最小はSVGA(800x600)でも、いいかもしれませんが、一応IBM PC110でも表示出来なくっちゃ!笑)
尚、「メニュー」を画面の真中に置く処理は、VB6に任せました。

それと、各種の操作は、少し離れた所からでも全部出来るように、「テンキー」だけでやれるように考えました。
「外付けテンキー」で「Enter」、「BS」、「」は好き勝手に使えそうなので、これらを制御用(確定・表示、画面クリア、操作終了)にします。
勿論、「数字」は必要品!ですね。
それと、いずれ、四則演算用の「」も活用したプログラムにしたいですね。

表示−点群
さて、お互いに重ならないで、最大で100個ほどの点をランダムに置く方法は?

これに乱数を使う事を考えたのですが、“ところがドッコイ!”「乱数」ってのは、同じ数字が何度出て来ても構わない(文句は言えない?)らしいんですよねぇ。
だから、重なった分「点の数」が足りなくて、暫く悩んでました。

そこで、例えば映画館かカラオケ・ルームへの来場者に、“来た順に(ランダムに)好きな席へ座れ!”って、“但し、既に座っている席には座るな!?”と指示すれば、上手く行くはず...
だけど、各席が個室だったらどうかな?一つ一つ中を見るまで分からないから、後から来た来場者は、下手すると総当りする事になりますね。

...えぇ、プログラムには、「ランダムに総当りせよ!」って、そんな風に書きましたよ。
クロック40MHzのPC110でも、100個分の捜索は、殆ど即時でしたから、PCには、左程大した作業でもないのか♪ (左上写真<クリック>)

点の配置
」を置く場合、隣りとは在る距離以上離せ!絶対くっ付けるな!しかも、固有のパターンにはするな!...これらは、プログラムを作る上で、大変厄介な条件でした。

手作業でやるなら、隣りとの接近度を見ながら、適切に置けるのですが(左写真)、プログラムでそれをやろうとすると、かなり面倒な処理ルーチンが要りそう!
それに凝るのは保留して、プログラム全体を早く仕上げるために、予め“最近接で置けるはずの位置”を決めておく方式にしました。(左写真クリック)

本当は、手処理でなら黄矢印のようにちょこっと動かせば、かなりランダム/乱雑には出来るのですが...果たして、それが必要か?

不規則な配置
改めて、「点群」を規則性を排除してランダムに配置する必要性について考え込んでしまいました。
確かに、「ある数」を“パターン”で覚えてしまうと、パターンが変わると「数」を認識出来なくなる、或いは近いパターンの「別の数」とを混同する可能性はありそうです。
人物の顔などなら、多少違っていても問題にはなりませんが、こと「数」となると正確性が重要ですから、間違って覚えさせては大変です!
(でも、子供を無闇にテストしてはいけないらしいので、“記憶の正確さ”を確かめるのが難しいかも)

しかし、プログラムで“木目細かな不規則性”を実現するには、相当手間隙が掛かりそうです。
幸い、同じ「数」を入力しても、毎回配置パターンが変わりますので、取り敢えず、それで我慢して貰うことにしましょう。

「数」が少ない時
「数」(点の数)が少ない時には、吃驚するくらいバラバラ!(左図&<クリック>)

これだけバラバラなら、何度か違った「数」を見せて、固定パターンでは覚えさせないように出来るかな?...あるいは、逆に混乱するかもしれませんねぇ。
やはり、子供自身の「反応」や「覚え方」を観察しながらやらないと、効果が挙がらないかも。

こんなのは、やる側は、運動選手の“監督”や“コーチ”みたいなもので、ただ闇雲に練習させるだけではダメだろうと思ってます。
だから、点の色や大きさや背景色などは、これでいいのか?可変にしておいた方がいいのか?など、考える事が一杯ありますね。

[表紙頁]へ  関連記事の目次へ  [一言板]へ