はじめに
コンピュータの基本的な動き
コンピュータの基本的な動きは、大きく分けて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)「処理した結果を外部に知らせること」
計算結果を画面に表示する、データをファイルに保存する、プリンターで印刷する、ネットワークを通じて他のコンピュータに送信するなど、処理の結果を人間や他のシステムに伝えるステップです。
- Apple、Microsoft、Googleの製品一覧
Apple
デバイス : iPhone、iPad、Mac、MacBook、Apple Watch、Apple TV、AirPods
グループウェア : iWork(Pages, Numbers, Keynote)
クラウド : iCloud
ブラウザ : Safari
OS : macOS(Mac用)、iOS(iPhone用)、iPadOS(iPad用)、watchOS(Apple Watch用)、tvOS(Apple TV用)
Q&A(apple)
Microsoft
デバイス : Surface(タブレット/ノートPC)、Xbox(ゲーム機)
グループウェア : Microsoft 365(旧Office)、Microsoft Teams、SharePoint
クラウド : Microsoft Azure、OneDrive
ブラウザ : Microsoft Edge(旧Internet Explorer)
OS : Windows(PC用)、Windows Server(サーバー用)
Q&A(microsoft)
デバイス : Pixel(スマートフォン)、Chromebook(ノートPC)、Nest(スマートホーム製品)
グループウェア : Google Workspace(Gmail、Google ドキュメント、スプレッドシート、スライド等)
クラウド : Google Cloud Platform、Google Drive
ブラウザ : Google Chrome
OS : Android(モバイル端末用)、Chrome OS(Chromebook用)
Q&A(google)
- 10進法と2進法
- 回路と計算
- データベースについて
- グラフについて