文档章节

【SICP练习】41 练习1.46

NoMasp
 NoMasp
发布于 2015/09/08 21:45
字数 281
阅读 2
收藏 0


练习1.46

这道题要求我们写一个过程iterative-improve,其接受两个过程为参数,一个是判断检测是否足够好的good-enough?和另一个改进猜测的improve。其有一个猜测的数字作为参数,然后返回的是一个过程。

我们先来写出这个iterative-improve过程。

(define (iterative-improveclose-enough? improve)

   (lambda (first-guess)

       (define (try guess)

           (let ((next (improve guess)))

              (if (close-enough? guess next)

                 next

                 (try next))))

       (try first-guess)))

如果这道题不会的话就要再重新温习一下第一章了,其思路在于不断的抽象书中的fixed-point函数。

接下来就是重写sqrtfixed-point了。

(define (sqrt x)

    (define dx 0.00001)

     (define (close-enough? v1 v2)

         (< (abs (- v1 v2)) dx))

     (define (improve guess)

        (average guess (/ x guess)))

     (define (average x y)

         (/ (+ x y) 2))

     ((iterative-improve close-enough? improve)1.0))

(define (fixed-point ffirst-guess)

    (define tolerance 0.00001)

    (define (close-enough? v1 v2)

        (< (abs (- v1 v2)) tolerance))

     (define (improve guess)

        (f guess))

     ((iterative-improve close-enough? improve)first-guess))

其实现在已经深夜了,最后一题就比较简陋了。如果不会的话好好琢磨啦。

版权声明:本文为 NoMasp柯于旺 原创文章,未经许可严禁转载!欢迎访问我的博客:http://blog.csdn.net/nomasp

本文转载自:http://blog.csdn.net/nomasp/article/details/43867433

NoMasp
粉丝 7
博文 334
码字总数 0
作品 0
镇江
程序员
私信 提问
加载中

评论(0)

Beaglebone Black教程Beaglebone Black中的Cloud9 IDE基本使用

Beaglebone Black教程Beaglebone Black中的Cloud9 IDE基本使用 Beaglebone Black中的Cloud9 IDE基本使用 Cloud9是集成在Beaglebone Black系统的中IDE。它类似于OS X中的Xcode、Linux中的Ecl...

大学霸
2016/03/29
306
0
linux-python基本数据类型

一、变量 - 变量是内存中的一块区域。 - 变量的命名: 变量名由字母,数字,下划线组成。 整型 浮点型 • 1.2e10代表的数值为1.2的10次方; • 12e9代表的数值为12的9次方; 3.长整形 4.复数类型 ...

huanzi2017
2017/12/25
0
1
GIS和RS的期刊影响因子列表

GIS and Remote Sensing Journal List with Impact Factors The following list provides impact factors for relevant GIS and Remote Sensing scientific journals. 2013 Impact Factor , ......

geowangsh
2016/02/03
455
0
这个警告我想给他忽略可以么

/Users/apple/Desktop/ios练习/lianxi005/lianxi005/main.m:41:29: Using 'stringWithString:' with a literal is redundant 小弟不知道怎么能把它忽略掉 NSString *string_5 =[NSString st......

温柔的月光
2013/03/20
214
1
SeaweedFS 1.46 发布,分布式文件系统

SeaweedFS 是简单,高伸缩性的分布式文件系统,包含两部分:存储数十亿的文件;和快速为文件服务。1.46 版本更新内容如下: 特征 transparent cloud integration 的beta版 支持分层到 S3 文件...

白开水不加糖
2019/12/17
1.1K
0

没有更多内容

加载失败,请刷新页面

加载更多

springcloud微服务实战_01_基础知识

1.1 什么是微服务架构 微服务是系统架构上的一种设计风格, 它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于 HTTP 的 RESTful AP...

SP_K
34分钟前
60
0
数据结构与算法系列六(栈)

1.引子 1.1.为什么要学习数据结构与算法? 有人说,数据结构与算法,计算机网络,与操作系统都一样,脱离日常开发,除了面试这辈子可能都用不到呀! 有人说,我是做业务开发的,只要熟练API...

yhhitall
37分钟前
51
0
RHEL7多种方式配置ip地址

linux系统配置网络有多种方式,接下来我们介绍几种供大家工作使用 图形界面配置方法 点击桌面右上角有线连接处,选中配置ens33 在此输入ip地址,掩码,DNS,网关等 然后选中启动就ok了 如此网...

linuxprobe2020
38分钟前
85
0
pandas操作excel操作-04-数据填充

import pandas as pdfrom datetime import date, timedelta# skiprows 跳过前面的多少行# usecols 读取excel中选中的列# index_col 使用作为索引列的列名# dtype 根据列名,设置列的数...

烽焱10仴
42分钟前
68
0
ViewModel中的INotifyPropertyChanged与DependencyProperty

在Model-View-ViewModel体系结构WPF应用程序中实现ViewModel时,似乎有两个主要选择来使它可数据绑定。 我已经看到了将DependencyProperty用于View要绑定的属性的实现,并且我已经看到ViewM...

技术盛宴
46分钟前
71
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部