练习 2.14 2.7 2.8 ~ 2.16 未完...

原创 2016年06月01日 14:18:19
#lang racket


;: 区间加法
(define (add-interval x y)
  (make-interval (+ (lower-bound x) (lower-bound y))
                 (+ (upper-bound x) (upper-bound y))))

;: 区间乘法
(define (mul-interval x y)
  (let (
        (p1 (* (lower-bound x) (lower-bound y)))
        (p2 (* (lower-bound x) (upper-bound y)))
        (p3 (* (upper-bound x) (lower-bound y)))
        (p4 (* (upper-bound x) (upper-bound y))))
    (make-interval (min p1 p2 p3 p4)
                   (max p1 p2 p3 p4))))
;: 区间除法
(define (div-interval x y)
  (mul-interval x
                (make-interval (/ 1.0 (upper-bound y))
                               (/ 1.0 (lower-bound y)))))

;: 练习  2.7
(define (make-interval a b) (cons a b))

;: 答安
(define (upper-bound x)
  (let ((a (car x))
        (b (cdr x)))
    (if (> a b)
        a
        b)))

(define (lower-bound x)
  (let ((a (car x))
        (b (cdr x)))
    (if (> a b)
        b
        a)))
;: 测试
(define x (make-interval 3 5))
(upper-bound x)
(lower-bound x)

;:练习2.8 两个区间的差
;: 差的最小值 =-?
;: 差的最大值 =-?
(define (sub-interval x y)
  (make-interval (- (lower-bound x) (lower-bound y))
                 (- (upper-bound x) (upper-bound y))))

;: 练习 2.9 区间的宽带 =上界下界之差的一半
;: 宽度
(define (width-interval x)
  (/ 2 ( + (upper-bound x)
           (lower-bound x))))

;: 对于+法
;(define (add-interval x y)
;  (make-interval (+ (lower-bound x) (lower-bound y))
;                 (+ (upper-bound x) (upper-bound y))))

(define a (make-interval '1 '2))
(define b (make-interval '3 '4))

;(add-interval a b) =>
;  (make-interval (+ (lower-bound a) (lower-bound b))
;                 (+ (upper-bound a) (upper-bound b))))
;=>(make-interval (+ '1 '3) (+ '2 '4))
;=> 宽度= (/ 2
;          (- (+ '2 4)
;             (+ '1 '3)))
;: '2 - '1 + '4 - '3 / 2                   => 
;: (('2 - '1) + ('4 - '3)) / 2             =>
;: (/ 2 (+ (- '2 '1)
;:         (- '4 '3)))                     =>  
版权声明:知行合一

Log4j 2.8.2官方简介

Apache Log4j 2 Apache Log4j 2 is an upgrade to Log4j that provides significant improvements ove...
  • Small_Mouse0
  • Small_Mouse0
  • 2017年05月04日 19:49
  • 1621

Python 基础爬虫简介(测试环境为 Python 2.7)

1、什么是爬虫?爬虫是一种自动访问互联网,并提取数据的一个程序。归根结底,所谓爬虫,不过是我们用Python语言编写的一个小程序而已。 针对的问题:有些网页需要我们登陆后才能访问,而有些网页则不需要。...
  • skylake_
  • skylake_
  • 2017年02月11日 21:56
  • 375

算法基础——2.7练习

例一: [java] view plaincopy /*通信编码  假设通信的物理设备只能表示1和0两种状态。  1和0状态都不能持续太久,否则...
  • fpf880821
  • fpf880821
  • 2014年04月29日 17:06
  • 321

C和指针#2.8编程练习

1.题目1: increment.c-->int increment(int) negate.c-->int negate(int) main.c-->void main()编辑好后,在li...
  • derkampf
  • derkampf
  • 2017年01月24日 22:55
  • 186

Gerrit2安装配置

origin: http://my.oschina.net/vdroid/blog/387126 Gerrit是用于Git版本控制系统的代码审核系统。 下载 当前最新版本的gerrit为2.8....
  • yazhouren
  • yazhouren
  • 2016年04月17日 23:47
  • 1564

《Android编程权威指南》第二章练习的挑战

挑战练习一:为TextView添加监听器   效果:单击应用的TextView文字区就可以跳转到下一道题。   步骤:根据Next按钮监听器的添加(34页的代码清单2-8和2-9),就可以了。...
  • u014252406
  • u014252406
  • 2014年08月24日 22:04
  • 2067

hadoop2.7.3集群搭建------>真正的分布式环境

一、集群股规划 主机名 IP 安装的软件 运行的进程 hadoop01    192.168.19.132      jdk、hadoop                  NameNode、DFSZ...
  • hongchenlingtian
  • hongchenlingtian
  • 2016年12月26日 14:01
  • 1462

Linux下安装配置Redis2.8

简单介绍redis的安装配置
  • a19881029
  • a19881029
  • 2017年03月17日 10:07
  • 871

数据结构与算法分析Java版练习2.8

package ch02; import java.util.Arrays; import java.util.Random; /** * 练习2.8 假设需要生成前N个整数的一个随机转换。例如...
  • zhangyingli
  • zhangyingli
  • 2015年09月09日 10:10
  • 728

跟我一起学习MySQL技术内幕(第五版):(第二章学习日记13)

2.14使用 fulltext搜索
  • CCyutaotao
  • CCyutaotao
  • 2016年05月02日 01:13
  • 370
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:练习 2.14 2.7 2.8 ~ 2.16 未完...
举报原因:
原因补充:

(最多只允许输入30个字)