コンピュータサイエンスレポート解答(PDF形式)

コンピュータサイエンス レポート課題解答 2011 年 1 月 20 日 吉野太郎
コンピュータサイエンス レポート課題解答 2011 年 1 月 20 日 吉野太郎
2010 年 12 月 19 日付けのレポートの解答です。
1-1 4533(10 進数)を 2 進数に直せ。
→ 1000110110101
1-2 10101011 (2 進数)を 10 進数に直せ。
→171
1-3 授業で配った ASCII の文字コード表を見よ。アルファベット A に対応する文字コードを表す 2
進数と、記号*に対応する文字コードを表す 2 進数を足せ。
→01000001, 00101010
1-4 11001100(2 進数)から、10101(2 進数を引け)
→10110111
1-5 1-1 から 1-4 の計算結果を検算せよ。
→略
1-6 検算した結果、間違えた問題をもう一度解け。
→略
2-1 23.5M bit / sec の実行スピードがあるネットワークがある。CD-ROM 一枚いっぱいに入った
データをこのネットワークを利用して送る場合、何秒かかるかを計算せよ。
→解答例(100 の位があっていれば十分です)
CD-ROM (74 分)は 681984 k byte= 5455872 k bit の容量がある。それを 23.5M bit/sec =
23500 k byte/sec で割る。有効数字を 3 桁として、答え:232 秒。
3-1 1 つめから n 番目までの奇数の2乗を足しあわせるという計算を行うアルゴリズムをフロー
チャートにて表せ。(参考: 1 + 3^2 + 5^2 + …. + n^2)
→1 から n までを足す、授業で行ったフローチャートを以下のように変更する。
「S:=S+i」 の部分を、「S:= S+(2i-1)^2」 とする。
3-2 4 つのおもり(A,B,C,D とする)があるとする。4 つの重さは全て異なっているものとする。これら
のおもりから一番重いおもりを選ぶアルゴリズムをフローチャートにて表せ。
→図示しないが、流れを説明しておく(次ページから。続きはその後)
1
コンピュータサイエンス レポート課題解答 2011 年 1 月 20 日 吉野太郎
A と B を比較
A が重い
B と C を比較
B が重い(ABC +D)
D と A を比較
D が重い → DABC
A が重い(ABC+D) D と B を比較
D が重い→ ADBC
B が重い
D と C を比較
D が重い→ABDC
C が重い→ABCD
C が重い
A と C を比較
A が重い(ACB +D)
D と A を比較
D が重い→ DACB
A が重い
D と C を比較
D が重い→ADCB
C が重い
D と B を比較
D が重い→ACDB
B が重い→ACBD
C が重い(CAB +D)
D と C を比較
D が重い→ DCAB
C が重い
D と A を比較
D が重い→CDAB
A が重い
D と B を比較
D が重い→CADB
B が重い→CABD
B が重い
A と C を比較
A が重い(BAC +D)
D と B を比較
D が重い → DBAC
B が重い D と A を比較
D が重い→ BDAC
A が重い
D と C を比較
D が重い→BADC
C が重い→BACD
2
コンピュータサイエンス レポート課題解答 2011 年 1 月 20 日 吉野太郎
C が重い
B と C を比較
B が重い(BCA +D)
D と B を比較
D が重い→ DBCA
B が重い
D と C を比較
D が重い→BDCA
C が重い
D と A を比較
D が重い→BCDA
A が重い→BCAD
C が重い(CBA +D)
D と C を比較
D が重い→ DCBA
C が重い
D と B を比較
D が重い→CDBA
B が重い
D と A を比較
D が重い→CBDA
A が重い→CBAD
4-1 論理和、論理積、否定、のそれぞれの演算について、真理値表を作成せよ。
→略。授業のノートを見よ。
4-2 授業でプリントとともに説明を行った、ブール代数の公式の最後の 2 つが成り立つことを、真
理値表を作成して示せ。
→略。
4-3 1000 円札を入れて A のボタンを押すと 100 円玉が 10 個出て、B のボタンを押すと 500 円玉
が 2 個出て、A と B のボタンを同時に押すと 500 円玉が 1 つと 100 円玉が 5 つ出てくる両替機が
ある。この両替機の機能を持つ組み合わせ論理回路を作れ。組み合わせ論理回路を作成するた
めの 4 つのステップを一つ一つすすめること。
→ ステップ1:真理値表を書く。100 円玉 10 個がでることを C、500 円玉が 2 個出ることを D、500
円玉が 1 つと 100 円玉が 5 つ出てくることを E とする。C、D、E は論理変数である。1000 円札はボ
タンを押す前に入れてあるものとする。
A B C D E
0 0 0 0 0
0 1 0 1 0
1 0 1 0 0
1 1 0 0 1
3
コンピュータサイエンス レポート課題解答 2011 年 1 月 20 日 吉野太郎
ステップ2:
論理式に落とす。 C = A B , D= A B , E= A B となる。
ステップ3:不要
ステップ4:略
4-4 2 桁の 2 進数と 1 桁の 2 進数があるとする。この2つの数を掛けた結果を知りたい。そのような
かけ算を行うのと同等の機能を持つ組み合わせ論理回路を作成せよ。必要に応じて、授業で取り
上げた半加算回路は既知のものとして利用してよい。
→2 桁の 2 進数 AB に一桁の 2 進数 C を掛けるものとする。結果が DE に入るものとする。真理
値表を書く(敢えてCABの順としている)
C A B D E
0 0 0 0 0
0 0 1 0 0
0 1 0 0 0
0 1 1 0 0
1 0 0 0 0
1 0 1 0 1
1 1 0 1 0
1 1 1 1 1
 CAB=CA B
  B=CA
式に落とすと、 D=CA B
E=C 
A BCAB=C  
A A B=CB
論理回路での図示は略。
5 ムーアの法則が正しいとする。半導体の集積密度は、15 年後には現在の何倍になるか。

15

→ 2 1.5 =210=1024 倍
4