コンピュータサイエンス基礎:直前対策パック

公式集、全トピックの解法の要点、20 問の演習問題。完全な解答は巻末にあります。

新しい問題科目に戻る

印刷ウィンドウで「PDF として保存」を選ぶと、コピーを端末に保存できます。

1公式と解法

記数法

位取り
2 進数 2k、8 進数 8k、16 進数 16k
10 進数へ
Σ dk·bk
10 進数から
基数で割り、余りを下から上へ読む
16 進数 ↔ 2 進数
16 進数 1 桁 = 4 ビット
2 の補数
ビットを反転して 1 を足す

命題論理と証明

真理値表の行
2ⁿ
含意
p → q ≡ ¬p ∨ q ≡ ¬q → ¬p
含意の否定
¬(p → q) ≡ p ∧ ¬q
同値(双条件)
p ↔ q ≡ (p → q) ∧ (q → p)
ド・モルガンの法則
¬(p ∧ q) ≡ ¬p ∨ ¬q, ¬(p ∨ q) ≡ ¬p ∧ ¬q
分配法則
p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r), p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)
量化子の否定
¬∀x P(x) ≡ ∃x ¬P(x), ¬∃x P(x) ≡ ∀x ¬P(x)
肯定式(modus ponens)、否定式(modus tollens)
p → q, p ⊢ q; p → q, ¬q ⊢ ¬p

解き方

  1. 異なる変数の数を数えます:真理値表の行数は 2ⁿ で、最初の行はすべて 1 です。
  2. 部分式ごとに列を用意し、内側から順に列を埋めていきます。
  3. 各結合子の規則を適用します:→ が 0 になるのは 1 → 0 のときだけ、↔ は両辺が一致するとき 1 です。
  4. 同値の判定では最後の列を行ごとに比べます。論証の判定では、すべての前提が 1 である行だけを見ます。
  5. 量化された文を否定するには、¬ を内側へ移し、∀ と ∃ を入れ替え、内側の式を否定します。

デジタル論理:ゲート・カルノー図・フリップフロップ

基本ゲート
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
ブールの規則
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
ド・モルガンの法則
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
カルノー図の並び順
00, 01, 11, 10 (Gray code)
2ᵏ 個のセルのグループ
k 個の変数が消える
4 対 1 マルチプレクサ
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
フリップフロップ
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
カウンタ
n ビット:2ⁿ 状態; mod-N:2ⁿ ≥ N を満たす最小の n; fout = fclk/N
リップルカウンタ
fmax = 1/(n·tpd)
リングカウンタとジョンソンカウンタ
n 状態と 2n 状態

解き方

  1. 回路では、入力から出力へ向かってゲートを 1 つずつ進み、各配線に値を書き込むか、式を書いて真理値表を埋めましょう。
  2. 簡単化するには、1(とドントケアは X として)を、行と列がグレイコード 00, 01, 11, 10 のカルノー図に書き込みましょう。
  3. 1 を、1, 2, 4, 8, 16 個のセルからなる、できるだけ少なくできるだけ大きなグループで、端をまたぎながら覆いましょう。各グループは、一定のままの変数からなる 1 つの積項です。POS 形には 0 をグループ化します。
  4. フリップフロップとカウンタでは、各有効クロックエッジで入力を読み取り、エッジごとの状態を書き出し、n ビットのカウンタは 2ⁿ 個の状態で折り返すことを忘れないようにしましょう。

整数論と合同式

余りのある割り算
a = q·n + r, 0 ≤ r < n
ユークリッド
gcd(a, b) = gcd(b, a mod b)
最小公倍数
lcm(a, b) = a·b/gcd(a, b)
逆行列
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
一次合同式
a·x ≡ b → x ≡ a⁻¹·b (mod n)
オイラーのトーシェント関数
φ(n) = n·∏(1 − 1/p), φ(pᵏ) = pᵏ − pᵏ⁻¹
フェルマー
aᵖ⁻¹ ≡ 1 (mod p)
RSA
n = pq, φ = (p − 1)(q − 1), d = e⁻¹ mod φ, c = mᵉ mod n, m = cᵈ mod n

