SICP 习题 2.1 要求我们做一个可以正确处理正数和负数的make-rat过程,用于生成一个有理数。条件是分母必须是正数。
完成这道题本身比较简单,就是简单修改一下书中的make-rat过程就可以了。
书中原本的make-rat过程如下:
(define (make-rat n d)
(cons n d))
可以发现,原来的make-rat就是简单地将n和d组成一个序对,然后返回这个序对,并没有对分子和分母进行判断。
本文是关于SICP习题2.1的解题总结,讨论如何创建处理正负数的make-rat过程。重点在于理解数据抽象,特别是有理数的表示和序对的使用。通过修改make-rat确保分母为正,利用cons构造数据结构。文中解答了为何需要手动处理有理数以及为何使用cons的原因,强调在Scheme中,序对是基本数据结构,用于构建各种复杂的数据结构。同时,解释了car和cdr指令的用途和读音,突出了序对在数据组织中的重要性。
SICP 习题 2.1 要求我们做一个可以正确处理正数和负数的make-rat过程,用于生成一个有理数。条件是分母必须是正数。
完成这道题本身比较简单,就是简单修改一下书中的make-rat过程就可以了。
书中原本的make-rat过程如下:
(define (make-rat n d)
(cons n d))
可以发现,原来的make-rat就是简单地将n和d组成一个序对,然后返回这个序对,并没有对分子和分母进行判断。
2173
1880

被折叠的 条评论
为什么被折叠?