<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    scip 第一章最后7題的解答

    Posted on 2007-05-18 15:58 dennis 閱讀(772) 評論(0)  編輯  收藏 所屬分類: 計算機科學與基礎
        第一章兩天前就讀完了,因為工作上的事情拖到現在才來做最后這七道題,這些題目都是要求寫一個過程返回另一個過程作為結果。

    習題1.40,顯而易見,要求cubic過程返回的就是方程本身,照著定義來就行了:
    (define (cubic a b c)
      (lambda(x) (
    + (* x x x) (* a x x) (* b x) c)))

    習題1.41,注意到了題目已經說明了:以有一個參數的過程做參數,那就很簡單了:
    (define (double g) (lambda(x) (g (g x))))

    返回lambda構造的過程,參數過程應用兩次即可,那么
    > (((double (double double)) inc) 5)
    21

    習題1.42,組合應用:
    (define (composite f g)
      (lambda(x) (f (g x))))

    習題1.43,在1.42基礎上使用遞歸即可:
    (define (repeated f n)
      (
    if (= n 1)
          f
          (composite f (repeated f (
    - n 1)))))

    習題1.44,在1.43基礎上,首先定義smooth過程:
    (define (smooth f)
      (lambda(x) (
    / (+ (f (- x dx)) (f x) (f (+ x dx))) 3)))

    然后使用repeated過程產生n次平滑函數:
    (define (repeate-smooth n)
      (repeated smooth n))

    習題1.45,不是一下子能說清楚,經過測試可以知道n次方根搜索不動點,平均阻尼需要經過log2(n)(以2為底的對數)重復才會收斂,因此:
    (define (nth-root-test x n k)
      (fixed
    -point ((repeated average-damp k) (lambda (y) (/ x (fast-expt y (- n 1)))))
                   
    1.0))

    習題1.46,這題很有趣,產生過程的過程也是遞歸的,相當好玩,iterative-improve產生的過程需要遞歸調用自身,仍然使用iterative-improve產生:
    (define (iterative-improve good-enough improve-it)
      (lambda(guess) 
        (
    if (good-enough guess)
            guess
            ((iterative
    -improve good-enough improve-it) (improve-it guess)))))
    如果猜測結果足夠,返回猜測結果,如果沒有,遞歸調用lambda產生的這個過程應用于改進后的猜測值。
    重寫sqrt如下:

    (define (sqrtt x)
      (define (good
    -enough? guess)
          (
    < (abs (- (square guess) x)) 0.0001))
      (define (improve guess)
        (average guess (
    / x guess)))
      (iterative
    -improve good-enough? improve))
    注意,這里的sqrrt過程產生的是一個以初始猜測值為參數的過程,所有調用應該這樣:
    > ((sqrtt 41.0)
    2.000000000929222947

    下面的fixed-point過程也是如此。


    重寫fixed-point過程如下:
    (define (fixed-point f)
      (define tolerance 
    0.00001)
      (define (good
    -enough? guess)
        (
    < (abs (- guess (f guess))) tolerance))
      (define (improve guess) (f guess))
      (iterative
    -improve good-enough? improve))




    主站蜘蛛池模板: 色窝窝亚洲AV网在线观看| 国产亚洲一区二区三区在线观看| 久久久久久亚洲AV无码专区| 99视频免费在线观看| 日韩版码免费福利视频| 亚洲精品无码mv在线观看网站| 视频免费1区二区三区| 亚洲国产精品嫩草影院久久| 高潮毛片无遮挡高清免费视频| 日本人的色道www免费一区| 涩涩色中文综合亚洲| 天天看片天天爽_免费播放| 亚洲一卡2卡三卡4卡无卡下载| 97无码免费人妻超级碰碰夜夜 | 97人伦色伦成人免费视频| 亚洲一区中文字幕在线电影网| 欧洲乱码伦视频免费| 亚洲乱人伦中文字幕无码| 日本a级片免费看| 欧亚一级毛片免费看| 国产成人麻豆亚洲综合无码精品 | 亚洲中文字幕一二三四区苍井空| 无码中文在线二区免费| 亚洲高清乱码午夜电影网| 大胆亚洲人体视频| 91在线视频免费观看| 亚洲色偷偷偷网站色偷一区| 国语成本人片免费av无码| 亚洲AV日韩AV一区二区三曲| 亚洲国模精品一区| 久久免费精彩视频| 亚洲精品国产日韩| 亚洲国产婷婷综合在线精品 | 18pao国产成视频永久免费| 99亚洲精品高清一二区| 成人免费毛片观看| 国产无限免费观看黄网站| 亚洲色图视频在线观看| 午夜国产羞羞视频免费网站| 久久一区二区免费播放| 亚洲精品午夜久久久伊人|