解き方

  1. まずすべての数を n で割った余りに直します。余りは 0 から n − 1 の間です。
  2. 最大公約数は、ユークリッドの互除法で割り算を繰り返して求めます。最後の 0 でない余りが最大公約数です。
  3. 逆元は拡張ユークリッドの互除法で求め、a の係数を取ります。負なら n を足します。
  4. a·x ≡ b は a⁻¹ を掛けて解きます。2 つの合同式は x = r₁ + m₁k とおいて組み合わせます。
  5. べき乗では、指数を 2 進数で書いて平方を繰り返します。RSA では d = e⁻¹ mod φ(n)、φ(n) = (p − 1)(q − 1) です。

グラフ理論

握手補題
Σ deg(v) = 2|E|
完全グラフ
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
正則グラフ
|E| = n·k/2
木と森
|E| = n − 1, |E| = n − c
木の葉
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
オイラー
閉路:すべての次数が偶数; 路:奇数次数がちょうど 2 つ
Kn のハミルトン閉路
(n − 1)!/2
ダイクストラ法の更新
d(v) = min(d(v), d(u) + w(u, v))
長さ L の歩道
(Mᴸ)ij

解き方

  1. 各頂点の次数を書き出します。次数の総和は辺の数の 2 倍になります。
  2. オイラーの問題では、グラフが連結であることを確かめ、奇数次数の頂点を数えます。
  3. 木では、辺が n − 1 本であることと握手補題を使います。
  4. ダイクストラ法では、暫定距離の表をつくり、毎回、未確定の頂点のうち最小のものを確定します。
  5. 最小全域木では、辺を重みの順に並べ、閉路をつくる辺を飛ばす方法(クラスカル法)か、始点から 1 本の木を成長させる方法(プリム法)を使います。

IPv4 サブネット化

サブネットあたりのホスト数
2(32 − prefix) − 2 (/31: 2, /32: 1)
ブロックサイズ
256 − (mask octet)
ネットワークアドレス
IP AND マスク
ブロードキャストアドレス
IP OR (NOT マスク):ホスト部のビットをすべて 1 にする
n ビット借りたときのサブネット数
2n

2演習問題

1.記数法ふつう
8 ビットの 2 の補数0−12806403201608040201

8 ビットの 2 の補数で −114 を格納するようにビットを設定します。符号なしの数として読むと、このパターンの値 U はいくつですか?

N = −1148 bit
U =
2.記数法むずかしい
ビットをクリックして設定します012806403201608040201

ビットを 1111 0011 OR 1011 1000 の 8 ビットの結果に設定します。結果の値 R は 10 進でいくつですか?

1111 0011OR1011 1000
R =
3.命題論理と証明ふつう
¬q ∨ ¬r¬q ↔ ¬rq ↔ ¬rq ∧ ¬r

¬(q ↔ r) と論理的に同値な論理式はどれですか? クリックしてください。

¬(q ↔ r)
  1. 1¬q ∨ ¬r
  2. 2¬q ↔ ¬r
  3. 3q ↔ ¬r
  4. 4q ∧ ¬r
4.命題論理と証明むずかしい

真理値表の 16 行のうち、((p ∧ r) ∨ (s ∨ r)) ∧ ((q → s) ∧ (q ∧ p)) が真になるのは何行ですか? この数を N とします。

((p ∧ r) ∨ (s ∨ r)) ∧ ((q → s) ∧ (q ∧ p))
N =
5.デジタル論理:ゲート・カルノー図・フリップフロップふつう
ABCD000111100001111000011302040507160121131150140809011010

カルノー図を使って F(A, B, C, D) = Σm(3, 6, 13, 15) の最小の和積形(POS)を求めてください。和項(因数)N はいくつありますか?

F(A, B, C, D) = Σm(3, 6, 13, 15)
N =
6.デジタル論理:ゲート・カルノー図・フリップフロップむずかしい
CLKT123456

正エッジトリガの T フリップフロップが Q = 0 から始まり、図の入力を受け取ります。Q が 1 から 0 に戻る最初のクロックエッジをクリックしてください。

Q₀ = 0T
  1. 1クロックエッジ 1
  2. 2クロックエッジ 2
  3. 3クロックエッジ 3
  4. 4クロックエッジ 4
  5. 5クロックエッジ 5
  6. 6クロックエッジ 6
7.整数論と合同式ふつう

79 を法とする 69 の逆元を求めてください:0 < x < 79 かつ 69·x ≡ 1 (mod 79) を満たす数 x です。

a = 69n = 79
69−1 mod 79 =
8.整数論と合同式むずかしい
80c = me​ mod n?m = cd​ mod nm(n, e) = (779, 17)d

