《特別企画》7歳児にプログラムの概念を教える(笑) 04-05-30


我が家に「博物的 保存機」として動態保存していたCASIOのMSX(ver.1!)、MX-101。火を入れずに放っておくのももったいないので、7歳にしてパソコン歴4年の門さんに使わせることにしました。
はじめは古い野球ゲーム(門さんは少年野球をやっている関係上、ルールを覚える目的がある)などで遊んでいたのですが、ある日、ふと思いました。

「はたして、門さんはプログラムという概念は判るだろうか。」

そして、さらに

「門さんは、たとえばベーマガに載ってるリストなどを打ち込み、走らせることは可能なのだろうか。」

ここで私の本業、「インストラクタ」の血が騒ぎました(笑)

早速、実験にかかりました。まず、紙のノートの切れ端に、手書きで左のリストを書き、キーボードで打ち込ませてみることにしました。

このとき、次の情報を与えておきました。

  • これは、門さんがコンピュータに「何かを命令」するための特殊な言葉だ。
  • この言葉は、書いた順番にそのとおりやってくれる。これをプログラムという。
  • プログラムは、大文字で書いても、小文字で書いてもOK。
  • 書き終わったら、「RUN」と命令すると、書いたプログラムを実行してくれる
  • このプログラムは、「e」を押すととまる。
  • プログラムを直したいときは「list」と命令し、上から書き直す。

    結果
    門さんはまず、プログラムを入力することは無難にこなしました。途中、「空白」をあけてないことに気づき(MSXは空白無くても動くんだけどね)、挿入の仕方がわからず困っていたのでINSキーの存在を教えました。
    「run」コマンドで実行することもできました。ひとしきり結果を眺めた後、「e」キーでとめられました。ここで、命令したことを素直に実行することに感動していた様子でした。
    しかし、門さんがタダモノではないと思ったのは、この後彼が言った、次の言葉です。
    「お父さん、ひょっとして、この"MON"というのを"YUMEKO"に変えると、そうなるんじゃない?」
    ええ、そうですとも!!先に言われちゃったよ、まったく(笑)

  • おもしろいので、ちょっと実験をエスカレートしてみました。「35行目」という行を作り、打ち込ませたのです。BEEPがなるだけの簡単な行です。

    結果
    プログラムを実行させ、音がなることを確認したあと、listを確認させました。このとき、ちょうど左のようなリストが表示されるわけですが、30と40のあいだに35が自動的に挿入された、という事実にはあまり感動しなかった様子でした。

    しかし、意外なことに門さんは次の行動をはじめました。

  • 「BEEP」という命令を「BOOP」や「BuuP」に書き直す

    面白いので実行させました。当然「Syntax Error」(懐かしいな、この響き!!)が出ます。2〜3回試したあと、門さんは
    「お父さん、言ったとおりのことをしてくれないよ?」
    と、やっと子供らしいことを(笑)言いました。

    そこで、命令語は固定であることを教えました(もちろん、わかりやすく「きまった言葉じゃないとやってくれない」と説明)。

  • 次に門さんが「25や15も何か書きたいなぁ」と言うので(この辺が門さんらしいフィーリングだ…)、ちょっと考えて左のリストのように改造させました。 実行結果を確認した門さんは、かなり満足そうでした。

    実験の〆めとして、突発的に

    RENUM命令

    を実行させてみました。もちろん、効果は説明せずに…

    結果
    門さんは、プログラムを実行させ、変化が無いことに気づきました。そのあと、list命令を実行し、様子がおかしいことに気づき(笑)、しきりに不思議がっていました。

    「まぁ、こっちのほうが綺麗だろう?」と、説明しておきました(このとき、「じゃぁ1,2,3でもいいじゃん」と言われたらどうしようか、ハラハラしてました(笑))

    左が、実際に門さんがここまで打ち込んだプログラムを表示させたテレビ画面です。

    これで終わり、と思いきや、門さんがまた爆弾発言。
    「お父さん、この"e"って、別のに替えるとちゃんとそれで止まるの?」
    うひゃあ!こいつ、おぼろげながらIF文を理解してやがる!!(笑)。もちろん、それもやらせてみました。思い通りのキーアサインができたことには、大変喜んでいる、というか「プログラムの面白さ」を理解していたようでした。

    「門さん、プログラムっておもしろいだろう?これを複雑にしていくと、愛依ちゃん(注:「お〜える Connections」のこと)とかが出来るんだよ〜。」
    「うん、おもしろ〜い!!」

    門さんは、このプログラムをまだまだ改造したい様子でしたが、残念ながらこの機械には補助記憶装置がついていないため、後日エミュで再びやらせることにしました。その時はセーブ、ロードの概念を教えようと思います。

    と、いうわけで 実験終了!!

    戻る