Last active
November 2, 2019 20:53
-
-
Save chelseatroy/64a9c665ff9b57baf68bd0c743389091 to your computer and use it in GitHub Desktop.
Data Represented as Procedures
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
; 2.2 Representing data with procedures | |
(define (make-point x y)(cons x y)) | |
(define (x-point point) (car point)) | |
(define (y-point point) (cdr point)) | |
(define a-point (make-point 0 0)) | |
(define b-point (make-point 2 2)) | |
(x-point a-point) | |
(y-point a-point) | |
(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 segment (make-segment a-point b-point)) | |
(define (mid-point segment) | |
(make-point (/ (+ (x-point (start-point segment)) (x-point (end-point segment))) 2) | |
(/ (+ (y-point (start-point segment)) (y-point (end-point segment))) 2))) | |
(mid-point segment) ;--> (1 . 1) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment