2014年1月26日日曜日

開発環境

計算機プログラムの構造と解釈(Gerald Jay Sussman(原著)、Julie Sussman(原著)、Harold Abelson(原著)、和田 英一(翻訳)、ピアソンエデュケーション、原書: Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)(SICP))の1(手続きによる抽象の構築)、1.2(手続きとその生成するプロセス)、1.2.2(木構造再帰)、問題 1.12.を解いてみる。

その他参考書籍

問題 1.12.

コード(BBEdit, Emacs)

sample.scm

#!/usr/bin/env gosh
;; -*- coding: utf-8 -*-

(define (pascal-triangle m n)
  (if (or (= n 0) (= m n))
      1
      (+ (pascal-triangle (- m 1)
                          (- n 1))
         (pascal-triangle (- m 1) n))))

入出力結果(Terminal, REPL(Read, Eval, Print, Loop))

$
gosh> (load "./sample.scm")
#t
gosh> (pascal-triangle 0 0)
1
gosh> (pascal-triangle 1 0)
1
gosh> (pascal-triangle 1 1)
1
gosh> (pascal-triangle 2 0)
1
gosh> (pascal-triangle 2 1)
2
gosh> (pascal-triangle 2 2)
1
gosh> (pascal-triangle 3 0)
1
gosh> (pascal-triangle 3 1)
3
gosh> (pascal-triangle 3 2)
3
gosh> (pascal-triangle 3 3)
1
gosh> (pascal-triangle 4 0)
1
gosh> (pascal-triangle 4 1)
4
gosh> (pascal-triangle 4 2)
6
gosh> (pascal-triangle 4 3)
4
gosh> (pascal-triangle 4 4)
1
gosh> (exit)
$

0 コメント:

コメントを投稿