メッセージ m = 80 を RSA 公開鍵 (n, e) = (779, 17) で暗号化してください。暗号文 c を求めてください。

n = 779e = 17m = 80
c =
9.アルゴリズムと計算量ふつう

貪欲法(greedy algorithm)の説明として正しいものはどれですか?

  1. A可能なすべての解を試す
  2. B常に最適解を与える
  3. C再帰のみを使用する
  4. D各ステップで局所的に最良の選択をする
10.アルゴリズムと計算量むずかしい

little-o 記法について正しい記述はどれですか?

  1. Aどの関数も自分自身の little-o なので、n = o(n)
  2. B2n はゆっくり増加するので、2n = o(n)
  3. Cn² = o(n)
  4. Dn = o(n²) だが、n は o(n) ではない
11.データ構造ふつう

循環バッファ(リングバッファ)は一般的に何を実装するために使われますか。

  1. Aハッシュ関数
  2. Bグラフ探索
  3. C二分探索木
  4. D固定サイズのキュー
12.データ構造むずかしい

配列の各要素について、その右側にある次に大きい要素を、合計 O(n) 時間で求めたいとします。役立つ構造はどれですか。

  1. A要素のすべての組を保持するキュー
  2. B答えを待っている要素を保持するスタック
  3. Cすべての要素のハッシュテーブル
  4. D要素ごとに作り直す二分探索木
13.グラフ理論ふつう

連結グラフに 8 個の頂点と 14 本の辺があります。全域木にするには、辺を何本k取り除く必要がありますか?

|V| = 8|E| = 14
k =
14.グラフ理論むずかしい
ABCDEF

B を始点かつ終点とする、長さ 3 の閉じた歩道はいくつありますか? 歩道では頂点や辺を繰り返してもかまいません。その数を N とします。

M = 隣接行列L = 3
N =
15.データベースと SQLふつう

GRANT SELECT ON employees TO alice は何をしますか?

  1. Aユーザー alice が employees テーブルを読めるようにする
  2. Balice が employees テーブルの行を更新および削除できるようにする
  3. Calice をデータベースの所有者にする
  4. Demployees テーブルを alice にコピーする
16.データベースと SQLむずかしい

テーブル enrolment(student_id, course_id, student_name, grade) のキーは (student_id, course_id) です。どの正規形に違反していますか?

  1. Agrade 列が原子的な値を持たないので、第 1 正規形
  2. Bgrade が student_name に従属するので、第 3 正規形だけ
  3. Cどれにも違反していない。BCNF である
  4. Dstudent_name が student_id だけに従属するので、第 2 正規形
17.コンピュータネットワークふつう

ブラウザーが HTTP ステータスコード 404 を受け取りました。これはどういう意味ですか?

  1. Aクライアントはまずログインしなければならない
  2. Bサーバーで内部エラーが起きた
  3. C要求されたリソースが見つからなかった
  4. D要求は成功した
18.コンピュータネットワークむずかしい

シャノンの定理によれば、信号対雑音比が 255 の 1 MHz のチャネルの通信容量はいくつですか?

  1. A2 Mbit/s
  2. B1 Mbit/s
  3. C255 Mbit/s
  4. D8 Mbit/s
19.IPv4 サブネット化ふつう
/?11111111111111111111110000000000ネットワーク部ホスト部

ある部署では、1 つのサブネット内に 951 個のホストアドレスが必要です。十分な大きさとなる最長のプレフィックス長 p(最小のサブネット)はいくつですか?

951 hosts
p =
20.IPv4 サブネット化むずかしい

ネットワーク 192.168.230.0/24 を、次の LAN 用に VLSM で分割します:A: 20 ホスト, B: 56 ホスト, C: 12 ホスト, D: 47 ホスト。サブネットは .0 から順に、ホスト数が最も多い LAN から、収まる最小のサブネットで割り当てます。LAN A のネットワークアドレスの第 4 オクテット x はいくつですか?

A: 20B: 56C: 12D: 47
x =

3溶液

1.記数法

答え: U = 142

ビットの設定:各ビットは 2 のべき乗(128、64、…、1)の値をもちます。16 進の 1 桁はちょうど 4 ビットで、8 ビットの 2 の補数では、いちばん左のビットの値は −128 です。ビット演算は、各ビット位置を別々に扱います。

反転して 1 を足す

114 = 0111 0010
反転後: 1000 1101
+1 → 1000 1110

符号なしとして読む

1000 1110₂ = 256 − 114 = 142

答え

