SICP
明日と言って、「明日」書いた覚えがない程度にダメ人間。 さて、今日は暇なのでにゅるっと頑張る。 2.1.2 抽象の壁(p49-50) 抽象の壁、ということでシステムの異なるレベルを隔離するものとして表現されている。 有理数の演算について考えた場合、add-rat,s…
SICPを解いているとどうしてもaverageとかsquareとかfibとか、突拍子もなく出てきて「あー、書かないとダメかー」っていう思いを何度もすると思う。いや、もしかしたら早い段階で気付いた人は、どっかのファイルにまとめて書きだして (add-load-path "hogeho…
間が空きました。なんかVPSといらぬ戰いをしていたので、ちょっと本流に戻ってきます。*1 (GaucheのKahuaとか触りたい…うずうず。いつかGaucheのソースコード読めるようになるんだ…。)というわけで2章、入っていきます。年内に終わらせたいと言いつつ本当に…
ということで1ヶ月と少しぶりです。SICPの続きです。前回までで何処までやったかすっかり忘れていますが、37ページ付近まで書いたみたいなので頑張って1章終了まで持っていきます。 1.3.3一般的方法としての手続き(p37~40) この節で、関数の零点と不動点を探…
間がめちゃくちゃ開いた気がします…。気がついたら脱線しまくりの、私生活ドタバタで全然進んでませんでした。 ということで気を取り直して、またサクサク進みますよ!>< 1.3高階手続きによる抽象(p31) プログラムで3乗することはできるが、言語には3乗の…
おはようございます!!ドラクエ7やってますか?? やっとルーメンクリアしたあたりで、主人公が勇者極めちゃってたり、マリベルが天地雷鳴師極めちゃったんで、ローズバトラー極めに行こうかと計画してたりします。*12月に入ってSICP読むも、なかなかこっちに書…
今日はできればp30まで書きたい。ということでノロノロ書いていきます。 1.2.3増加の程度(p23-24) 計算の資源を消費する速度について考える。 プロセスの入力が大きくなるにつれて必要とする資源を、粗く見積る「増加の程度」を考える。 最近の若者はアルゴ…
今回は木構造再帰の部分らへんを書いてます。 1.2.2木構造再帰(p20-) 計算でよくあるパターン「木構造再帰」 ということでフィボナッチ数列。 (define (fib n) (cond ((zero? n) 0) ((= n 1) 1) (else (+ (fib (- n 1)) (fib (- n 2)))))) 黄金比すげぇ(脱線…
なんだかんだで少しずつ進んでるので、自分を褒めてあげたい今日このごろ。 ということで、今日も今日とて少しずつSICP読み進めますよ!!>< 問題1.9(p20) (define (plus a b) (if (= a 0) b (inc (plus (dec a) b)))) (define (plus a b) (if (= a 0) b (…
1.1.8ブラックボックス抽象としての手続き(p14-17) 再帰的であることに注意 それ自身を使って手続きが定義出来るという考えは紛らわしい 再帰については後で触れる sqrtのプログラムは手続きの"束"であるといえる 問題の部分問題への分割を反映している 手続…
問題1.6(p14) とりあえずnew-ifを書いてみる。 (define (square x) (* x x)) (define (abs x) (if (> x 0) x (- x))) (define (new-if predicate then-clause else-clause) (cond (predicate then-clause) (else else-clause))) (define (sqrt-iter guess x)…
実際に読んだとこを振り返りながらまとめてみる Lispによるプログラミング(p1-2) John McCarthyによって発見された言語(再帰方程式という計算モデルが元) 現代においても使われているFortranの次に古い言語 プログラムの構成やデータの構造を学び、言語の基…
SICPを読むのに僕がまず準備したものを書いておきます。 Emacs(テキストエディタ) Gauche(Scheme処理系) Scheme手習い(お守りとしてあるといいかも) GitHubのリポジトリ(練習問題を解いたりしたら残さないとね) SICP!!(忘れちゃいけないもの忘れてた) 基本は…
頑張ってSICPを読むって今年の目標にしてしまったので、読んでいきたいです。 ちょこちょこブログにまとめていくので、最終的にはこのページが綺麗な目次 になったらいいなぁと。 目次 SICPを読む_(1)SICPを僕が読み始めた理由 SICPを読む_(2)SICPを読む準備…
「計算機プログラムの構造と解釈」という本をついに読み始めてしまいました。 禁断の果実に手を出した気分です。ということで後々、「なんで読み始めた」 のか分かるように読み始めた理由を書いておこうと思います。*1 深い理由が特別あるわけではないんです…