1993年度数学教育研究会報告 第1分科会(学習指導法1)1993.11.29
Visual Basic を使った Windows CAI の試作
− 人間はどのように増えてきたか(1) −
広 瀬 徹
1.Windows CAI の互換性
パソコンユーザーのたぶん数年あとをいくだろう学校現場の機器状況は、逆に言えば数年後にはまちがいなく Windows 環境に入ると予想されます。
わたしたち CAI 自作者にとって、資産の共有のための他機種へのプログラム移植は困難なそして煩雑な作業でした。しかし、この1、2年の Windows 環境の進展は、それぞれのコンピュータ機種に合わせた Windows プログラムを走らせれば、それに対応した応用ソフトはすべての機種に共通に動くという画期的な利点をわたしたちに知らせてくれました。
今回試作中の「Windows CAI 人間はどのようにふえてきたか(1)」は、IBM5530Z で作成し、テストランしましたが、これは PC9801 でも、FM-TOWNS でも動きます。
それならば、かなりの時間を投入したとしても作り甲斐のあるというものです。膨大な時間を費やして作っていった教師自作の CAI 群の死蔵だけは避けたいものです。優れた自作ソフトの共有化、そのノウハウの伝達がまずなされるべきですが、ともに先導してきたものの責任として、次世代への準備をしておきたいと Windows CAI の試作を始めました。
2.Windows プログラムなんて、わたしたちに組めるのか?
C言語を駆使しない限り Windows プログラムなんて組めない、と聞いていた矢先、2年前 Basic 言語の発展として、Visual Basic for Windows がアメリカで発売されました。日本語環境でも動く、日本語の表示も可能、と読んで、思い切って購入しました。
最初に作ったプログラムは、安曇野の桜の風景を写した写真画像を表示し、OKのボタンを押すと消えるという「額縁プログラム」でした。Windows は、ディスプレイ上にいろいろなソフトを同時に進行させる事が出来、しかもそのソフト間の文字データ、画像データは相互に取りいれが可能です。
勤務校にあります IBM-JX5 で動く、「雪の降る街を」のメロディを演奏しながら、雪片がひらひらと落ちてくるという Basic プログラムを移植する事にしました。深夜の教会の絵は移せました。雪片がランダムにヒラヒラと落ちてくるという Basic サブルーチンは、いったん Quick Basic に移植してから、Visual Basic へ移植するという方法をとって、なんとか実現する事ができました。
Basic プログラムが組めたら、なんとかなるのです!
これならと勢いづきました。
3.Visual Basic でのプログラムの作り方
Visual Basic では、タイトル画面、説明画面、画像表示などの部分は、マウスで伸縮自在な四角の窓の中に、色や大きさを指摘してやりながら作っていけます。色が気にいらなければ、マウスで違う色を選んでやれば、すぐにその色で字を書いてくれます。
3000 locate 3,4
3010 color 3
3020 print "では 指数関数を学習しましょう"
という3行のプログラム打ち込みが、マウスでクリックするだけで、目の前に実現します。しかもボタンを持ってきて埋めこんでおけば、生徒たちがそこを押すだけで次の画面に移行させることが出来ます。
5000 input x$
5010 if x$="y" then goto 2000
5020 if x$="n" then goto 8000
といったプログラムを打込まなくてすむのです。
指数関数のグラフを描く、人口増加の計算を見せる、といった部分は従来の Basic 言語で作ったようなコーディングをしますが、今まで1行1行コーディングをしていた部分が目で確かめながら、まさに visual に画面上に実現していけます。
もうひとつの大きな特徴は、教師主導の誘導型プログラムより、生徒がどのボタンを押すかによって次の開かれる画面(フォーム)が違うという、学習者のアクション依存のプログラムが作りやすいことです。このことは従来のコースウェア型 CAI に慣れたプログラム作成者、わたしなどには、飲み込みに少し時間がかかりました。
4.では、何をつくるのか。試作中のプログラムについて。
作ろうと思っているプログラム構想があります。
次の世代に残すメッセージとしてのプログラム。
題して「次代のこどもたちへ 人間、そしてよってたつ地球」
これは、次の画面で
「宇宙」
「地球」
「地球の生物」
「科学技術」
「歴史・地理・文学」
「人権の歴史」
というサブテーマに別れます。
これは次の世代のこどもたちに残しておきたい! そう思うものを、自作だけでなく、先駆者のプログラムをも組み込みたいと思っているからです。
「地球の生物」のなかで、ひとつだけ作りはじめました。
「人間はどのようにしてふえてきたのか」です。
人口増加に始まって、指数関数の性質を学び、ネズミ、バクテリアなど地球上の生物の増加が同じ様な増えかた(天敵がないとき)をすること、それらを通じてもういちど、地球上での人間のありようを考えよう、というものです。
上のように6章からなる予定です。
まだ「第1章 現在、人間はどのように増えているか」しか出来ていません。
どの画面も右矢印を押せば、次の画面にすすみます。
画面は、山田君と先生と川畑さんの対話ですすめることにしました。16年前、初めて本格的に指数関数を授業したときの新聞切り抜きを保存していますのでそこから始めます。
1978年の新聞なのですが、人口増加率が、1年に 1.7% であると書いてあります。あれから16年、さてどうなったのでしょう。
急いで、パソコン通信による新聞記事検索をしてみました。
1993年7月11日に地球人口が「55億7856万2622人」となったと国連が発表、という記事に出会いました。この16年間本当に1.7% で増えていたのです!
Visual Basic には簡単表計算が作成できるサブプログラムがついています。このまま 1.7%で増え続けるなら、100年後にはいくらの世界人口になると予想されるのか、1.6% に増加率が下がったらどのくらいゆるやかになるのか、などが計算できる「自動計算表」をつけました。
これを使って、実際の授業をする日はまだ来ませんが、この急速な高機能コンピュータの浸透の時期、学校現場に Windows が走る日もそう遠くはないでしょう。道具としてのコンピュータを生徒たちが使いこなしていくでしょう。
これらの画面を通して、人口増加率1.7%の増加率とはどんなことか、どんな風に計算されるのか、41年間で2倍になるとは、どんな計算をするのかを、学習させます。
第1章のまとめとしてこう書きました。
「1977年、世界人口は42億人 でした。そのとき予想された人口増加率は 年1.7%でした。16年たった1993年、その計算通り、世界人口は55億人になっています。
y=42億人×1.017×1.017×1.017
×1.017×・・・・・
という数式で世界人口の増え方がほんとうに記述できる!!!
これは、現在地球の一生物である人間が、いろいろなことがあるにせよ、一定の安定度を保って増え続けていることを示します。この数式通りあと100年ふえつづければ、296億人!!になると計算できます。
人間は、未来どうなるのでしょう?
また、5億年前から人間はどんな増え方をしてきたのでしょうか?
知りたいことがたくさんありますね。わたしたちといっしょに調べていきましょう。」
5.過去、未来の世界人口
古代エジプト時代、地球には赤道を中心にした温暖地帯に、わずか5カ所に5000万人の世界人口だったと推測されています。9000年ほどたった現在、55億人。過去人間はなかなか増えなかったといいます。飢餓,疫病、戦争殺戮・・・。江戸時代の推定平均寿命はわずか30才だった、と読んだことがあります。それが産業革命以降の物質生産の増大によって、ようやく人間は「天敵なし」の自然増大の基盤−指数関数的増大−をつくりあげたのです。
幼い赤ちゃんを死なせずにすみ、過酷な労働による壮年層(働き手)の死を少しは避けられるようになったのが、現在の人間なのです。しかし、急速な地球汚染の進行をもたらせている人間の営みは、大きくその種としての存在を危うくしています。
その授業研究の中で、イギリスのマルサスの書く「初版 人口の原理」(岩波文庫)を読みました。
1978年、産業革命・炭坑労働のさなかにあったイギリスにあって、数学者・経済学者マルサスはこう書いていました。
「人口は、制限せられなければ、幾何級数(指数関数)的に増加する。生活資料は算術関数(一次関数)的にしか増加しない。多少とも数学のことを知っている人ならば、前者の力が後者のそれに比してどれほど大きいか、それがすぐわかるであろう。(p.30)」
「かの万物を支配する自然法たる必然は、かれらを制限してかれらを一定の限度内におく。どの種の植物も、どの種の動物も、この一大制限的法則には屈しなければならない。そして人類もまた、いかに理性を働かしてみても、この法則から免れることはできない。動物と植物とには、この結果として、種子の浪費と疫病と早死とがある。人類には窮乏と悪徳とがある。前者すなわち窮乏は絶対的にこの法則の必然の結果である。悪徳もまたかなり大きい程度においてこの結果である。(p.31)」
そして、飢えと貧困をなくすとして始まった隣国フランスの市民革命を視野において、マルサスはこう述べるのです。
「あらゆる生物を支配しているこの法則の重荷を、人類のみが逃れ得る方法があるであろうか。いっさいの空想的平等も、農業調整のいかに徹底的な実行もせめて一世紀の間だけでも、この重圧力を排除することはできない。ここにおいてこの法則は、社会の全員が、安易に、幸福に、そして比較的有閑に生活して、かれら自身ならびにその家族のために、生活の資料を得るのにあまりあせらなくてもいいというような、そんな社会があり得るという考えに、反対するに足る決定的なものとなるのである。だからいう、上の仮定がもし正しいとするならば、議論はおのずから、人類という集団の完全性に対して否定的に断じられなければならぬ。(p.32)」
「個々の人々に対して一々そうし向けることはむずかしいことではあるが、独立のできない貧民というものは、恥ずかしめておくのがいい。人類全体の幸福を増進するためには、こういう刺激は絶対に必要である。・・・だから、一家を支える能力がないのに結婚をする労働者というものは、ある意味では、かれら同僚労働者全部の敵であるといっていい。(p.67)」
ひとりの経済学者の精密な数学的検討から、こうした結論が生まれる。わたしには衝撃的なことがらでした。
どの書物を読んでも、このマルサスの結論が底流に読みとれました。赤ちゃんの生まれること、お年寄りの寿命の伸びること、特に南半球の人口増加を迷惑とするものばかりでした。
学問がこうしたものでしかないのなら、そんな学問なんていらない、そんな数学なんていらない、そんな思いでいろいろ本を読みました。
ただ一冊、須磨の水族館員でもあった、金沢大学生物学教室の奥野良之助氏の「生態学批判 その歴史と現状批判」に出会いました。そのなかで、ロックフェラー財団によるインドへの避妊浸透事業が失敗する因を、貧乏になるから子どもを生むなではなく、貧乏だからこそこどもをたくさん生んで、子どもは親孝行だから働いて子どもこそが一家を支える労働力になるのだと、そこをわからないから失敗するのだと説くのです。
ほんの二・三十年前、日本でも子どもは働き手でした。高校生の年代、ほとんどはもう一人前の生計支持者でした。わたしたちの親の多くは五人兄弟、六人兄弟でした。ここらへんに気づいて、ようやく人口の授業がやれるようになりました。
「赤ちゃんの生まれるのを喜ぶ。お年寄りのなくなるのを悲しむ。それで地球が人間であふれても、人間一人一人がたがいにふえつつある人口に気がついて、それでも増え続けるのならそれでもいいと思います。限界まで増えればいいと思います。」
と書く生徒に出会うことが出来ました。
もういちど、そのことをコンピュータを使うという非日常の授業の中で探ってみたい。
そのためなら、プログラム作りの苦労も承知というものです。

