コンピュータの仕組みとアルゴリズム
ハードウェアの構成、2進数、アルゴリズムの考え方。
この単元の目標
- コンピュータの5大装置を説明できる
- 2進数・16進数の変換ができる
- 基本3構造でアルゴリズムを表現できる
コンピュータの構成
- 5大装置は入力・出力・記憶・演算・制御。CPU は主に演算装置と制御装置の役割を担い、記憶装置とデータや命令をやり取りする
- CPUは「フェッチ → デコード → 実行」を高速に繰り返す
- メモリ階層: レジスタ ≫ キャッシュ ≫ メモリ ≫ ストレージ(速いほど小さい・高い)
基数変換
10進 → 2進は 2で割り続けて余りを下から読む。16進は2進4桁と対応するので、2進 ↔ 16進は桁区切りだけで変換できます。
アルゴリズムの基本3構造
| 構造 | 意味 | 擬似コード例 |
|---|---|---|
| 順次 | 上から順に実行 | `s ← s + i` |
| 分岐 | 条件で処理を変える | `if 条件 then ... else ...` |
| 繰り返し | 条件が満たされる間ループ | `while 条件 do ... ` |
例題(線形探索 vs 二分探索)
整列済み配列1000件を二分探索するとき、中央要素を調べる回数は最大何回か。中央要素との大小・一致の判定をまとめて1回と数え、線形探索との差も述べよ。
解答・解説
二分探索は 回、線形探索は最大1000回です。増加の仕方はそれぞれ と で、差を「指数的」と呼ぶのは不正確です。二分探索では中央への直接アクセスができる整列済み配列を前提にします。
確認クイズ(コンピュータとアルゴリズム)
問1. 2進数 を10進数で表すと?
問2. データ数 n に対する二分探索の計算量のオーダーは?
問3. アルゴリズムの基本3構造に含まれないものはどれか。
小ネタ: 人間の反応速度を測ってみる
練習(基数変換ドリル)
次の2進数を10進数に変換せよ。
📝 メモこの端末のみに保存
メモ欄はページ読み込み後に使えるようになります。