Обобщенные операции в пакете арифметики рациональных чисел
Модифицируйте пакет арифметики рациональных чисел, заставив его пользоваться обобщенными операциями, но при этом измените
make-rat
, чтобы она не пыталась сокращать дроби. Проверьте систему, применив
make-rational
к двум многочленам, и получив рациональную функцию
(define p1 (make-polynomial 'x '((2 1)(0 1))))
(define p2 (make-polynomial 'x '((3 1)(0 1))))
(define rf (make-rational p2 p1))
Сложите теперь
rf
саму с собой, используя
add
. Вы увидите, что процедура сложения не приводит дроби к наименьшему знаменателю.
Комментарии отсутствуют.