6.地球上の他の生物
人間は地球というシャーレーの表面にへばりついているバクテリアのようなものです。このことがわかれば、人間を大切にするのと同様、地球上の生物をいとおしく思えることに助力できるかもしれないと思います。
今まで、指数関数の授業のための教材研究でたくさんの生物について、資料をためてきました。
江戸時代の数学書「塵功記」にかかれている1ヶ月に12倍に増えるネズミ算の話し。
宇和島に起こった爆発的ネズミの繁殖の話し。
赤潮の繁殖とその増殖の視覚的アニメーション展示。
バクテリア、大腸菌の顕微鏡写真と24時間で増えるその計算。
増加とは逆のプロセス、減衰の指数関数。
そのことと地球上の生物の絶滅。
・・・・・・・・・・・
なぜ、地球上の生物は、同じような増え方、指数関数的増え方をするのか。そのことが直感的にわかったと言わせられるような授業を組み立てたい、そう思ってきましたが、まだ実現できていません。
たぶんその仕組みは、母集団に比例して子孫が増えていく △y=ky・△x にあるのですが、その授業展開は、かなり難解です。
この仕組みがわかれば、なぜ流行商品が爆発的な指数関数的増加をしていくのか、がたぶん生徒に伝わるだろうと思います。人間の欲が周囲をみるごとに増殖していくのです。
放射能減衰の急速さ、しかし根強く残るその残留放射能のこわさなど伝えることがたくさんあります。
この授業CAIを完成させる時間がほしい。
いま、未完成のところには、いたるところこの看板が立っています。未完成のメニューを押すとこの gomen.frm が出てきます。工事のお兄さんをクリックすると、ピョコンと頭を下げるしくみになっています。Visual Basic でそのような簡易アニメーションを作ることは、最初なかなかわからず、日本語解説書のない昨年、英文の例題プログラム集を解読しての作成でした。最初、工事現場の写真からとろうとしたのですが、著作権侵害は明瞭で、娘に頼んでイラストを描いてもらいました。
7.試作して分かったことがら
いままでつかんだ、作成にあたってのノウハウをまとめておきます。
(1)PC9801シリーズなどで多くの機種が、まだ 1024×768 の高解像度には適応していません。当分は 640×480 の VGA 解像度で作成するほうがよいと思われます。
ただし、かなり多くの高解像度機種が出回っていますので、時間があれば、これへの対応も同時にしておいたほうが親切です。逆に高解像度に合わせて作れば、画面が広くて生徒たちもゆったり使えますが、低解像度で見たとき、画像やボタンがはみでて生徒たちが難儀するでしょう。
両者は画像の尺度が違いますので、画像を読み込むときは、ピクチャーボックスコントロールではなく、イメージコントロールを使い、Stretch プロパティを True にしておけばボックスの大きさに合わせて画像が展開されます。
(2)CAI作成者としてぜひ、フォームなどのソースを添付して公開しませんか。ソースがあれば、生徒たちの機種に合わせてコンパイルし直せますし、教材構成の変更がききます。また Visual Basic の学習にもなります。コードやフォームの取り入れ・再利用ができ、相互研鑚として有効です。
(3)フォントについては System フォントは使わない。いちいち面倒ですが、画面・オブジェクトごとに、一般的なフォントを使う。わたしは、MSゴチックか、MS明朝を使います。そしてポイント数を必ず指定してやります。そうすれば、他の機種で動かしたときにも、ボックスからはみでたりしなくなります。
(4)VBX などは、一般的なものしか使わない。応用アプリケーションを買えば便利なコードがついてきますが、ソースを再構成したいとき、それを購入していなければ、ライセンス保護が働いて、ソースをさわれません。3次元ピクチャーだとかアニメボタンだとかたくさんあるのですが、パソコン通信などでの流通を考えると、使わない方が親切だと思います。
(5)できるだけ、ちいさなプログラムにわけてコンパイルすること。
今回のプログラムは、
「人間、そしてよってたつ地球」 zidai.exe
「地球の生物(メニュー)」 seibmenu.exe
「人間はどのようにふえてきたのか」 hueru.exe
「第1章 現在、人間はどのように増えているか」 genzai.exe
の4つの独立なプログラムから成り立っています。そうしておけば、再利用しやすいし、利用してもらいやすいのです。そして、未完成のところ、動作不十分のところには、次のコードを埋め込んでおきます。
On Error Goto Errorhandler
・・・・・・・・・・
Errorhandle
・・・・・・・・・・
Resume Next
そうすれば、未完成の部分があっても動きますし、できあがれば今のプログラムがそのまま使えます。
(6)解説書がずいぶん出版されました。最初は英文書しかなかったのですが、ずいぶん日本語訳、または日本人執筆者によるかきおろしが出ています。文中の例題が添付されているディスクに納められることも多くなりました。これをまず動し、その動きを学習することでずいぶん参考になりました。
(7)たしかに Visual Basicは難しいですが、学校のCAIに使うくらいのテクニックなら、何人かで本腰にとりくめば、大体おおまかのものは用意できそうです。それを基本フォームとして、パソコン通信全国網で回覧できれば、後続者はずいぶん能率的に Windows CAI 作成にとりかかれます。幸い兵庫県には、「兵庫教育ネット」がありますし、全国ネットワーク PC-VAN または NIFTY であれば、だいたい全国のCAI関係者と連絡がとれる時代になっています。
(8)プログラム及びソースの掲載場所。
試作したプログラムを、
兵庫県教育研修所運営の「教育ネットHyogo」
[2]やしろ市場 [9]プログラムの部屋 [1]プログラムの小部屋
250-254 Windows CAI 「人間はどのようにふえてきたか」
全国ネットワークPC−VAN
STS(教育&ソフト) JSTS 3.フォーラム 8.開発室
5392-5417 ish>WinCAI次代のこどもたちへ/広瀬
に掲載しました。
Windows が走る環境が近くにあるかた、ぜひ運転して、その辛口の評価を聞かせてください。どの機種でもうごくはずです。よろしくお願いします。
<参考文献>
「はじめての Visual Basic」 江藤潔著 ソフトバンク社
「生態学入門 その歴史と現状批判」 奥野良之助著 創元社
|