<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 閱讀(546) 評論(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,在本文開頭已經提了。
    主站蜘蛛池模板: xxxxxx日本处大片免费看| 久久精品视频免费| 无码人妻一区二区三区免费手机 | 国产成人精品高清免费| 国产AV旡码专区亚洲AV苍井空| 黄色成人免费网站| 亚洲伊人久久精品| 男人的好免费观看在线视频| 国产亚洲精品VA片在线播放| 全免费a级毛片免费看无码| 在线观看亚洲免费| 久久精品成人免费看| 亚洲国产高清视频| www.999精品视频观看免费| 亚洲精品理论电影在线观看| 四虎免费永久在线播放| 亚洲日韩国产精品乱-久| 永久免费bbbbbb视频| 人成电影网在线观看免费| 人人狠狠综合久久亚洲婷婷| 四虎国产成人永久精品免费| 亚洲1区1区3区4区产品乱码芒果| 毛片免费vip会员在线看| 免费福利资源站在线视频| 亚洲热妇无码AV在线播放| 国产曰批免费视频播放免费s| 亚洲乱码无人区卡1卡2卡3| 免费在线观看一级毛片| 最新亚洲成av人免费看| 亚洲乱码在线播放| 又粗又黄又猛又爽大片免费| 青青操免费在线观看| 色婷五月综激情亚洲综合| 亚洲国产一级在线观看| 深夜特黄a级毛片免费播放| 亚洲国产精品无码久久久秋霞2| 免费视频专区一国产盗摄| 一区二区免费国产在线观看| 内射少妇36P亚洲区| 又粗又大又硬又爽的免费视频| 一级毛片在线观看免费|