はじめに
電気のON \OFF
コンピュータの基本的な動き
コンピュータの基本的な動きは、大きく分けて2つの側面から捉えることができます。
命令の流れをどう制御するか(制御フロー)と、データをどう扱うか(データフロー)になります。1. 命令の流れをどう制御するか(制御フロー)
プログラムとは、コンピュータに対する「命令書」です。その命令をどのような順番で、どのような条件で実行させるかを決めるのが「制御フロー」です。そして、驚くべきことに、どんなに複雑なプログラムも、たった3つの基本的な制御構造の組み合わせでできています。これは「構造化定理」として知られており、プログラミングの根幹をなす考え方です。
① 順次実行 (Sequential Execution)
「書かれた順番に、上から下へ一つずつ実行する」これは最も基本的で、プログラムはその順番通りに作業します。
例
let a = 10; // 1. aに10を入れる
let b = 20; // 2. bに20を入れる
let c = a + b; // 3. aとbを足してcに入れる
② 条件分岐 (Conditional Branch / Selection)
「もし〜〜ならばAを、そうでなければBを実行する」
特定の条件によって、実行する処理を変える動きです。これにより、プログラムは状況に応じて賢く振る舞えるようになります。
例
if (天気が “雨”) { // “傘を持っていく” という処理を実行
}
else { // “帽子をかぶる” という処理を実行
}
③ 繰り返し (Loop / Iteration)
「ある条件が満たされている間、同じ処理を何度も実行する」
大量のデータを扱ったり、特定の作業を自動化したりする際に不可欠です。
例
while (皿がまだ残っている) { // “皿を1枚洗う” という処理を実行
}
コンピュータの命令の実行方法は、この「順次」「分岐」「繰り返し」の3パターンしかありません。 これらをブロックのように組み合わせることで、ゲーム、ウェブサイト、AIなど、あらゆるものが作られています。
データをどう扱うか(データフロー)
プログラムは、結局のところ「データ」を処理するためのものです。そのデータをどのように扱うかという視点で見ると、コンピュータの動きは以下の4つのステップにまとめられます。
① 入力 (Input)「外部からデータを受け取ること」
キーボードからの文字入力、マウスのクリック、ファイルからの読み込み、インターネット経由での情報受信など、コンピュータが処理するための元ネタを取り込むステップです。
② 記憶 (Storage / Memory)「受け取ったデータや処理の途中結果を覚えておくこと」
データはメモリ上の「変数」や「配列」といった箱に入れて、一時的に保存されます。必要なときにいつでも取り出せるようにするためです。
③ 加工 (Processing)「データを処理して、新しいデータを作り出すこと」
プログラムの心臓部です。
演算: 足し算や引き算などの「算術演算」、そして「AかつB」や「AまたはB」といった「論理演算」などを行います。
抽出: たくさんのデータの中から、特定の条件に合うものだけを取り出す(フィルターする)ことです。これも「加工」の一種と捉えられます。例えば、「全顧客リストの中から、東京都在住の人だけを抽出する」といった処理です。そして、この「加工」を行う際に、先ほどの制御フロー(順次・分岐・繰り返し)が道具として使われるのです。
④ 出力 (Output)「処理した結果を外部に知らせること」
計算結果を画面に表示する、データをファイルに保存する、プリンターで印刷する、ネットワークを通じて他のコンピュータに送信するなど、処理の結果を人間や他のシステムに伝えるステップです。
5大装置
古典的な「ノイマン型コンピュータ」の5大装置
制御
演算
記憶
入力
出力
ハードウェア(Hardware)
ソフトウェア (Software)
ネットワーク & 通信
装備
レポート
Practice
紹介ラインナップ
- サイト
Microsoft
Apple
制作
- CANVA