問題2.44、問題2.45 – SICP(計算機プログラムの構造と解釈)その60

問題2.44

これは right-splitbelowbeside を入れ替えるだけ。

(define (up-split painter n)
  (if (= n 0)
      painter
      (let ((smaller (up-split painter (- n 1))))
           (below painter (beside smaller smaller)))))

問題2.45

right-splitup-split に相当する手続き(spliter)を返す手続き(split)を定義する。

(define (split first-div second-div)
  (define (spliter painter n)
    (if (= n 0)
        painter
        (let ((smaller (spliter painter (- n 1))))
             (first-div painter (second-div smaller smaller)))))
  spliter)
計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
«
»