プログラム言語論 I・1999年 1月 26日
- III, IVは、もちろんこれだけが正解と言うわけではありません。
- VII, VIIIはグラフィックスデバイス(g)も、
関数の引数になっていることに注意。
- IXの moduloは割り算の余りを求める関数です。
10月 1日の曜日(つまり 10月 8日の曜日)を求めて、
月曜日まであと何日あるか計算しています。月曜日のコードは 1ですが、
引き算してマイナスになると少し気持悪いので 8(=1+7)から引いています。
しかし、(modulo (- 1 d) 7)でも構いません。
リスト処理
4.3 コッホ曲線 (プリント p.29)
リストを利用したグラフィックス関数の例です。
4.4 setcar!とsetcdr!(PowerPointプレゼンテーション)(プリント p.31)
リストに対する書換え操作の説明です。
ただし、Scheme(一般に Lisp)ではこのような書換え操作を使うことは、
一般的ではありません。(C言語などでは普通ですが。)
高階関数
5.3 フレームとぺインタ(プリント p.37)
高階関数を利用したグラフィックス関数の例です。
グラフィックス関数はすべて座標軸を引数にとります。
5.4 代表的な高階関数・エラトステネスのふるい
(プリント p.41)
代表的な素数を求めるアルゴリズムであるエラトステネスのふるいを
Schemeで実装しています。
Koji Kagawa
(kagawa@ec.?????)