コンピュータの仕組み(コンピュータはプログラム(文章)を理解する必要が無いの?)




コンピュータの仕組み(コンピュータはプログラム(文章)を理解する必要が無いの?)

皆さんこんにちは、プロクラスの野間です。
今回もコンピュータの根幹の話を続けていきたいと思います。
前回は文字の扱いを紹介しました。
今回は本当にコンピュータが文章を理解する必要がないのか?の件で
例で出ていた、プログラムは文章を理解する必要があるのでは?についてもう少し話してみたいと思います。

■登場人物
先生
太郎
花子

■プログラムも文章ではない
太郎:う~ん・・・ワレワレハ、ウチュウジンダ
花子:大変!太郎君が地球人じゃなくなってる!
太郎:前回、自分だってやってたじゃないか!
花子:突っ込みってやつじゃない・・・
先生:前回と同じ導入ですか?
太郎・花子:こんにちは!
先生:はい、こんにちは
太郎:前回、コンピュータは文字・文章を理解する必要がない件について、やっぱりプログラムでは理解する必要があるんじゃないかと思って・・・
先生:なるほど、確かに、文章は人間が入力して人間が読むものですので、コンピュータは保存・表示さえできれば関係ないですが、プログラムは人間が入力してコンピュータが動きますから関係していそうにも見えますね。
花子:こんにちはコンピュータちゃん、私たちは地球人よ!
太郎:流石にそれは・・・
先生:いえ、意外に重要な文章ですよ?
花子:え!?
太郎:言った自分が驚いてる・・・
先生:まず、プログラムはコンピュータに指示を出すものであって、「私たちは地球人です」のような日常会話は不要である点が大きいのです。
花子:あぁ、なるほど

太郎:でも、「もっと右」みたいに指示は出す必要がありますよね?
先生:まぁ、それに近いことはあり得ますが、プログラムの多くはイメージ的には文章ではなく単語の集まりって感じになります。
太郎:単語?
花子:集まり?
先生:はい、例えば、「私たち」「地球人」みたいな感じです。接続詞とか何もないので文章にはなりません。イメージで言えば「絵」「表示」で終わりです。
太郎:なるほど、「ミサイル」「右に移動」みたいな?
花子:確かにそれで意図はわかるわね・・・
先生:文章ではないので自由度は全くありません。ですので、「表示」「絵」だとダメだと言う事です。
太郎:名詞が先とかですか?
花子:シュゴ、ジュツゴ、ビブン、セキブン、フォッサマグナ・・・
太郎:何の話をしているの???
先生:いえ、名詞が先とかではなく、「決まっている」通りに書く必要があるって事です。「絵」「表示」で決まっているものは必ず「絵」「表示」と書く必要があり、「表示」「絵」ではダメって事です。
花子:それぞれ指示毎に順序が決まっているって事ね
先生:そうですね、正しくは順序処か全部決まっています。
太郎:うわ・・・全部覚えないといけないんですか?
先生:意味合いとしては全部決まっていますが、ちゃんとパターンは存在していますので、恐らく思っている内容とは異なります。何度も言いますが、日常会話ではないのです。
花子:「文字」「表示」とか「絵」「移動」とか?
先生:良い感じですね。ですが、もっと言えば「移動」もないです。「絵」「場所(座標)」「表示」だけでやります。
太郎:そうか、移動先の場所に表示すれば良いのか。
先生:特定の条件がそろっていれば、それでOKですね。
花子:そろっていないと?
先生:移動させるには移動先に表示して、前の場所に、絵がない状態の絵を描く必要があります。所謂、背景を描くわけです。
太郎:消すのも「表示」でやるんですね・・・
花子:めんどくさそうね・・・
先生:昔はコンピュータの速度が遅かったので部分、部分でやっていましたが、今は速度が速いので、一度全部消して、毎回全部書いていることが多いので、思っているよりシンプルですよ?
太郎:それが条件ってやつなんですね
花子:毎回全部表示するのも大変そうね
先生:人間にとっては大変でも、単純作業はコンピュータの得意分野なので全く問題ないようですよ?
太郎:自分でやることをイメージすると嫌になるよね・・・
花子:う・・・
先生:で、先の話の通り、パターン通りに書く必要があるので、1文字たりとも間違うことが許されません。それこそ、文章の最後の「。」がない、「、」が無いだけでも動いてくれません。
花子:げ・・・
先生:イメージ的に「どうする」「何を」的に考えると理解しやすいと思います。「どうする」の部分に種類が決まっておりその内容毎に「何を」が変わるようになっています。
花子:それが先に言っていたパターンなのね。
先生:はい、そして、ここがポイントになります。「どうする」には種類がありますが、同時に限界もあります。つまり、出来る事が決まっている訳です。
太郎:ほうほう
先生:決まっているという事は、最初から変換リストを作っておけば良いって事です。
花子:そうか!「表示」=「28」とかね!
先生:そう!その通りです。
太郎:なるほど、そうなると、変換の文字が「表示」でも「print」でも「AAAA」でも良いって事か・・・
先生:まさにその通りです。決まったことしか出来ないので「決まった通りに書く」とルールを限定することができ、その結果、文章を理解する必要がないって事になります。
太郎:決まったことしか出来ないのですか?
先生:そうですよ?極端に言えば、覚える、計算する、忘れる程度でしょうか・・・
花子:それはそれで別の謎が出てきたわ・・・
太郎:もっと色々やってますよね?
先生:もっと言えば電気が通ってる、通ってないしかわからないんですよ?
花子:究極キタコレ
先生:コンピュータは大きな電卓なので、本当にこの程度しかやっていないんですよねぇ・・・
太郎:謎は深まるばかりだ
先生:一気に考えるから混乱するんですよ。まずは、コンピュータは「数」なら認識できる、「文字」は「数値」に変換して扱っている。「文章は不要」が理解できれば良いかと思います。
重要な点は「数」なんですよ。これだけは理解できるので、全てのことは「数」に変換することで実現できるようになっています。

■まとめ
今回は文字の扱いでした
重要なのは
・やっぱりコンピュータは文章を理解しない
・理解しないのはプログラムでも同じ
※数値さえ理解できれば良いようにできている

過去の重要点
・メモリは一列に並んでいて番号がついている。
・メモリは連続したものを使う