Решение упражнения 2.2 из SICP
В этом упражнении нет каких-то подводных камней. Все достаточно прямолинейно и демонстрирует концепцию барьеров абстракций.
(define (make-segment start-point end-point) (cons start-point end-point))
(define (start-point segment) (car segment))
(define (end-point segment) (cdr segment))
(define (make-point x y) (cons x y))
(define (x-point point) (car point))
(define (y-point point) (cdr point))
(define (average a b) (/ (+ a b) 2.0))
(define (midpoint-segment segment) (make-point (average (x-point (start-point segment)) (x-point (end-point segment))) (average (y-point (start-point segment)) (y-point (end-point segment)))))
Вот и всё.
Write a comment