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

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

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

    莊周夢蝶

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

    sicp 習題1.30,1.29解答

    Posted on 2007-05-14 11:57 dennis 閱讀(708) 評論(0)  編輯  收藏 所屬分類: 計算機科學與基礎
        這節開始介紹將用高階函數做抽象的技術,比如將過程作為參數、返回值等等。習題1.30要求將書中的sum遞歸過程改造為迭代版本,解答如下:
    (define (sum-iter a term b next result)
      (
    if (> a b) 
          result
          (sum
    -iter (next a) term b next (+ result (term a)))))
    (define (sum term a 
    next b)
      (sum
    -iter a term b next 0))

    測試一下,比如求pi的過程:
    (define (sum-integers a b)
        (sum identity a inc b))

    (sum 1 10):
    =》 55

        再提下1.29的題目,使用辛普森規則計算定積分,一開始我沒有使用sum過程,自己寫了遞歸:
    (define (simpson f a b n)
     (define h (
    / (- b a) n))
     (define (simpson
    -term k)
         (cond ((or (
    = k n) (= k 0)) (f (+ a (* k h))))
               ((even
    ? k) (* 2 (f (+ a (* k h)))))
               (
    else (* 4 (f (+ a (* k h)))))))
      (define (simpson
    -temp f a b counter n)
        (
    if (> counter n)
            
    0
            (
    + (* (/ h 3.0) (simpson-term counter)) (simpson-iter f a b (+ counter 1) n))))
      (simpson
    -temp f a b 0 n)
     )

        復用sum過程,也可以這樣寫:
    (define (inc i) (+ i 1))
    (define (simpson f a b n)   
      (define (simpson
    * h)
        (define (mag k)
          (cond ((or (
    = k 0) (= k n)) 1)
                ((odd
    ? k) 4)
                (
    else 2)))
        (define (y k) 
          (f (
    + a (* k h))))
        (define (term k)
          (
    * (mag k) (y k)))
        (
    / (* h (sum term
                     
    0
                     inc
                     n)) 
    3))
      (simpson
    * (/ (- b a) n)))




    主站蜘蛛池模板: 日韩精品无码免费专区午夜不卡| 亚洲成年轻人电影网站www| 57pao一国产成视频永久免费| 四虎影视在线看免费观看| 97久久国产亚洲精品超碰热| 亚洲av激情无码专区在线播放| 五月天婷亚洲天综合网精品偷| 91视频国产免费| 伊人久久免费视频| 中文字幕在线免费视频| 亚洲免费在线观看| 阿v免费在线观看| 亚洲精品又粗又大又爽A片| 亚洲成人免费网址| 亚洲高清视频在线播放| 亚洲成AV人片一区二区| 亚洲色大成网站www永久一区| 亚洲成AV人网址| 免费无遮挡无码永久在线观看视频| 久久WWW免费人成人片| AA免费观看的1000部电影| 69免费视频大片| 中文字幕亚洲免费无线观看日本 | 精品无码一级毛片免费视频观看| 国产亚洲成在线播放va| 朝桐光亚洲专区在线中文字幕| 在线精品亚洲一区二区| 亚洲中文字幕无码av在线| 亚洲手机中文字幕| 亚洲视频中文字幕在线| 亚洲国产精品张柏芝在线观看| 亚洲精品在线免费看| 久久亚洲精品成人无码网站| 亚洲精品中文字幕麻豆| 亚洲免费一级视频| 亚洲Av高清一区二区三区| 亚洲国产日韩综合久久精品| 亚洲youwu永久无码精品| 麻豆亚洲AV成人无码久久精品 | 成年女人色毛片免费看| 99视频在线精品免费观看6|