U = 142
2.記数法

答え: R = 251

ビットの設定:各ビットは 2 のべき乗(128、64、…、1)の値をもちます。16 進の 1 桁はちょうど 4 ビットで、8 ビットの 2 の補数では、いちばん左のビットの値は −128 です。ビット演算は、各ビット位置を別々に扱います。

ビットごとに

OR は、少なくとも一方のビットが 1 のところで 1 になります。

1111 0011
OR 1011 1000
= 1111 1011

結果の値

1111 1011₂ = 251

答え

R = 251
3.命題論理と証明

答え: q ↔ ¬r

論理的同値:2 つの論理式は、真理値表のすべての行で同じ値をとるとき同値(≡)です。恒真式(トートロジー)はすべての行で 1、矛盾(恒偽式)はすべての行で 0、どちらでもないものは充足可能な非恒真式です。役に立つ法則:ド・モルガンの法則 ¬(a ∧ b) ≡ ¬a ∨ ¬b と ¬(a ∨ b) ≡ ¬a ∧ ¬b、a → b ≡ ¬a ∨ b ≡ ¬b → ¬a(対偶)、¬(a → b) ≡ a ∧ ¬b、そして分配法則 a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c)。

法則

¬(a ↔ b) は、a と b が異なるときちょうど 1 になり、a ↔ ¬b と同じです。
¬(q ↔ r) ≡ q ↔ ¬r

真理値表で確かめる

q = 1, r = 1: 0 | 0 1 0 0
q = 1, r = 0: 1 | 1 0 1 1
q = 0, r = 1: 1 | 1 0 1 0
q = 0, r = 0: 0 | 1 1 0 0

答え

q ↔ ¬r

縦線の後ろの列は、表示されている順の選択肢です。

4.命題論理と証明

答え: N = 2

真理値表:n 個の異なる変数をもつ論理式には、真理値のすべての組み合わせに対応する 2ⁿ 行があります(1 = 真、0 = 偽)。内側から順に進め、部分式ごとに列を用意します。¬a は値を反転させ、a ∧ b は両方が 1 のときだけ 1、a ∨ b は両方が 0 のときだけ 0、a → b は a = 1 かつ b = 0 のときだけ 0、a ↔ b は両辺が等しいとき 1 です。

列

p ∧ r; s ∨ r; (p ∧ r) ∨ (s ∨ r); q → s; q ∧ p; (q → s) ∧ (q ∧ p); ((p ∧ r) ∨ (s ∨ r)) ∧ ((q → s) ∧ (q ∧ p))

p で分ける

p = 1: 2
p = 0: 0
N = 2 + 0 = 2

答え

N = 2
5.デジタル論理:ゲート・カルノー図・フリップフロップ

答え: N = 5

カルノー図:セルはグレイコード(00, 01, 11, 10)の順に並んでいるので、端をまたぐものも含め、隣り合うセルはちょうど 1 つの変数だけが異なります。1 を、1, 2, 4, 8, 16 個のセルからなる長方形で、できるだけ大きく、できるだけ少ない数でグループ化し、すべての 1 を覆います。各グループは 1 つの積項で、グループの中で一定のままの変数からなります。2ᵏ 個のセルのグループでは k 個の変数が消えます。ドントケア(X)はグループを大きくするために使えますが、覆う必要はありません。代わりに 0 をグループ化すると、最小の POS 形が得られます。

ABCD000111100001111000011302040507160121131150140809011010

0 をグループ化する

各グループは 2ᵏ 個のセルからなる長方形です。端のセルは、反対側の端のセルと隣り合っています。

(B + D)
(A′ + D)
(A + C)
(A′ + B)
(A + B′ + D′)

最小の POS 形

F = (B + D)(A′ + D)(A + C)(A′ + B)(A + B′ + D′)
N = 5

答え

N = 5
6.デジタル論理:ゲート・カルノー図・フリップフロップ

答え: クロックエッジ 4

フリップフロップとカウンタ:フリップフロップは、有効なクロックエッジでだけ変化します。D は入力をコピーし(Q⁺ = D)、T は T = 1 のときトグルし、JK は 00 で保持、01 でリセット、10 でセット、11 でトグルします。n ビットの 2 進カウンタには 2ⁿ 個の状態があり、2ⁿ を法として数えます。mod-N カウンタは 0, 1, …, N − 1 と数えて 0 に戻り、2ⁿ ≥ N を満たす最小の n 個のフリップフロップが必要です。リップルカウンタの各段は周波数を半分にするので、mod-N カウンタの最後の出力は fclk/N で動作します。n 個のフリップフロップのジョンソンカウンタには 2n 個の状態があり、リングカウンタには n 個あります。

