2009-03-24から1日間の記事一覧

今日の夕飯

ソーキのケチャップ煮 鶏肉とキノコのオリーブオイル炒め ハッシュドポテト

SICP問題1.5

(define (p) (p)) (define (test x y) (if (= x 0) 0 y)) (test 0 (p)) 作用的順序の評価系の場合 作用的順序の評価を使用している解釈系の場合、引数の評価を行ってから、その結果でパラメータを置き換えていく。 (test 0 (p))を実行した場合は (p) の評価…

SICP問題1.4

(define (a-plus-abs-b a b) ((if (> b 0) + -) a b)) if式の評価結果としてbが0より大きい場合は演算子+を、それ以外の場合は演算子-を返す。 この演算子を使用しa, bの演算を行うことによりaと「bの絶対値」の和を求める

SICP問題1.3

;; 必要な関数 (define (square x) (* x x)) (define (sum-of-square x y) (+ (square x) (square y))) ;; 比較は等号つけとかないと同じ数字を渡した時に無限ループになる (define (sum-of-large-two-numbers-square x y z) (cond ((and (>= x y) (>= y z))…

SICP問題1.2

(5 + 4 + (2 - (3 - (6 + 4 / 5)))) / (3 (6 - 2)(2 - 7))なので以下の感じ。 (/ (+ 5 4 (- 2 (- 3 (+ 6 (/ 4 5))))) (* 3 (- 6 2) (- 2 7)) ; => -37/150

SICP問題1.1

ということで早速問題を解いていく。 システムが返した値はコメントアウトされてる部分。 10 ; => 10 (+ 5 3 4) ; => 12 (- 9 1) ; => 8 (/ 6 2) ; => 3 (define a 3) ; => a (define b (+ a 1)) ; => b (+ a b (* a b)) ; => 19 (= a b) ; => #f (if (and (…