📜 プログラムとは何か
🎯 コンピュータが「超高速だが命令どおりにしか動かない機械」であることを、自分の言葉で説明できる
スマートフォンもゲーム機も自動改札機も、中身はコンピュータです。では、コンピュータとはそもそも何をする機械なのでしょうか。ここをはっきりさせておくと、この先の学習で迷子になりません。
コンピュータの仕事は、突き詰めるとたった3つです。入力(数や文字を受け取る)、処理(決められた計算をする)、出力(結果を画面やファイルに出す)。この3つの繰り返しだけで、動画の再生も、銀行の振込も、自動運転も成り立っています。

それなら電卓と同じでは、と思うかもしれません。実際とても近いのですが、決定的な違いがひとつあります。コンピュータは手順そのものを覚えておいて、あとから何度でも自動で実行できるのです。この覚えさせた手順書のことをプログラムと呼びます。電卓は人がボタンを押すたびに1回計算するだけですが、コンピュータは「1万人分の給与を順に計算せよ」という手順書を渡せば、あとは黙って最後までやり切ります。
賢いのではなく、速くて、正確で、飽きない
コンピュータは賢い機械だと思われがちですが、この理解は少しずれています。コンピュータは言われたことしかしない機械です。その代わり、人間には真似できない3つの力を持っています。
苦手なこともはっきりしています。「いい感じにやっておいて」がまったく通じません。空気も行間も読まず、こちらの書き間違いさえ忠実に実行してしまいます。ですから、思ったのと違う動きをしたときに疑うべきは、機械ではなく自分の書いた手順のほうです。この考え方は、第3トラックのデバッグ訓練でくり返し使うことになります。
どのくらい速いのか実感しにくいので、一つ例を挙げます。1000人分のテストの平均点を電卓で出すなら、休憩なしでも1時間はかかるでしょう。同じ処理をコンピュータは1000分の1秒で終えます。しかも人数が1万人でも100万人でも、手順書を書き直す必要はありません。同じ手順が、量が増えてもそのまま使える——この性質が、のちに学ぶ繰り返し(ループ)の価値につながっていきます。
AIが人間のように受け答えをする時代になっても、この性質は変わっていません。AIの中身もまた、膨大な数の足し算と掛け算を猛烈な速さで繰り返しているだけです。「賢く見えるほど、大量の単純作業」——それがコンピュータの正体です。
つまりプログラミングの学習とは、難しい呪文を覚えることではありません。曖昧さのない手順を組み立てる練習なのです。この第0部ではまだC言語の文法には入りません。その前に、機械が何をどう動かしているのかを見ておきます。急がば回れ、です。
コンピュータに実行させたい処理の手順を、決まった書き方で並べたもの。料理でいうレシピに近く、上から順に指示を実行させる設計図のような存在。プログラムを書く行為はこの手順書を設計する作業そのものと言える。
もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。