エッジごとの Q

T フリップフロップは、T = 1 の立ち上がりエッジごとにトグルし、T = 0 では保持します。

1: T = 0 → Q = 0
2: T = 0 → Q = 0
3: T = 1 → Q = 1
4: T = 1 → Q = 0
5: T = 1 → Q = 1
6: T = 1 → Q = 0

1 から 0 への最初の変化

クロックエッジ 4

答え

クロックエッジ 4
7.整数論と合同式

答え: 69−1 mod 79 = 71

逆元と合同式:a が n を法として逆元をもつのは、gcd(a, n) = 1 のときに限ります。拡張ユークリッドの互除法で 1 = s·n + t·a と書くと、a⁻¹ ≡ t (mod n) です。gcd(a, n) = 1 のとき、合同式 a·x ≡ b (mod n) の解は x ≡ a⁻¹·b です。法が互いに素な 2 つの合同式 x ≡ r₁ (mod m₁) と x ≡ r₂ (mod m₂) には、m₁·m₂ を法として 1 つの解があります(中国の剰余定理)。オイラーの φ(n) は、1 から n までの数のうち n と互いに素なものの個数です:φ(n) = n·∏(1 − 1/p)。

拡張ユークリッドの互除法

各余り r は r ≡ t·69 (mod 79) と書けます。

r = 79, t = 0
r = 69, q = 1, t = 1
r = 10, q = 6, t = −1
r = 9, q = 1, t = 7
r = 1, q = 9, t = −8

逆行列

1 ≡ −8·69 (mod 79)
x = 71
確認: 69·71 = 4899 = 62·79 + 1

答え

69−1 mod 79 = 71
8.整数論と合同式

答え: c = 5

冪剰余と RSA:aᵏ mod n は反復二乗法で計算します:k を 2 進数で書き、二乗し、毎回簡約し、ビットが 1 の冪を掛けます。フェルマー:素数 p が a を割り切らないとき aᵖ⁻¹ ≡ 1 (mod p) なので、指数は p − 1 を法として簡約できます。RSA:素数 p と q を選び、n = p·q、φ(n) = (p − 1)(q − 1) とします。公開指数 e は φ(n) と互いに素で、秘密指数は d = e⁻¹ mod φ(n) です。暗号化は c = mᵉ mod n、復号は m = cᵈ mod n で行います。

反復二乗法

17 = 16 + 1
801 ≡ 80 (mod 779)
802 ≡ 168 (mod 779)
804 ≡ 180 (mod 779)
808 ≡ 461 (mod 779)
8016 ≡ 633 (mod 779)
8017 ≡ 80·633 ≡ 5 (mod 779)

暗号文

c = 5

答え

c = 5
9.アルゴリズムと計算量

答え: D · 各ステップで局所的に最良の選択をする

これが答えになる理由

貪欲法は高速で、一部の問題(例:Dijkstra、Huffman 符号化)では最適ですが、一般にはそうではありません(例:ある硬貨体系での両替問題)。

答え

D · 各ステップで局所的に最良の選択をする
10.アルゴリズムと計算量

答え: D · n = o(n²) だが、n は o(n) ではない

これが答えになる理由

f = o(g) は f(n) / g(n) が 0 に近づくことを意味します。n / n² は 0 に近づきますが、n / n = 1 は近づきません。

答え

D · n = o(n²) だが、n は o(n) ではない
11.データ構造

答え: D · 固定サイズのキュー

これが答えになる理由

リングバッファは回り込む head と tail のインデックスを使い、固定メモリで O(1) の enqueue と dequeue を実現します。

答え

D · 固定サイズのキュー
12.データ構造

答え: B · 答えを待っている要素を保持するスタック

これが答えになる理由

左から右へ走査し、スタック内の現在の要素より小さい要素をすべて pop し(現在の要素がそれらの答えになる)、それから現在の要素を push します。各要素は高々 2 回しか移動しません。

答え

B · 答えを待っている要素を保持するスタック
13.グラフ理論

答え: k = 7

