<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)))




    主站蜘蛛池模板: 亚洲精品午夜在线观看| 又粗又大又猛又爽免费视频| 亚洲VA中文字幕无码一二三区 | 污污污视频在线免费观看| 国产精品免费视频一区| 亚洲sm另类一区二区三区| 日本免费中文字幕在线看| 亚洲aⅴ天堂av天堂无码麻豆| 日本久久久免费高清| 色偷偷亚洲男人天堂| 四虎亚洲国产成人久久精品| 一级黄色片免费观看| 久久精品亚洲综合专区| 国产精品久久久久久久久免费| 亚洲一级免费毛片| 日韩在线免费电影| 久久免费香蕉视频| 亚洲人成网站在线播放影院在线| 在线免费观看国产| 亚洲爆乳精品无码一区二区| 亚洲精品无码你懂的网站| 免费黄网站在线看| 亚洲冬月枫中文字幕在线看| 免费羞羞视频网站| caoporm碰最新免费公开视频| 亚洲va无码专区国产乱码| 一二三四在线播放免费观看中文版视频 | 亚洲色欲www综合网| 女人18毛片特级一级免费视频 | 成人免费无码H在线观看不卡| 亚洲成人在线电影| 精品久久久久国产免费| 亚洲天堂免费在线视频| 亚洲精品日韩中文字幕久久久| 在线观看亚洲免费视频| 国产精品免费福利久久| 亚洲日韩一区二区一无码| 亚洲午夜福利在线观看| 成人免费AA片在线观看| 中文字幕视频免费在线观看| 亚洲午夜久久久久久尤物|