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




    主站蜘蛛池模板: 色吊丝免费观看网站| 天天拍拍天天爽免费视频| 蜜桃传媒一区二区亚洲AV| 亚洲国产精品热久久| 亚洲乱亚洲乱少妇无码| 我要看免费的毛片| 3344永久在线观看视频免费首页| 尤物视频在线免费观看| 亚洲第一成年免费网站| 67194在线午夜亚洲| 久久久久亚洲精品日久生情| 亚洲精品无码永久在线观看你懂的 | 妞干网手机免费视频| 99国产精品永久免费视频| 无码少妇精品一区二区免费动态| 国产免费福利体检区久久| 免费的黄色的网站| 精品亚洲成a人在线观看| 亚洲午夜精品久久久久久app | baoyu777永久免费视频| 国产三级在线免费观看| 色哟哟国产精品免费观看| 久久亚洲精品11p| 亚洲av日韩精品久久久久久a| 亚洲性色精品一区二区在线| 33333在线亚洲| 亚洲精品无码少妇30P| 亚洲国产欧洲综合997久久| 亚洲中文字幕AV每天更新| 亚洲人成无码网站在线观看| 亚洲中文无码mv| 亚洲高清毛片一区二区| 鲁死你资源站亚洲av| 狼人大香伊蕉国产WWW亚洲| jzzijzzij在线观看亚洲熟妇| 日韩亚洲翔田千里在线| 男男黄GAY片免费网站WWW| 白白色免费在线视频| 亚洲高清免费视频| a毛片在线看片免费| 日韩精品内射视频免费观看|