首页 > 其他分享 >sicp每日一题[2.10]

sicp每日一题[2.10]

时间:2024-09-16 23:12:41浏览次数:11  
标签:make interval sicp bound div 2.10 每日 define

Exercise 2.10

Ben Bitdiddle, an expert systems programmer, looks over Alyssa’s shoulder and comments that it is not clear what it means to divide by an interval that spans zero. Modify Alyssa's code to check for this condition and to signal an error if it occurs.


居然把第2.10题漏了,刚才准备发2.12才发现。。
这道题目也很简单,只要加一个区间内是否包含0的判断就行了

(define (div-interval x y)
  (if (and (<= (lower-bound y) 0) (>= (upper-bound x) 0))
      (error "被除区间包含0!")
      (mul-interval
       x
       (make-interval (/ 1.0 (upper-bound y))
                      (/ 1.0 (lower-bound y))))))


(define r1 (make-interval 6.12 7.48))
(define r2 (make-interval 4.465 4.935))
(display-interval (div-interval r1 r2))
(newline)

(define a (make-interval 6.12 7.48))
(define b (make-interval -4.465 4.935))
(display-interval (div-interval a b))

执行结果

标签:make,interval,sicp,bound,div,2.10,每日,define
From: https://www.cnblogs.com/think2times/p/18416738

相关文章

  • Java LeetCode每日一题
            1184.公交站间的距离    需求:        环形公交路线上有n个站,按次序从0到n-1进行编号。我们已知每一对相邻公交站之间的距离,distance[i]表示编号为i的车站和编号为(i+1)%n的车站之间的距离。        环线上的公交......
  • 每日总结
    9.16上午补了一下暑假姚子奇讲的题,让姚子奇给我调个题他都不带鸟我的。P4180[BJWC2010]严格次小生成树先用kruskal将最小生成树求出来,之后再枚举不在最小生成树的每条边,设每条边的端点为x,y,如果加入这条边,则会形成一个环,于是我们考虑用这条边替换x和y路径上的一条边,但是由于是......
  • SolidJS-每日小知识(9/15)
    知识介绍在视图缩放时,对SVG中的元素也进行缩放,使得text、circle等在放大后不会过于占据视野对mainSVG中的蓝点增加双击强调的效果对双击强调后的蓝点在lenSVG视图中,增加其他元素的半透明效果代码分析1在视图缩放时,对SVG中的元素也进行缩放,使得text、circle等在放大后不会......
  • Java知识及每日一题Day3
    Day32024年9月8日14:23:37再次跟上Java的补漏学习,重点关注细节知识点,强化重点。一、入门程序编码没有问题,顺便复习一下dos命令:创建文件夹并切换路径mkdirD:\JavaLearning\JavaLesson\DemocdD:\JavaLearning\JavaLesson\Demo创建文件并使用记事本打开(需要管理......
  • Day4_Java知识及每日一题:最长回文串
    Day42024年9月9日15:38:20一、java文件名和类名一致性问题首先明确,不是必须一致。若一个类是公共(public)的,则应该在一个同名的java文件中声明。反之default类型的类声明则可以成功通过编译,编译后的.class文件和所声明的类名一致。publicclassDemo01_HelloWorld{pu......
  • 发现一个超级赞的网站,每日更新热门AI产品
    发现了一个超级无敌赞的网站!可以看到每日热门产品榜单,大致一翻,看到好几个好玩的项目~简单介绍ProductHunt每日热榜是一个基于GitHubAction的自动化工具,它能够每天定时生成ProductHunt上的热门产品榜单Markdown文件,并自动提交到GitHub仓库中。该项目旨在帮助用户......
  • 每日OJ_牛客_点击消除(栈)
    目录牛客_点击消除(栈)解析代码牛客_点击消除(栈)点击消除_牛客题霸_牛客网描述:牛牛拿到了一个字符串。他每次“点击”,可以把字符串中相邻两个相同字母消除,例如,字符串"abbc"点击后可以生成"ac"。但相同而不相邻、不相同的相邻字母都是不可以被消除的。牛牛想把字符串变......
  • 739. 每日温度(leetcode)
    https://leetcode.cn/problems/daily-temperatures/description/经典单调栈,关键难点在于如何利用单调栈这个数据结构解题题意要求向右找到第一个比当前大的元素,若是暴力则是O(n^2),但是依据暴力的这个思想可以利用单调栈优化,因为求右边第一个比当前元素大的元素,等价于求当前......
  • py每日spider案例之网站视频接口
    importrequestscookies={'auth_id':'eyJpdiI6IlUzOEVzajFocW1ydGh4TGE0R00yaXc9PSIsInZhbHVlIjoidmw2UWF0cFJBMGF0TStBM0dBWVFNN09lMFpMV2xlMHdJSG1Ma1g4TUtSV0loKzJEY1psKzVML0ZjeVJUK1BTbk1obkFpYWNMUXdLSTJXWjdOK2lZSFluL3A4WmxkVDNoUElHbGx5UG9......
  • 【计算机网络 - 基础问题】每日 3 题(六)
    ✍个人博客:Pandaconda-CSDN博客......