オイラー、ハミルトン、木:連結グラフは、すべての頂点の次数が偶数のときオイラー閉路(すべての辺を 1 回ずつ通って始点に戻る)をもち、ちょうど 2 つの頂点の次数が奇数のとき、閉路でないオイラー路をもちます。その路は、一方の奇数次数の頂点から他方へ通ります。ハミルトン閉路はすべての頂点を 1 回ずつ訪れ、Kn には (n − 1)!/2 個あります。n 個の頂点をもつ木には n − 1 本の辺があり、m 本の辺をもつ連結グラフは、m − n + 1 本の辺を取り除いても全域木が残ります。

全域木の辺

8 − 1 = 7

取り除く辺

k = 14 − 7 = 7

答え

k = 7
14.グラフ理論

答え: N = 6

次数:頂点の次数は、その頂点に接する辺の数です。どの辺にも端が 2 つあるので、次数の和は辺の数の 2 倍になります:Σ deg(v) = 2|E|(握手補題)。したがって、奇数次数の頂点の数は偶数です。Kn には n(n − 1)/2 本の辺があり、n 個の頂点をもつ k 正則グラフには nk/2 本、n 個の頂点をもつ木には n − 1 本の辺があります。

隣接行列

A: 0 1 1 0 0 0
B: 1 0 1 1 1 0
C: 1 1 0 0 1 0
D: 0 1 0 0 1 1
E: 0 1 1 1 0 0
F: 0 0 0 1 0 0

もう 1 歩

(M³)BB = 1·1 + 4·0 + 2·1 + 1·1 + 2·1 + 1·0 = 6

答え

N = 6
15.データベースと SQL

答え: A · ユーザー alice が employees テーブルを読めるようにする

これが答えになる理由

GRANT はオブジェクトに対する権限を与えます。SELECT は読み取りだけを許し、INSERT、UPDATE、DELETE は別の権限です。

答え

A · ユーザー alice が employees テーブルを読めるようにする
16.データベースと SQL

答え: D · student_name が student_id だけに従属するので、第 2 正規形

これが答えになる理由

student_name はキーの一部だけに従属しており、これは部分関数従属です。それを students テーブルに移せば 2NF 違反は解消します。

答え

D · student_name が student_id だけに従属するので、第 2 正規形
17.コンピュータネットワーク

答え: C · 要求されたリソースが見つからなかった

これが答えになる理由

404 Not Found は、サーバーにその URL のリソースがないことを意味します。200 は OK、401 は Unauthorized、500 は Internal Server Error です。

答え

C · 要求されたリソースが見つからなかった
18.コンピュータネットワーク

答え: D · 8 Mbit/s

これが答えになる理由

C = 10⁶ × log₂(256) = 10⁶ × 8 = 8 Mbit/s。これは雑音のあるチャネルで誤りなく送れるデータ速度の上限です。

答え

D · 8 Mbit/s
19.IPv4 サブネット化

答え: p = 22

IPv4 サブネット化:アドレスは 32 ビットです。プレフィックス /p は先頭の何ビットがネットワークを表すかを示し、残りの 32 − p ビットでホストを番号付けします。サブネットには 2³²⁻ᵖ 個のアドレスがありますが、最初(ネットワークアドレス)と最後(ブロードキャストアドレス)はホストに割り当てられないため、2³²⁻ᵖ − 2 台のホストが収まります。 例外:/31(ポイントツーポイントリンク、RFC 3021)は 2 つのアドレスを両方ともホストに使い、/32 は単一のアドレス(単一ホストまたはループバック)です。

必要なホストビット数

29 − 2 = 510 < 951
210 − 2 = 1022 ≥ 951 → h = 10

プレフィックス長

p = 32 − 10 = 22

答え

p = /22
20.IPv4 サブネット化

答え: x = 128

VLSM:各 LAN には 2ʰ − 2 ≥ ホスト数 となる最小のサブネット、つまりプレフィックス 32 − h を割り当てます。大きいサブネットから割り当てると、各ブロックは自身のサイズの倍数にそろうので、ネットワークアドレスはブロックサイズを足し合わせて求まります。

LAN ごとのブロックサイズ

B: 56 ホスト → 26 = 64 (/26)
D: 47 ホスト → 26 = 64 (/26)
A: 20 ホスト → 25 = 32 (/27)
C: 12 ホスト → 24 = 16 (/28)

割り当て(大きい順)

B: .0 – .63
D: .64 – .127
A: .128 – .159
C: .160 – .175

答え

x = 128

LAN A:192.168.230.128/27。

ExamProblems · examproblems.com/courses/computer-science-fundamentals