Chat (Lingr.com)
Informaiton
Daily
Column
- MySQL日本語の旅(5/1)
- アクセス向上秘伝(5/9)
- 一風変ったHaskellλ門(6/13)
- SICP Answer Book (5/31) 問題3.26追加
Zope Solution
Extra
アーカイブ
OSS案内所
Site Info
関連リンク
##(link2sicp "book-Z-H-14.html#%_thm_2.2" "Exercise 2.2")
解答例
(define (make-segment start end) (cons start end))
(define (start-segment p) (car p))
(define (end-segment p) (cdr p))
(define (make-point x y) (cons x y))
(define (x-point p) (car p))
(define (y-point p) (cdr p))
(define (midpoint-segment seg)
(let ((sp (start-segment seg))
(ep (end-segment seg)))
(make-point (/ (+ (x-point sp) (x-point ep)) 2)
(/ (+ (y-point sp) (y-point ep)) 2))))
実行例
gosh> (define p1 (make-point 1.0 0.0)) p1 gosh> (define p2 (make-point 0.0 1.0)) p2 gosh> (define seg1 (make-sebment p1 p2)) seg1 gosh> (define p3 (midpoint-segemt seg1)) p3 gosh> (print-point p3) (0.5,0.5)#<undef>
コード
##(sicp-answer-code "ex-2.2.scm")