2008-08-27から1日間の記事一覧
(define (deriv exp var) (cond ((number? exp) 0) ((variable? exp) (if (same-variable? exp var) 1 0)) ((sum? exp) (make-sum (deriv (addend exp) var) (deriv (augend exp) var))) ((product? exp) (make-sum (make-product (multiplier exp) (deriv (…
(define (union-set set1 set2) (define (iter set1 set2 product) (cond ((null? set1) (append product set2)) ((null? set2) (append product set1)) (else (let ((x1 (car set1)) (x2 (car set2))) (cond ((= x1 x2) (iter (cdr set1) (cdr set2) (appen…
(define (element-of-set? x set) (cond ((null? set) #f) ((= x (car set)) #t) ((< x (car set)) #f) (else (element-of-set? x (cdr set))))) (define (intersection-set set1 set2) (if (or (null? set1) (null? set2)) '() (let ((x1 (car set1)) (x2 (…
(define (element-of-set? x set) (cond ((null? set) #f) ((equal? x (car set)) #t) (else (element-of-set? x (cdr set))))) (element-of-set? 4 '(1 2 3 2 3 1 5 4)) ;#t (element-of-set? 6 '(1 2 3 2 3 1 5 4)) ;#f (define adjoin-set cons) (adjoin-…
(define (element-of-set? x set) (cond ((null? set) #f) ((equal? x (car set)) #t) (else (element-of-set? x (cdr set))))) (define (adjoin-set x set) (if (element-of-set? x set) set (cons x set))) (define (intersection-set set1 set2) (cond ((…
;わかるまでに時間がかかりそうなのでひとまず飛ばす
;わかるまでに時間がかかりそうなのでひとまず飛ばす
(car ''abracadabra) (car (quote (quote abracadabra))) ;(quote (quoteなので、quoteは「そのものをあらわす」(つまり、評価しない)という意味があるので、quoteと表示された。
(define (equal? li1 li2) (cond ((and (null? li1) (null? li2)) #t) ((and (symbol? li1) (symbol? li2)) (eq? li1 li2)) ((and (pair? li1) (pair? li2)) (and (equal? (car li1) (car li2)) (equal? (cdr li1) (cdr li2)))) (else (eq? li1 li2)))) (equ…
(list 'a 'b 'c) ;(a b c) (list (list 'george)) ;((george)) (cdr '((x1 x2) (y1 y2))) ;((y1 y2)) (cadr '((x1 x2) (y1 y2))) ;((y1 y2)) (pair? (car '(a short list))) ;#f (memq 'red '((red shoes) (blue socks))) ;#f (memq 'red '(red shoes blue s…
(add-load-path ".") (load "2.49.scm") (define (corner-split2 painter n) (if (= n 0) painter (let ((right (right-split painter (- n 1))) ((up (rotate90 (right-split (rotate270 painter)))))) (let ((top-left (beside up up)) (bottom-right (bel…
(use gl) (use gl.glut) (define (make-vect x y) (cons x y)) (define (xcor-vect vect) (car vect)) (define (ycor-vect vect) (cdr vect)) (define (add-vect v1 v2) (make-vect (+ (xcor-vect v1) (xcor-vect v2)) (+ (ycor-vect v1) (ycor-vect v2)))) …
(define (make-segment x y) (cons x y)) (define (start-segment x) (car x)) (define (end-segment x) (cdr x))
(define (make-frame origin edge1 edge2) (list origin edge1 edge2)) (define (edge1-frame frame) (cadr frame)) (define (edge2-frame frame) (caddr frame)) (define (origin-frame frame) (car frame)) (define f1 (make-frame (cons 1 2) 1 2)) (edge…
この前のやつにスターとかつけてくれた人がいて申し訳ないんだけど、あれは、問題2.45までしか出来ない形だ。 そのあとに、ちゃんとSICPなりの作り方が書いてあった。 基本手続きの定義を作るのはちょっと早すぎた。 これ以降のほうが正しい。 (define (make…
うーむ 夏はいつもだらけるなー、どうしてだろう。 いつも上手くいかない。時間はあるはずなんだけど・・・。 そろそろ涼しくなってきたので、いい加減再起動しないと。