Last active
March 6, 2017 16:29
-
-
Save LouiseBC/a27100b6807faed102686d73a1607287 to your computer and use it in GitHub Desktop.
SICP Ex 2.2: Make-segment
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(define (make-point x y)(cons x y)) | |
(define (x-point point)(car point)) | |
(define (y-point point)(cdr point)) | |
(define (make-segment pointa pointb)(cons pointa pointb)) | |
(define (start-segment segment)(car segment)) | |
(define (end-segment segment)(cdr segment)) | |
(define (midpoint-segment segment) | |
(make-point (/ (+ (x-point (start-segment segment)) | |
(x-point (end-segment segment))) 2) | |
(/ (+ (y-point (start-segment segment)) | |
(y-point (end-segment segment))) 2))) | |
;; Testing ;; | |
(define a (make-point 1 2)) | |
(define b (make-point 1 5)) | |
(define seg (make-segment a b)) | |
(display seg) | |
(newline) | |
(display (end-segment seg)) | |
(newline) | |
(display (midpoint-segment seg)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment