C言語学習ポータル(無料版) 学習コンテンツ プログラムとは何か コンピュータは何をする機械か

📜 プログラムとは何か

コンピュータは何をする機械か

無料公開版に収録・読む目安 10分

🎯 コンピュータが「超高速だが命令どおりにしか動かない機械」であることを、自分の言葉で説明できる

スマートフォンもゲーム機も自動改札機も、中身はコンピュータです。では、コンピュータとはそもそも何をする機械なのでしょうか。ここをはっきりさせておくと、この先の学習で迷子になりません。

コンピュータの仕事は、突き詰めるとたった3つです。入力(数や文字を受け取る)、処理(決められた計算をする)、出力(結果を画面やファイルに出す)。この3つの繰り返しだけで、動画の再生も、銀行の振込も、自動運転も成り立っています。

入力・処理・出力の3つの箱が矢印でつながった図
入力・処理・出力の3つの箱が矢印でつながった図

それなら電卓と同じでは、と思うかもしれません。実際とても近いのですが、決定的な違いがひとつあります。コンピュータは手順そのものを覚えておいて、あとから何度でも自動で実行できるのです。この覚えさせた手順書のことをプログラムと呼びます。電卓は人がボタンを押すたびに1回計算するだけですが、コンピュータは「1万人分の給与を順に計算せよ」という手順書を渡せば、あとは黙って最後までやり切ります。

賢いのではなく、速くて、正確で、飽きない

コンピュータは賢い機械だと思われがちですが、この理解は少しずれています。コンピュータは言われたことしかしない機械です。その代わり、人間には真似できない3つの力を持っています。

苦手なこともはっきりしています。「いい感じにやっておいて」がまったく通じません。空気も行間も読まず、こちらの書き間違いさえ忠実に実行してしまいます。ですから、思ったのと違う動きをしたときに疑うべきは、機械ではなく自分の書いた手順のほうです。この考え方は、第3トラックのデバッグ訓練でくり返し使うことになります。

どのくらい速いのか実感しにくいので、一つ例を挙げます。1000人分のテストの平均点を電卓で出すなら、休憩なしでも1時間はかかるでしょう。同じ処理をコンピュータは1000分の1秒で終えます。しかも人数が1万人でも100万人でも、手順書を書き直す必要はありません。同じ手順が、量が増えてもそのまま使える——この性質が、のちに学ぶ繰り返し(ループ)の価値につながっていきます。

ビットボクたち機械はズルをしないけど、気も利かせないんだ。だから手順は具体的にね。

AIが人間のように受け答えをする時代になっても、この性質は変わっていません。AIの中身もまた、膨大な数の足し算と掛け算を猛烈な速さで繰り返しているだけです。「賢く見えるほど、大量の単純作業」——それがコンピュータの正体です。

つまりプログラミングの学習とは、難しい呪文を覚えることではありません。曖昧さのない手順を組み立てる練習なのです。この第0部ではまだC言語の文法には入りません。その前に、機械が何をどう動かしているのかを見ておきます。急がば回れ、です。

要点まとめ

アプリで演習問題まで解く(無料・登録不要)

この項目に出てくる用語

プログラムぷろぐらむ

コンピュータに実行させたい処理の手順を、決まった書き方で並べたもの。料理でいうレシピに近く、上から順に指示を実行させる設計図のような存在。プログラムを書く行為はこの手順書を設計する作業そのものと言える。

同じトラックのほかの項目

プログラムとは「手順書」であるプログラムが満たすべき3条件(順序・明確さ・有限)を理解し、曖昧な指示との違いを説明できる ソースコードから機械語へ——コンパイルの旅ソースコード・コンパイラ・機械語の関係と、コンパイルという工程の役割を説明できる CPUとメモリの模式図CPUとメモリの役割分担を机の比喩で説明でき、メモリが「番地つきのロッカー」であることを理解する 命令実行サイクル(Fetch-Decode-Execute)CPUが命令を1つずつ取り出して実行する繰り返しで動いていることを理解する プログラミング言語の地図とCの位置低級言語・高級言語の違いを理解し、数ある言語の中でのC言語の位置づけを説明できる なぜ最初にC言語なのかAI時代にC言語を最初に学ぶ意味を、自分なりの理由として持てるようになる 0と1ですべてを表す——2進数の入口2進数の仕組みを理解し、簡単な2進数と10進数の相互変換ができる
プログラムとは「手順書」である ›

もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。

完全版(BOOTH)を見る

📚 姉妹教材:手を動かして覚える Linux 教材 — Linuxとインフラの仕組みを地図で学ぶ

Web版 / BOOTH