Chat (Lingr.com)
Informaiton
Daily
Column
- MySQL日本語の旅(5/1)
- アクセス向上秘伝(5/9)
- 一風変ったHaskellλ門(6/13)
- SICP Answer Book (5/31) 問題3.26追加
Zope Solution
Extra
アーカイブ
OSS案内所
Site Info
関連リンク
『計算機プログラムの構造と解釈 第二版』解答集(未完)
Wizard Book: n.
Structure and Interpretation of Computer Programs (Hal Abelson, Jerry Sussman and Julie Sussman; MIT Press, 1984, 1996; ISBN 0-262-01153-0), an excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world. Also, less commonly, known as the Purple Book. Now available on the http://mitpress.mit.edu/sicp/
名著 "Structure and Interpretation of Computer Programs 2nd. edition" (邦訳『計算機プログラムの構造と解釈 第二版』)の練習問題の解答集をつくりはじめました。
Scheme の処理系としては、Gaucheを使っています。
おことわり: 解答の正しさについては全く保証しませんし責任を負いません。コードを実行した場合の結果についても全く責任を負いません。
感想や御意見、間違いの指摘や改良の具体的提案など oss @ timedia . co . jp までいただけると幸いです。 よろしくお願いいたします。
更新
- (2006-05-31): 問題 3.26追加
- (2006-05-30): 問題 3.25追加
- (2006-05-29): 問題 3.24追加
- (2006-05-25): 問題 3.23追加,higeponさんからも解答例をいただきました.(Thanks higeponさん)
- (2006-05-24): 問題 3.22追加
1.手続きによる抽象の構築-- ##(link2sicp "book-Z-H-9.html#%_chap_1" "Building Abstractions with Procedures")
- 1.1.プログラムの要素-- ##(link2sicp "book-Z-H-10.html#%_sec_1.1" "The Elements of Programming")
- 1.1.1.式-- ##(link2sicp "book-Z-H-10.html#%_sec_1.1.1" "Expressions")
- 1.1.2.名前と環境-- ##(link2sicp "book-Z-H-10.html#%_sec_1.1.2" "Naming and the Environment")
- 1.1.3.組合せの評価-- ##(link2sicp "book-Z-H-10.html#%_sec_1.1.3" "Evaluating Combinations")
- 1.1.4.合成手続き-- ##(link2sicp "book-Z-H-10.html#%_sec_1.1.4" "Compound Procedures")
- 1.1.5.手続き作用の置換えモデル-- ##(link2sicp "book-Z-H-10.html#%_sec_1.1.5" "The Substitution Model for Procedure Application")
- 1.1.6.条件式と述語-- ##(link2sicp "book-Z-H-10.html#%_sec_1.1.6" "Conditional Expressions and Predicates")
- 1.1.7.例:Newton法による平方根-- ##(link2sicp "book-Z-H-10.html#%_sec_1.1.7" "Example: Square Roots by Newton Method")
- 1.1.8.ブラックボックス抽象としての手続き-- ##(link2sicp "book-Z-H-10.html#%_sec_1.1.8" "Procedures as Black-Box Abstractions")
- 1.2.手続きとその生成するプロセス-- ##(link2sicp "book-Z-H-11.html#%_sec_1.2" "Procedures and the Processes They Generate")
- 1.2.1.線型再帰と反復-- ##(link2sicp "book-Z-H-11.html#%_sec_1.2.1" "Linear Recursion and Iteration")
- 1.2.2.木構造再帰-- ##(link2sicp "book-Z-H-11.html#%_sec_1.2.2" "Tree Recursion")
- 1.2.3.増加の程度-- ##(link2sicp "book-Z-H-11.html#%_sec_1.2.3" "Orders of Growth")
- 1.2.4.べき乗-- ##(link2sicp "book-Z-H-11.html#%_sec_1.2.4" "Exponentiation")
- 1.2.5.最大公約数-- ##(link2sicp "book-Z-H-11.html#%_sec_1.2.5" "Greatest Common Divisors")
- 1.2.6.例:素数性のテスト-- ##(link2sicp "book-Z-H-11.html#%_sec_1.2.6" "Example: Testing for Primality")
- 1.3.高階手続きによる抽象-- ##(link2sicp "book-Z-H-12.html#%_sec_1.3" "Formulating Abstractions with Higher-Order Procedure")
- 1.3.1.引数としての手続き-- ##(link2sicp "book-Z-H-12.html#%_sec_1.3.1" "Procedures as Arguments")
- 1.3.2.lambdaを使う手続きの構築-- ##(link2sicp "book-Z-H-12.html#%_sec_1.3.2" "Constructing Procedures Using Lambda")
- 1.3.3.一般的方法としての手続-- ##(link2sicp "book-Z-H-12.html#%_sec_1.3.3" "Procedures as General Methods")
- 1.3.4.値として返される手続き-- ##(link2sicp "book-Z-H-12.html#%_sec_1.3.4" "Procedures as Returned Values")
2.データによる抽象の構築 -- ##(link2sicp "book-Z-H-13.html#%_chap_2" "Building Abstractions with Data")
- 2.1.データ抽象入門 -- ##(link2sicp "book-Z-H-14.html#%_sec_2.1" "Introduction to Data Abstraction")
- 2.1.1.例: 有理数の算術演算 -- ##(link2sicp "book-Z-H-14.html#%_sec_2.1.1" "Example: Arithmetic Operations for Rational Numbers")
- 2.1.2.抽象の壁 -- ##(link2sicp "book-Z-H-14.html#%_sec_2.1.2" "Abstraction Barriers")
- 2.1.3.データとは何か -- ##(link2sicp "book-Z-H-14.html#%_sec_2.1.3" "What Is Meant by Data")
- 2.1.4.拡張問題: 区間算術演算 -- ##(link2sicp "book-Z-H-14.html#%_sec_2.1.4" "Extended Exercise: Interval Arithmetic")
- 2.2.階層データ構造と閉包性 -- ##(link2sicp "book-Z-H-15.html#%_sec_2.2" "Hierarchical Data and the Closure Property")
- 2.2.1.並びの表現 -- ##(link2sicp "book-Z-H-15.html#%_sec_2.2.1" "Representing Sequences")
- 2.2.2.階層構造 -- ##(link2sicp "book-Z-H-15.html#%_sec_2.2.2" "Hierarchical Structures")
- 2.2.3.公認インターフェースとしての並び -- ##(link2sicp "book-Z-H-15.html#%_sec_2.2.3" "Sequences as Conventional Interfaces")
- 2.2.4.例: 図形言語 -- ##(link2sicp "book-Z-H-15.html#%_sec_2.2.4" "Example: A Picture Language")
- 2.3.記号データ -- ##(link2sicp "book-Z-H-16.html#%_sec_2.3" "Symbolic Data")
- 2.3.1.クウォート -- ##(link2sicp "book-Z-H-16.html#%_sec_2.3.1" "Quatation")
- 2.3.2.例: 記号微分 -- ##(link2sicp "book-Z-H-16.html#%_sec_2.3.2" "Example: Symbolic Differentiation")
- 2.3.3.例: 集合の表現 -- ##(link2sicp "book-Z-H-16.html#%_sec_2.3.3" "Example: Representing Sets")
- 2.3.4.例: Huffman符号化木 -- ##(link2sicp "book-Z-H-16.html#%_sec_2.3.4" "Example: Huffman Encoding Trees")
- 2.4.抽象データの多重表現 -- ##(link2sicp "book-Z-H-17.html#%_sec_2.4" "Multiple Representations for Abstract Data")
- 2.4.1.複素数の表現 -- ##(link2sicp "book-Z-H-17.html#%_sec_2.4.1" "Representations for Complex Numbers")
- 2.4.2.タグ付きデータ -- ##(link2sicp "book-Z-H-17.html#%_sec_2.4.2" "Tagged data")
- 2.4.3.データ主導プログラミングと加法性 -- ##(link2sicp "book-Z-H-17.html#%_sec_2.4.3" "Data-Directed Programming and Additivity")
- 2.5.汎用演算のシステム -- ##(link2sicp "book-Z-H-18.html#%_sec_2.5" "Systems with Generic Operations")
- 2.5.1.汎用算術演算 -- ##(link2sicp "book-Z-H-18.html#%_sec_2.5.1" "Generic Arithmetic Operations")
- 2.5.2.異る型のデータの統合 -- ##(link2sicp "book-Z-H-18.html#%_sec_2.5.2" "Combining Data of Different Types")
- 2.5.3.例: 記号代数 -- ##(link2sicp "book-Z-H-18.html#%_sec_2.5.3" "Example: Symbolic Algebra")
3.標準部品化力,オブジェクトおよび状態 -- ##(link2sicp "book-Z-H-19.html#%_chap_3" "Modularity, Objects, and State")
- 3.1.代入と局所状態 -- ##(link2sicp "book-Z-H-20.html#%_sec_3.1" "Assignment and Local State")
- 3.1.1.局所状態変数 -- ##(link2sicp "book-Z-H-20.html#%_sec_3.1.1" "Local State Valiable")
- 3.1.2.代入を取り入れた利点 -- ##(link2sicp "book-Z-H-20.html#%_sec_3.1.2" "The Benefits of Introducing Assignment")
- 3.1.3.代入を取り入れた代価 -- ##(link2sicp "book-Z-H-20.html#%_sec_3.1.3" "The Costs of Introducing Assignment")
- 3.2.評価の環境モデル -- ##(link2sicp "book-Z-H-21.html#%_sec_3.2" "The Environment Model of Evaluation")
- 3.2.1.評価の規則 -- ##(link2sicp "book-Z-H-21.html#%_sec_3.2.1" "The Rules for Evaluation")
- 3.2.2.単純な手続きの作用 -- ##(link2sicp "book-Z-H-21.html#%_sec_3.2.2" "Applying Simple Procedures")
- 3.2.3.局所変数の入れ物としてのフレーム -- ##(link2sicp "book-Z-H-21.html#%_sec_3.2.3" "Frames as the Repository of Local State")
- 3.2.4.内部定義 -- ##(link2sicp "book-Z-H-21.html#%_sec_3.2.4" "Internal Definitions")
- 3.3.可変データでのモデル化 -- ##(link2sicp "book-Z-H-22.html#%_sec_3.3" "Modeling with Mutable Data")
- 3.3.1.可変リスト構造 -- ##(link2sicp "book-Z-H-22.html#%_sec_3.3.1" "Mutable List Structure")
- 3.3.2.キューの表現 -- ##(link2sicp "book-Z-H-22.html#%_sec_3.3.2" "Representing Queues")
- 3.3.3.表の表現 -- ##(link2sicp "book-Z-H-22.html#%_sec_3.3.3" "Representing Tables")
- 3.3.4.ディジタル回路のシミュレータ -- ##(link2sicp "book-Z-H-22.html#%_sec_3.3.4" "A Simulator for Digital Circuits")
- 問題 3.28|問題 3.29|問題 3.30|問題 3.31|問題 3.32
- 3.3.5.制約の拡散 -- ##(link2sicp "book-Z-H-22.html#%_sec_3.3.5" "Propagation of Constraints")
- 問題 3.33|問題 3.34|問題 3.35|問題 3.36|問題 3.37
- 3.4.並列性: 時が本質的 -- ##(link2sicp "book-Z-H-23.html#%_sec_3.4" "Concurrency: Time Is of the Essence")
- 3.4.1.並列システムでの時 -- ##(link2sicp "book-Z-H-23.html#%_sec_3.4.1" "The Nature of Time in Concurrent Systems")
- 問題 3.38
- 3.4.2.並列性の制御機構 -- ##(link2sicp "book-Z-H-23.html#%_sec_3.4.2" "Mechanisms for Controlling Concurrency")
- 問題 3.39|問題 3.40|問題 3.41|問題 3.42|問題 3.43|問題 3.44|問題 3.45|問題 3.46|問題 3.47|問題 3.48|問題 3.49
- 3.5.ストリーム -- ##(link2sicp "book-Z-H-24.html#%_sec_3.5" "Streams")
- 3.5.1.ストリームは遅延リスト -- ##(link2sicp "book-Z-H-24.html#%_sec_3.5.1" "Streams Are Delayed Lists")
- 問題 3.50|問題 3.51|問題 3.52
- 3.5.2.無限ストリーム -- ##(link2sicp "book-Z-H-24.html#%_sec_3.5.2" "Infinite Streams")
- 問題 3.53|問題 3.54|問題 3.55|問題 3.56|問題 3.57|問題 3.58|問題 3.59|問題 3.60|問題 3.61|問題 3.62
- 3.5.3.ストリームパラダイムの開発 -- ##(link2sicp "book-Z-H-24.html#%_sec_3.5.3" "Exploiting the Stream Paradigm")
- 問題 3.63|問題 3.64|問題 3.65|問題 3.66|問題 3.67|問題 3.68|問題 3.69|問題 3.70|問題 3.71|問題 3.72|問題 3.73|問題 3.74|問題 3.75|問題 3.76
- 3.5.4.ストリームと遅延評価 -- ##(link2sicp "book-Z-H-24.html#%_sec_3.5.4" "Stream and Delayed Evaluation")
- 問題 3.77|問題 3.78|問題 3.79|問題 3.80
- 3.5.5.関数的プログラムの部品化度とオブジェクトの部品化度 -- ##(link2sicp "book-Z-H-24.html#%_sec_3.5.5" "Modularity of Functional Programs and Modularity of Objects")
- 問題 3.81|問題 3.82