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

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

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

    莊周夢蝶

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

    sicp 2.4節小題嘗試解答

    Posted on 2007-07-20 14:32 dennis 閱讀(547) 評論(0)  編輯  收藏 所屬分類: 數據結構與算法

        這一節那是相當的有趣,抽象數據的多重表示:采用標志(tag)來區分和數據導向(data-directed)技術,稍微提了下消息傳遞。通過一張二維表格將類型、操作的分派機制介紹的很清楚,靜態OO語言正是通過類型來決定消息的分派,而消息傳遞以列進行劃分,每個類型都以過程來表征,也就是所謂的“智能數據對象”,兩者各有優缺點。當類型增加頻繁時,消息傳遞風格的分派更容易擴展,當操作增加頻繁時,反而是顯式的類型分派更為容易擴展,這一點如果有OO設計經驗應該很容易體會。
    看看習題:

    習題2.73,將求導程序以數據導向方式進行修改:
    a)題目已經說了,基于被求導表達式的類型進行分派,加法表達式或者乘法表達式都有標志來區分,而number?和variable?并沒有標志進行區分,因此無法加入數據導向分派。
    b)選擇函數不變,將求導過程提取出來,根據表達式類型劃分,然后用put過程安裝:
    (define (deriv-sum exp var)
      (make
    -sum (deriv (addend exp) var)
                (deriv (augend 
    exp) var)))

    (define (deriv
    -prod exp var)
      (make
    -sum
       (make
    -product (multiplier exp)
                     (deriv (multiplicand 
    exp) var))
       (make
    -product (deriv (multiplier exp) var)
                     (multiplicand 
    exp))))

    (define (install
    -deriv-package)
      (put 
    'deriv '+ deriv-sum)
      (put 
    'deriv '* deriv-prod)
      
    'done)

    c)我沒做,不過和b差不了多少

    習題2.75,很簡單,跟著書上來:
    (define (make-from-mag-ang r a)
      (define (dispatch op)
        (cond ((eq
    ? op 'real-part) (* r (cos a)))
              ((eq? op 
    'imag-part) (* r (sin a)))
              ((eq
    ? op 'magnitude) r)
              ((eq? op 
    'angle) a)
              (
    else
                 display 
    "Unknow op")))
      dispatch)
    將極角坐標系表示的復數用dispatch過程來表示,這正是消息傳遞風格。

    習題2.76,在本文開頭已經提了。
    主站蜘蛛池模板: 亚洲色丰满少妇高潮18p| 亚洲av午夜精品无码专区| 日韩色日韩视频亚洲网站| 日本一区二区三区免费高清| 亚洲中文无码线在线观看| 91免费国产自产地址入| 在线电影你懂的亚洲| 桃子视频在线观看高清免费完整 | 亚洲a一级免费视频| 亚洲电影中文字幕| 4444www免费看| wwwxxx亚洲| 国产又粗又猛又爽又黄的免费视频 | 女人体1963午夜免费视频| 亚洲成色在线影院| 国产黄色免费网站| 亚洲欧洲无卡二区视頻| 免费一级做a爰片久久毛片潮喷| 免费观看四虎精品成人| 国产亚洲精品一品区99热| 6080午夜一级毛片免费看6080夜福利| 亚洲精品欧洲精品| 噜噜嘿在线视频免费观看| 免费精品国产自产拍在线观看 | 亚洲中文字幕无码久久2020| 免费一级毛片在线观看| 全黄大全大色全免费大片| 亚洲福利视频网站| 免费A级毛片无码久久版| 久久免费高清视频| 亚洲人成高清在线播放| 午夜国产羞羞视频免费网站| 免费无码作爱视频| 亚洲色精品VR一区区三区| 亚洲一区二区视频在线观看| 182tv免费观看在线视频| 精品国产亚洲第一区二区三区 | 国产在线19禁免费观看国产| 久久国产精品国产自线拍免费| 亚洲av乱码一区二区三区香蕉| 久久亚洲国产精品五月天婷|