| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- (define (make-rat n d) (cons n d))
- (define (numer x) (car x))
- (define (denom x) (cdr x))
- (define (print-rat x)
- (display (numer x))
- (display "/")
- (display (denom x))
- (newline))
- (define (add-rat x y)
- (make-rat (+ (* (numer x) (denom y))
- (* (numer y) (denom x)))
- (* (denom x) (denom y))))
- (define (sub-rat x y)
- (make-rat (- (* (numer x) (denom y))
- (* (numer y) (denom x)))
- (* (denom x) (denom y))))
- (define (mul-rat x y)
- (make-rat (* (numer x) (numer y))
- (* (denom x) (denom y))))
- (define (div-rat x y)
- (make-rat (* (numer x) (denom y))
- (* (denom x) (numer y))))
- (define (equal-rat? x y)
- (= (* (numer x) (denom y))
- (* (numer y) (denom x))))
- (define one-half (make-rat 1 2))
- (define one-third (make-rat 1 3))
- (define t1 (print-rat one-half))
- (define t2 (print-rat (add-rat one-half one-third)))
- (define t3 (print-rat (mul-rat one-half one-third)))
- (define t4 (print-rat (add-rat one-third one-third)))
|