記数法
- 位取り
- 2 進数 2k、8 進数 8k、16 進数 16k
- 10 進数へ
- Σ dk·bk
- 10 進数から
- 基数で割り、余りを下から上へ読む
- 16 進数 ↔ 2 進数
- 16 進数 1 桁 = 4 ビット
- 2 の補数
- ビットを反転して 1 を足す
公式集、全トピックの解法の要点、20 問の演習問題。完全な解答は巻末にあります。
8 ビットの 2 の補数で −16 を格納するようにビットを設定します。符号なしの数として読むと、このパターンの値 U はいくつですか?
10 ビットに収まる最大の符号なし整数 N はいくつですか?
この論理式 (p ∨ (¬r → q)) → ((q ∧ ¬p) → r) は、真理値表の 8 行のうち何行で真になりますか? この数を N とします。
前提 r → q; q、結論 r の論証は妥当ではありません。反例となる真理値表の行をクリックしてください。
カルノー図を使って F(A, B, C) = Σm(1, 2, 5, 6) の最小の積和形(SOP)を求めてください。積項 N はいくつありますか?
mod-50 カウンタは 50 個の異なる状態を数え上げなければなりません。必要なフリップフロップの最小個数 n はいくつですか?
29x ≡ 3 (mod 43) を解いてください。0 < x < 43 を満たす解 x を答えてください。
28x ≡ 4 (mod 64) を解いてください。最小の正の解 x を答えてください。
活動選択問題で、重ならない活動の数を常に最大にする貪欲な規則はどれですか?
次の充足可能性問題のうち、多項式時間で解けることが知られているのはどれですか?
実行中のプログラムが、有効な関数呼び出しとそのローカル変数を管理するために使うデータ構造はどれですか。
データベースやファイルシステムで B 木が使われるのはなぜですか。
この連結グラフには、オイラー閉路、閉路でないオイラー路、またはどちらもないのうち、どれがありますか? 答えをクリックしてください。
ダイクストラ法を使って、重み付きグラフで A から F までの最短経路の長さd(F)を求めてください。
テーブルにクラスタ化インデックスが 1 つしか持てないのはなぜですか?
クエリに対するカバリングインデックスとは何ですか?
クライアントが DHCP からアドレスを取得するときの通常のメッセージの順序はどれですか?
端末 A と C はどちらもアクセスポイント B に届きますが、互いの信号は聞こえないため、B でフレームが衝突します。802.11 はどのように対処しますか?
ネットワーク 192.168.10.0/24 を、少なくとも 20 個の同じ大きさのサブネットに分けます。借りるビットをできるだけ少なくすると、各サブネットで使えるホスト数 H はいくつですか?
あるホストのアドレスは 10.20.188.250/29 です。そのサブネットで最後に使えるホストアドレスの第 4 オクテット x はいくつですか?
答え: U = 240
ビットの設定:各ビットは 2 のべき乗(128、64、…、1)の値をもちます。16 進の 1 桁はちょうど 4 ビットで、8 ビットの 2 の補数では、いちばん左のビットの値は −128 です。ビット演算は、各ビット位置を別々に扱います。
答え: N = 1023
位取り記数法:各桁の値は、その数字に基数のべき乗を掛けたものです。2 進数では各桁の重みが 1、2、4、8、16、…、16 進数では 1、16、256、… で、A–F は 10–15 を表します。8 ビットの 2 の補数では、最上位ビットの重みが +128 ではなく −128 になり、こうして負の数を表します。
答え: N = 7
真理値表:n 個の異なる変数をもつ論理式には、真理値のすべての組み合わせに対応する 2ⁿ 行があります(1 = 真、0 = 偽)。内側から順に進め、部分式ごとに列を用意します。¬a は値を反転させ、a ∧ b は両方が 1 のときだけ 1、a ∨ b は両方が 0 のときだけ 0、a → b は a = 1 かつ b = 0 のときだけ 0、a ↔ b は両辺が等しいとき 1 です。
答え: q = 1, r = 0
量化子と論証:¬∀x P(x) ≡ ∃x ¬P(x)、¬∃x P(x) ≡ ∀x ¬P(x)。否定を内側へ移し、通過する量化子をすべて入れ替え、内側の式は ¬(a → b) ≡ a ∧ ¬b のような命題論理の法則で否定します。論証は、すべての前提が 1 であるどの行でも結論が 1 のとき、妥当です。前提が真で結論が偽になる行が 1 つでもあれば、それは反例であり、その論証が妥当でないことを示します。
この形の論証は妥当な規則のように見えますが、1 行あれば妥当でないことを示せます。
答え: N = 2
カルノー図:セルはグレイコード(00, 01, 11, 10)の順に並んでいるので、端をまたぐものも含め、隣り合うセルはちょうど 1 つの変数だけが異なります。1 を、1, 2, 4, 8, 16 個のセルからなる長方形で、できるだけ大きく、できるだけ少ない数でグループ化し、すべての 1 を覆います。各グループは 1 つの積項で、グループの中で一定のままの変数からなります。2ᵏ 個のセルのグループでは k 個の変数が消えます。ドントケア(X)はグループを大きくするために使えますが、覆う必要はありません。代わりに 0 をグループ化すると、最小の POS 形が得られます。
各グループは 2ᵏ 個のセルからなる長方形です。端のセルは、反対側の端のセルと隣り合っています。
答え: n = 6
フリップフロップとカウンタ:フリップフロップは、有効なクロックエッジでだけ変化します。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 個あります。
答え: x = 9
逆元と合同式: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)。
答え: x = 7
逆元と合同式: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)。
答え: C · 最も早く終わる活動を選び、両立する活動で繰り返す
最も早い終了時刻を選ぶことは交換論法によって最適であると証明できます。他の規則には反例があります。
答え: C · 各節のリテラルが高々 2 個の 2-SAT
2-SAT は P に属します(強連結成分を用いて線形時間)。一方、3-SAT は NP 完全です。
答え: B · コールスタック
各呼び出しはスタックフレームを push し、各リターンはそれを pop します。そのため最も新しい呼び出しが最初に終了します。
答え: D · 分岐数が大きいため木が浅く保たれ、遅いディスク読み込みが減るから
B 木は 1 つのノードに多くのキーを格納するため高さが小さく、1 回の検索に必要なブロック読み込みが少なくて済みます。B+ 木はさらに範囲走査のために葉同士をつなぎます。
答え: オイラー閉路
オイラー、ハミルトン、木:連結グラフは、すべての頂点の次数が偶数のときオイラー閉路(すべての辺を 1 回ずつ通って始点に戻る)をもち、ちょうど 2 つの頂点の次数が奇数のとき、閉路でないオイラー路をもちます。その路は、一方の奇数次数の頂点から他方へ通ります。ハミルトン閉路はすべての頂点を 1 回ずつ訪れ、Kn には (n − 1)!/2 個あります。n 個の頂点をもつ木には n − 1 本の辺があり、m 本の辺をもつ連結グラフは、m − n + 1 本の辺を取り除いても全域木が残ります。
答え: d(F) = 24
最短経路と全域木:ダイクストラ法は毎ラウンド 1 つの頂点を確定します:暫定距離が最小の未確定の頂点です。その距離は最終となり、各隣接頂点 v は d(v) = min(d(v), d(u) + w(u, v)) と更新されます。クラスカル法は、辺を軽い順に取り、閉路をつくる辺を飛ばして最小全域木をつくります。プリム法は、始点から 1 本の木を成長させ、その木から出る最も軽い辺を常に加えます。n 個の頂点の全域木には n − 1 本の辺があります。
各行:確定した頂点、その最終距離、距離が改善される隣接頂点。
答え: D · 行は物理的に 1 つの順序でしか格納できないから
クラスタ化インデックスはテーブルのデータをそのキーで並べますが、データは 1 つの順序でしか保持できません。ほかのインデックスは非クラスタ化インデックスです。
答え: C · クエリに必要なすべての列を含み、テーブル自体を読まなくてよいインデックス
参照されるすべての列がインデックスにあれば、DBMS はインデックスオンリースキャンを行い、テーブルの行の取得を省略できるため、I/O が節約されます。
答え: D · Discover、Offer、Request、Acknowledge
クライアントが Discover をブロードキャストし、サーバーが Offer で応答し、クライアントが 1 つの提案を Request し、選ばれたサーバーが Acknowledge で確定します。
答え: D · 任意の RTS/CTS 交換:AP の CTS が近くのすべての端末に待つよう伝える
端末が Request to Send を送ると、AP が Clear to Send で応答します。その範囲内のすべての端末がこれを聞くため、隠れ端末は予約された時間の送信を控えます。
答え: H = 6
IPv4 サブネット化:アドレスは 32 ビットです。プレフィックス /p は先頭の何ビットがネットワークを表すかを示し、残りの 32 − p ビットでホストを番号付けします。サブネットには 2³²⁻ᵖ 個のアドレスがありますが、最初(ネットワークアドレス)と最後(ブロードキャストアドレス)はホストに割り当てられないため、2³²⁻ᵖ − 2 台のホストが収まります。 例外:/31(ポイントツーポイントリンク、RFC 3021)は 2 つのアドレスを両方ともホストに使い、/32 は単一のアドレス(単一ホストまたはループバック)です。
答え: x = 254
IPv4 サブネット化:アドレスは 32 ビットです。プレフィックス /p は先頭の何ビットがネットワークを表すかを示し、残りの 32 − p ビットでホストを番号付けします。サブネットには 2³²⁻ᵖ 個のアドレスがありますが、最初(ネットワークアドレス)と最後(ブロードキャストアドレス)はホストに割り当てられないため、2³²⁻ᵖ − 2 台のホストが収まります。 例外:/31(ポイントツーポイントリンク、RFC 3021)は 2 つのアドレスを両方ともホストに使い、/32 は単一のアドレス(単一ホストまたはループバック)です。
ExamProblems · examproblems.com/courses/computer-science-fundamentals