练习2.2-练习2.10

15 篇文章 0 订阅

1.练习2.2

(define (make-segment start end)
  (cons start end))

(define (start-segment seg)
  (car seg))

(define (end-segment seg)
  (cdr seg))

(define (make-point x y)
  (cons x y))

(define (x-point p)
  (car p))

(define (y-point p)
  (cdr p))

(define (midpoint-segment seg)
  (make-point (/ (+ (x-point (start-segment seg))
		    (x-point (end-segment seg))) 2)
	      (/ (+ (y-point (start-segment seg))
		    (y-point (end-segment seg))) 2)))
2.练习2.3

首次定义:

(define (make-rect start end)
  (cons start end))

(define (start-rect seg)
  (car seg))

(define (end-rect seg)
  (cdr seg))
(define (width rect)
  (abs (- (y-point (end-rect rect))
	  (y-point (start-rect rect)))))

(define (length rect)
  (abs (- (x-point (end-rect rect))
	  (x-point (start-rect rect)))))

(define (girth rect)
  (* (+ (width rect)
	(length rect))
     2))

(define (area rect)
  (* (width rect)
     (length rect)))
二次定义:

(define (make-rect start length width)
  (cons start
	(cons length width)))

(define (start-rect seg)
  (car seg))

(define (end-rect seg)
  (cons (+ (x-point (start-rect seg))
	   (car (cdr seg)))
	(+ (y-point (start-rect seg))
	   (cdr (cdr seg)))))

3.练习2.4

(define (cons x y)
  (lambda (m) (m x y)))

(define (car z)
  (z (lambda (p q) p)))

(define (cdr z)
  (z (lambda (p q) q)))

4.练习2.5

(define (cons a b)
  (* (pow 2 a)
     (pow 3 b)))

(define (car c)
  (define (iter n result)
    (if (not (= (remainder n 2) 0))
	result
	(iter (/ n 2) (+ result 1))))
  (iter c 0))

(define (cdr c)
  (define (iter n result)
    (if (not (= (remainder n 3) 0))
	result
	(iter (/ n 3) (+ result 1))))
  (iter c 0))

5.练习2.6

(define one
  (lambda (f) (lambda (x) (f x))))

(define two
  (lambda (f) (lambda (x) (f (f x)))))
(define (add a b)
  (lambda (f) (lambda (x) ((b f) ((a f) x)))))
6.练习2.7

(define (make-interval x y)
  (cons x y))

(define (upper-bound c)
  (cdr c))

(define (lower-bound c)
  (car c))
7.练习2.8

(define (sub-interval x y)
  (let ((a (- (lower-bound x) (lower-bound y)))
	(b (- (upper-bound x) (upper-bound y))))
    (make-interval (min a b)
		   (max a b))))
8.练习2.9

(define (width-interval a)
  (/ (- (upper-bound a)
	(lower-bound a))
     2))
9.练习2.10

(define (div-interval x y)
  (if (and (<= (lower-bound y) 0) (>= (upper-bound y) 0))
      (error "ERROR!!!")
      (mul-interval x
		       (make-interval (/ 1.0 (upper-bound y))
				      (/ 1.0 (lower-bound y))))))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: cppcheck-2.10-x64-setup.msi是Cppcheck静态代码分析工具的安装程序。Cppcheck是一个开源的跨平台C / C ++代码静态分析工具,用于检测代码中的错误和潜在问题。这个工具可以帮助开发人员在编码过程中找出可能导致程序错误或不良行为的问题,提高代码的质量和可靠性。 cppcheck-2.10-x64-setup.msi是为Windows 64位操作系统提供的版本。该安装程序将cppcheck工具及其依赖项自动安装到计算机上。安装过程简单,只需要按照向导提示完成安装步骤即可。 安装完成后,用户可以通过命令行或者集成开发环境(IDE)来使用Cppcheck进行代码分析。Cppcheck提供了大量的检查选项,可以根据具体需求进行配置。它可以检查代码中的常见错误,如内存泄漏、空指针解引用、未初始化的变量等。此外,Cppcheck还可以进行代码风格检查、性能分析和安全性检查等。 使用Cppcheck进行代码分析可以帮助开发人员及时发现并修复潜在问题,提高代码的可靠性和可维护性。它是一个非常有用的工具,特别适用于大型和复杂项目的开发过程中。 总之,cppcheck-2.10-x64-setup.msi是Cppcheck静态代码分析工具的安装程序,它可以帮助开发人员找出代码中的错误和潜在问题,提高代码的质量和可靠性。 ### 回答2: cppcheck-2.10-x64-setup.msi是一个用于安装Cppcheck静态代码分析工具的安装程序。Cppcheck是一个开源的C/C++代码检查工具,用于静态代码分析和检查源代码中的错误、潜在问题和代码质量问题。 Cppcheck使用AST(抽象语法树)来解析源代码,并应用各种规则来检查代码中的常见错误和问题,如内存泄漏、无效的指针、未使用的变量、空指针解引用等。它还可以检查代码的风格和可维护性,帮助开发人员遵循良好的编程实践。 通过安装cppcheck-2.10-x64-setup.msi,用户可以轻松地将Cppcheck集成到他们的开发环境中,并在开发过程中运行Cppcheck来检查他们的代码。该安装程序为64位操作系统提供支持,并提供了一个简单的安装向导,使安装过程变得简单快捷。 安装完成后,用户可以通过命令行或IDE插件使用Cppcheck。用户可以指定要分析的代码文件或者整个项目文件夹,并运行Cppcheck进行代码分析。Cppcheck会生成一个详细的报告,其中包含代码中发现的问题的列表和建议的修复方法。 通过使用cppcheck-2.10-x64-setup.msi安装Cppcheck,开发人员可以提高代码质量和可维护性,减少潜在的错误和问题,并帮助他们编写更高质量的C/C++代码。 ### 回答3: cppcheck-2.10-x64-setup.msi 是一个软件安装文件,用于安装Cppcheck 2.10版本的C / C ++代码静态分析工具。Cppcheck是C / C ++代码的静态分析器,可以帮助开发人员检测代码中的潜在错误和缺陷。 该安装文件是采用MSI(Microsoft Windows Installer)技术创建的,这是一种用于在Windows操作系统上安装软件的标准安装包格式。通过双击该.msi文件,用户可以方便地启动软件安装程序。 安装Cppcheck可以提供许多优点。首先,Cppcheck可以扫描源代码,并识别出潜在的编程错误,如内存泄漏、空指针解引用、不兼容的类型转换等。这有助于发现和纠正在程序运行时可能导致崩溃或漏洞的错误。 此外,Cppcheck还可以提供代码质量评估,包括代码风格和标准规范的检查。它可以帮助开发人员遵循良好的编码规范,提高代码的可读性、可维护性和可扩展性。 最后,Cppcheck还提供了一个易于使用的图形界面,使用户能够方便地导入和分析代码,并查看检测到的错误和建议的修复。这使得开发人员可以更快速地调试和优化他们的代码。 总而言之,cppcheck-2.10-x64-setup.msi 是Cppcheck 2.10版本的软件安装文件。通过安装Cppcheck,开发人员可以使用这个强大的工具来检测和改进他们的C / C ++代码,提高代码的质量和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_海阔天空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值