問題3.77 – SICP(計算機プログラムの構造と解釈)その167
問題3.77 被積分値を先に評価する force の部分はすぐにわかったのだけれど、 integral の再帰部分の第1引数を delay しなければいけないところがわからなかった。 solve 手続きは、本文に記載されているものは Gauche では動作しないので修正が必要となった。 参考 : SICP Exercise 3.77. – 理工系学生の演習日記 (define (int…続きを読む
問題3.77 被積分値を先に評価する force の部分はすぐにわかったのだけれど、 integral の再帰部分の第1引数を delay しなければいけないところがわからなかった。 solve 手続きは、本文に記載されているものは Gauche では動作しないので修正が必要となった。 参考 : SICP Exercise 3.77. – 理工系学生の演習日記 (define (int…続きを読む
問題3.76 (define (smooth st) (define (iter st lv) (let ((average (/ (+ (stream-car st) lv) 2.0))) (cons-stream average (iter (stream-cdr st) (stream-car st))))) (iter st (stream-car st))) (define zero-c…続きを読む
問題3.75 Louis の変更した手続きでは平滑化された値(avpt)を次の last-value として渡している。 さらに境界のチェックは平均値同士から算出しないとだめらしい。 したがって修正した make-zero-crossings 手続きは以下のようになる。 (define (make-zero-crossings input-stream last-value last-avpt) …続きを読む
問題3.74 ストリーム sense-data を三角関数を使って仮に表現する。 (define sense-data (stream-map (lambda (x) (sin x)) integers)) (stream-head sense-data 10) gosh> 0.8414709848078965 0.9092974268256817 0.1411200080598672 -0…続きを読む
MacVim KaoriYa 20090425 (splhack: MacVim KaoriYa 20090425)がリリースされたので MacPorts からインストールしてみた。 CursorIM が使えるようになって IME 状態によるカーソル色の変更ができるようになっていた。 しかし、 "vim で gauche の出力結果をスクラッチバッファに表示する" のキーマップ…続きを読む
問題3.73 図3.33の通りに手続き RC を定義したが、出力される結果がこれで正しいのかわからない… (define (integral integrand initial-value dt) (define int (cons-stream initial-value (add-streams (scale-stream integrand dt) int))) int) (de…続きを読む
問題3.72 weighted-pairs 等の必要な手続きは問題3.70のものを使う。 (define (add-square-pairs-weight pair) (let ((i (car pair)) (j (cadr pair))) (+ (square i) (square j)))) (define st (weighted-pairs integers integers add-s…続きを読む
問題3.71 weighted-pairs 等の必要な手続きは問題3.70のものを使う。 ;;;; Ramanujan 数を求める (define (add-cube-pairs-weight pair) (let ((i (car pair)) (j (cadr pair))) (+ (cube i) (cube j)))) (define st (weighted-pairs integers…続きを読む
問題3.70 (define (merge-weighted pairs1 pairs2 weight) (cond ((stream-null? (stream-car pairs1)) pairs2) ((stream-null? (stream-car pairs2)) pairs1) (else (let ((p1car (stream-car pairs1)) (p2car (strea…続きを読む
問題3.69 pairs を参考にして考える。 (define (triples s t u) (cons-stream (list (stream-car s) (stream-car t) (stream-car u)) (interleave (stream-map (lambda (x) (cons (stream-car s) x)) (pairs (stream-cdr t) (str…続きを読む