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




    主站蜘蛛池模板: 另类小说亚洲色图| 免费国产黄网站在线观看 | 久久精品国产亚洲综合色| 国产精品亚洲精品日韩电影| 最好免费观看韩国+日本| 亚洲制服丝袜精品久久| 在线永久看片免费的视频| 国产精品酒店视频免费看| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 国产精品亚洲五月天高清| 国产青草视频在线观看免费影院| 亚洲欧洲无码AV不卡在线| 日本19禁啪啪无遮挡免费动图| 6080午夜一级毛片免费看| 亚洲av无码乱码国产精品| 无码专区AAAAAA免费视频| 久久青青草原亚洲av无码app| 亚洲第一街区偷拍街拍| 午夜神器成在线人成在线人免费| 亚洲高清国产拍精品26U| 久久精品成人免费网站| 亚洲高清国产拍精品青青草原| 美女被免费网站视频在线| 国产成人福利免费视频| 456亚洲人成影院在线观| 99麻豆久久久国产精品免费 | 日韩亚洲一区二区三区| 久久精品毛片免费观看| 久久亚洲最大成人网4438 | 亚洲最大av无码网址| 免费观看久久精彩视频| 丁香婷婷亚洲六月综合色| 免费永久在线观看黄网站| 国产一区二区三区免费观看在线| 久久精品国产亚洲AV麻豆网站 | 国产99精品一区二区三区免费| 成人网站免费观看| 国产精品亚洲AV三区| 大陆一级毛片免费视频观看 | 亚洲熟妇无码爱v在线观看| 永久免费看mv网站入口|