| 目次 | 索引 |
|---|---|
次回(1月14日)の授業では試験を行います。 今日の演習問題を見直しておいてください。
レポートの提出に関するスケジュールは次の通りです。
この授業の成績は、レポートの提出と試験の得点で決まります。
成績に関して次のような事情のある人はメールで連絡してください。 できる限り対処します。
問 1. 次のうち、2 進数の演算 111 + 11 の結果を一つ選びなさい。
A. 1000
B. 1001
C. 1010
D. 1100
問 2. 次のうち、負の整数を 2 の補数で表現する利点として適切なものを一つ選びなさ
い。
A. 演算を行う際に、正の場合と負の場合に分ける必要がない。
B. 2 進数と 10 進数の間の変換を行う必要がない。
C. 同じビット長でも、はるかに多くの数が表現できる。
D. 1 ビットがエラーを起こすと、そのエラーが検出できる。
問 3. 次のうち、P と同値でない命題を一つ選びなさい。
A. P
B. P ∧ P (P AND P)
C. P ∨ P (P OR P)
D. ¬ P (NOT P)
問 4. 次のうち、1 バイト 01010101 の右側の 4 ビットを取り出すビット列演算として
適切なものを一つ選びなさい。
A. 01010101 & 11110000
B. 01010101 | 11110000
C. 01010101 & 00001111
D. 01010101 | 00001111
問 5. 次のうち、機械語のプログラムに関する説明として適切でないものを一つ選びな
さい。
A. プログラムは、命令の系列で構成される。
B. プログラムが実行されることは、命令が次々と解釈・実行されることである。
C. プログラムが実行されるとき、命令はメモリから取り出される。
D. プログラムは、メモリの中ではデータと区別がつく。
問 6. 次のうち、Java 仮想マシンで第 1 変数の値を第 2 変数に格納する方法として適
切なものを一つ選びなさい。
A. 第 1 変数の値をスタックにプッシュして、スタックからポップした値を第 2 変
数に格納する。
B. 第 2 変数の値をスタックにプッシュして、スタックからポップした値を第 1 変
数に格納する。
C. スタックからポップした値を第 1 変数に格納して、第 2 変数の値をスタックに
プッシュする。
D. スタックからポップした値を第 2 変数に格納して、第 1 変数の値をスタックに
プッシュする。
問 7. 次のうち、Java 仮想マシンの命令に関する説明として適切でないものを一つ選び
なさい。
A. 命令は、オペコードの後にオペランドが続くという形式を持つ。
B. 異なる命令が同じことを実行する場合がある。
C. 命令によっては、オペコードのないものがある。
D. 何もしないという命令が存在する。
問 8. 次のうち、Java 仮想マシンで 8 - 7 を計算する方法として適切なものを一つ選
びなさい。
A. 引き算の命令を実行し、8 をスタックにプッシュしてから、7 をスタックにプッ
シュする。
B. 引き算の命令を実行し、7 をスタックにプッシュしてから、8 をスタックにプッ
シュする。
C. 8 をスタックにプッシュし、7 をスタックにプッシュしてから、引き算の命令を
実行する。
D. 7 をスタックにプッシュし、8 をスタックにプッシュしてから、引き算の命令を
実行する。
問 9. 次のうち、コンパイラの説明として適切なものを一つ選びなさい。
A. 高級言語で書かれたソース・コードをコンパイルすると、機械語で書かれたオブ
ジェクト・コードが得られる。
B. 高級言語で書かれたオブジェクト・コードをコンパイルすると、機械語で書かれ
たソース・コードが得られる。
C. 機械語で書かれたソース・コードをコンパイルすると、高級言語で書かれたオブ
ジェクト・コードが得られる。
D. 機械語で書かれたオブジェクト・コードをコンパイルすると、高級言語で書かれ
たソース・コードが得られる。
問 10. 次のうち、文字の 0 個以上の並び <文字列> を表すバッカス・ナウア記法とし
て適切なものを一つ選びなさい。
A. <文字列> ::= <空列> | <文字> | <文字列>
B. <文字列> ::= <空列> | <文字><文字列>
C. <文字列> ::= <文字> | <文字列>
D. <文字列> ::= <文字><文字列>
問 11. 次のうち、逆ポーランド記法 x y z - - の読み方として適切なものを一つ選び
なさい。
A. x から、y から z を引いた結果を引く。
B. z から、y から x を引いた結果を引く。
C. x から y を引いて、z を引く。
D. z から y を引いて、x を引く。
問 12. 次のうち、Java 言語における式のコンパイルの概略として適切なものを一つ選
びなさい。
A. 式の変数や演算子を左から一つずつ命令に置き換える。
B. 式の変数や演算子を右から一つずつ命令に置き換える。
C. 式を逆ポーランド記法に変換し、その変数や演算子を左から一つずつ命令に置き
換える。
D. 式を逆ポーランド記法に変換し、その変数や演算子を右から一つずつ命令に置き
換える。
問 13. 次のうち、文字列のデータ圧縮に関する説明として適切でないものを一つ選びな
さい。
A. 文字列に現れる文字が 6 種類ならば、1 文字を 3 ビットで符号化できる。
B. ランレングス符号では、同じ文字が長く続くほど効率よく圧縮できる。
C. ハフマン符号では、よく現れる文字に短い符号を割り当てる。
D. 一度でもデータ圧縮を行うと、元の文字列に戻すことは不可能である。
問 14. 次のうち、一意的に復号化可能である符号を一つ選びなさい。
A. A を 0 に、B を 10 に、C を 01 に符号化する。
B. A を 0 に、B を 10 に、C を 11 に符号化する。
C. A を 0 に、B を 00 に、C を 01 に符号化する。
D. A を 0 に、B を 00 に、C を 11 に符号化する。
問 15. A 子と B 子が暗号化通信を行っているところに C 子が現れ、C 子が A 子とも
B 子とも暗号化通信を行いたいと言った場合、次のうち共通鍵方式における鍵の
生成と配送の方法として適切なものを一つ選びなさい。
A. A 子は、鍵を 2 つ生成し、それを一つづつ B 子と C 子に配送した。
B. A 子は、鍵を 1 つ生成し、それを B 子と C 子に配送した。
C. C 子は、鍵を 2 つ生成し、それを一つづつ A 子と B 子に配送した。
D. C 子は、鍵を 1 つ生成し、それを A 子と B 子に配送した。
問 16. RSA アルゴリズムによる暗号はなぜ解読困難か、次のうち適切なものを一つ選
びなさい。
A. 200 桁の数の因数分解は、何万年もの時間が掛かるから。
B. 100 桁の数のべき乗計算と剰余計算は、何万年もの時間が掛かるから。
C. 100 桁の数の公開鍵を用意するには、何万年もの時間が掛かるから。
D. 100 桁の数の秘密鍵を用意するには、何万年もの時間が掛かるから。
問 17. チューリング機械の直後の動作は何によって決定されるか、次のうち適切なもの
を一つ選びなさい。
A. 制御部の現在の状態と直前の状態
B. ヘッドの直前の移動方向とヘッドが読み取ったテープ記号
C. ヘッドの直前の移動方向とさらにその前の移動方向
D. 制御部の状態とヘッドが読み取ったテープ記号
問 18. 次のうち、チューリング機械の停止問題に関する説明として適切なものを一つ選
びなさい。
A. チューリング機械には解けない問題があることを具体的に示している。
B. チューリング機械には解ける問題があることを具体的に示している。
C. チューリング機械を停止させるための方法を具体的に示している。
D. チューリング機械を停止させないための方法を具体的に示している。
問 19. 次のうち、計算量に関する説明として適切でないものを一つ選びなさい。
A. あるアルゴリズムは、最悪計算量も平均計算量も O(n) である。
B. あるアルゴリズムは、最悪計算量も平均計算量も O(n^2) である。
C. あるアルゴリズムは、最悪計算量は O(n) であり、平均計算量は O(n^2) であ
る。
D. あるアルゴリズムは、最悪計算量は O(n^2) であり、平均計算量は O(n) であ
る。
問 20. 次のうち、入力のサイズが 2 倍になると、ほとんどの場合は計算時間が 1000
倍以上になるアルゴリズムの計算量として、適切なものを一つ選びなさい。
A. O(n)
B. O(2^n)
C. O(n^2)
D. O(n^3)
今日の演習12の答案をkonishi@twcu.ac.jpあてにメールで送ってください。 メールには、学生番号、氏名、科目名、授業日(12月17日)を明記してください。