問題2.3 – SICP(計算機プログラムの構造と解釈)その27
問題2.3 長方形のデータ抽象(2点で定義) ; 始発点、終着点で長方形を定義 (define (make-rectangle start end) (cons start end)) ; 長方形の幅 (define (width rectangle) (let ((start (start-segment rectangle)) (end (end-segment rectangle))) (a…続きを読む
問題2.3 長方形のデータ抽象(2点で定義) ; 始発点、終着点で長方形を定義 (define (make-rectangle start end) (cons start end)) ; 長方形の幅 (define (width rectangle) (let ((start (start-segment rectangle)) (end (end-segment rectangle))) (a…続きを読む
2.1.2 抽象の壁 問題2.2 線のデータ抽象 (define (make-segment start end) (cons start end)) (define (start-segment segment) (car segment)) (define (end-segment segment) (cdr segment)) 点のデータ抽象 (define (make-point x y)…続きを読む
2.1.1 有理数の算術演算 cons(construct)、car(Contents of Address part of Register)、cdr(Contents of Decrement part of Register)によって対(pair)を作り有理数を表現する。 (define x (cons 1 2)) (car x) 1 (cdr x) 2 (define (add-rat x…続きを読む
問題1.46 (iterative-improve [予測値が十分であるかを調べる手続き] [予測値を改良する手続き]) (define (iterative-improve enough? improve) (lambda (guess) (define (iter guess) (if (enough? guess) guess (iter (improve guess)))) (iter g…続きを読む
問題1.45 (define (average-damp f) (lambda (x) (average x (f x)))) (define (compose f g) (lambda (x) (f (g x)))) (define (repeated f n) (if (= n 1) (lambda (x) (f x)) (compose f (repeated f (- n 1))))) (…続きを読む
問題1.42 (define (compose f g) (lambda (x) (f (g x)))) ((compose square inc) 6) gosh> 49 問題1.43 (define (repeated f n) (if (= n 1) (lambda (x) (f x)) (compose f (repeated f (- n 1))))) ((repeated squ…続きを読む
問題1.40 (define tolerance 0.00001) (define (fixed-point f first-guess) (define (close-enough? v1 v2) (< (abs (- v1 v2)) tolerance)) (define (try guess) (let ((next (f guess))) (if (close-enough? gue…続きを読む
住所録から市(区)毎の合計数を集計するRubyスクリプトのメモ。 csvファイルは、文字コードが utf-8 、改行コードが lf を想定している。 $KCODE = "UTF8" require "csv" areas = Hash.new total = 0 colnum = 4 CSV.open(ARGV[0], "r") {|ro…続きを読む
問題1.38 (define (cont-frac n d k) (define (iter i) (if (= i k) (/ (n i) (d i)) (/ (n i) (+ (d i) (iter (+ i 1)))))) (iter 1)) (define (iter-a-to-b f a b) (newline) (display a) (display " -> &qu…続きを読む
問題1.35 (define tolerance 0.00001) (define (fixed-point f first-guess) (define (close-enough? v1 v2) (< (abs (- v1 v2)) tolerance)) (define (try guess) (let ((next (f guess))) (if (close-enough? gue…続きを読む