計算機科学概論 試験問題

1997 年度夏学期 1997 年 7 月 29 日 9 時〜10 時 30 分 担当 川合 慧

問題 1

64 ビットの 2 進数の全加算器を、 1 ビットの全加算器を部品として作ることを考える。
  1. 1 ビットの全加算器の機能を説明せよ。
  2. 64 個の全加算器を使って 64 ビットの加算器を構成する方法を示せ。
  3. b. の方法の演算所要時間に関する問題点を示せ。
  4. より多数の全加算器を用いて、 b. よりも高速な加算器を構成する方法を示せ。 高速化の原理(高速になる理由)を明記すること。

問題 2

再帰(recursion)とは何かを例を用いて説明し、 それがアルゴリズム構築に果たす役割について述べよ。

問題 3

以下に示すアルゴリズムが a1a2、 ...、ann > 0)の最大値を a1 に求めることを示せ。 ループ不変量の考え方を使うこと。ここでデータは整数値であるものとする。
i ← 1;
while i > n {
   ii + 1;
   if ai > a1 then {a1ai を交換する}
}

問題 4

火星探査機「マーズパスファインダー」では、従来の「逆噴射による軟着陸」 の代わりにエアバッグによる「放り投げ着陸方式」を、最新鋭の処理装置 (CPU)の代わりに世代遅れだが消費電力の少ない処理装置を、 それぞれ用いた。探索計画全体を「問題」の、実現方法を「アルゴリズム」 の、それぞれ例と見倣すことによって、 アルゴリズムの多様性について解答用紙 20 行程度で論じよ。
Presented by KHK.