プログラミング再入門

プログラミングをもう一度ちゃんと勉強する読書ノート

2012-05-01から1ヶ月間の記事一覧

SICP 1.1.8 Procedures as Black-Box Abstractions

ノート ブラックボックスとしての手続き。 再帰については1.2で詳しく。問題を小さな問題に分割する。大きな問題を小さな問題に分解すると言っても長いプログラムを10行毎に分割する訳ではない。意味のある一塊毎に分解し、その実装を気にしなくても使える様…

SICP 1.1.7 Example: Square Roots by Newton's Method

ニュートン法による開平。あるいは開根。 Procedures must be effective. effectiveの訳は難しいが、実行可能とか具体的に答えを求める事が出来るとか言った感じか。 『yは2乗するとrになる数。』と明言しても、具体的にyは求められない。 The contrast bet…

SICP 1.1.6 Conditional Expressions and Predicates

ノート 条件式と述語。 ここで習うのはcond、ifと、=。それからbooleanの値を扱うand、or、not。 If none of the <p>'s is found to be true, the value of the cond is undefined. との事なので、最後に必ずelseを書かないと簡単に不完全なプログラムになって</p>…

SICP 1.1.2 Naming and the Environment 〜 1.1.5 The Substitution Model for Procedure Application

ノート 1.1.2 Naming and the Environment 名前付けと環境。 数値に名前をつけて計算に使う例: > (define size 2) > size 2 > (* 5 size) 10 > (define pi 3.14159) > (define radius 10) > (* pi (* radius radius)) 314.159 > (define circumference (* 2…

SICP 1 Building Abstractions with Procedures

『Sceme手習い』『Scheme修行』と読んで、Schemeの基本的な事が分かった所で、巻末の推薦図書(?)に書いてある『Structure and Interpretation of Computer Programs』を読む事にしました。この本も実際の所Schemeに関する教科書ではないと思いますが、計…

Scheme修行 第20章 店には何がある?

再びここでschemeインタープリタを作成します。サポートするSchemeの仕様はこの本に出て来る仕様そのもので、例えばcall-with-current-continuationはletccとして定義されているし、atom?は組み込みとして定義されます。 ノート: (car (quote ())はエラーと…