(問 4.8.6の quuxのC言語バージョン)
int quux(int x, int y) { if (x==1) { return y; } else { return quux(x-1, (x+y)%65536); } }を再帰を使わず繰り返し(と代入文)を使う C言語の関数に書き換えよ。
(問 4.8.4) 整数 n を受取り、n の2進数表記をリストの形で求める関数 binaryを(Schemeまたは JavaScriptで)定義せよ。
(問 5.1.6) 数のリストを受けとり、 その最小値を求める関数 minimumを(Schemeまたは JavaScriptで)定義せよ。 例えば、(minimum '(1 2 3 4))は1、 (minimum '(10 2 -3 40 -55))は -55となる。 (なお引数が空リストの場合 (minimum '()) は考慮しなくて良い。)
さらに、余裕のある人はプリントの問 5.1.17まで(で授業中、 答あわせをしていないもの、かもしくは別解) をできるだけたくさん解いて下さい。
各問(問 2は除く)の答は必ず実行して、各問あたり 2つ以上の実行例もレポートに含めること。
問は数人で相談して解いても良いが、実行例は必ず各自で作成すること。 問の答と実行例がまったく同一のレポートは不正レポートと見なす。
作成したプログラムは、 \\stfile\Report\kagawa\ProgLang\Report1\ の下の「s学籍番号」というフォルダにオンライン提出する。 (どの問に対するプログラムか、すぐわかるようなファイル名にしておくこと。 ファイル名に使う文字は半角・英数字のみとする。) また、提出したファイルの Index(目録)を HTMLファイルとして作成し、 index.htmlという名前で同じフォルダに作成すること。 (Indexの例)