#html{{
table border="0" cellpadding="5"><tr><td valign="top"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/4781911609/vertex9-22/" target="_blank"><img src="" border="0"></a></td><td> </td><td valign="top"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/4781911609/vertex9-22/" target="_blank">プログラミングの基礎 (Computer Science Library)</a><br>浅井 健一<br>サイエンス社<br>2007-03-01<br>¥ 2484</td></tr></table>
}}
No. | 章 | 節 |
1 | 第1章 はじめに | 1.1 デザインレシピ |
2 | 1.2 使用する言語 | |
3 | 1.3 準備 | |
4 | 1.4 参考となる資料 | |
5 | 第2章 基本的なデータ | 2.1 整数 |
6 | 2.2 実数 | |
7 | 2.3 文字列 | |
8 | 2.4 真偽値 | |
9 | 2.5 そのほかのデータ | |
10 | 第3章 変数の定義 | 3.1 変数の必要性 |
11 | 3.2 変数定義の構文 | |
12 | 3.3 変数の実行方法 | |
13 | 3.4 ほかの言語の変数との違い | |
14 | 第4章 関数の定義 | 4.1 関数定義の必要性 |
15 | 4.2 関数定義の構文 | |
16 | 4.3 関数の型 | |
17 | 4.4 型推論と型チェック | |
18 | 4.5 関数の実行方法 | |
19 | 4.6 関数定義に対するデザインレシピ | |
20 | 第5章 条件分岐 | 5.1 条件分岐の必要性 |
21 | 5.2 条件分岐の構文 | |
22 | 5.3 kyuyoの例 | |
23 | 5.4 式としてのif文 | |
24 | 5.5 条件分岐に対するデザインレシピ | |
25 | 5.6 真偽値を返す関数 | |
26 | 5.7 条件分岐の実行方法 | |
27 | 第6章 さまざまなエラー | 6.1 構文エラー |
28 | 6.2 未定義の変数 | |
29 | 6.3 型エラー | |
30 | 6.4 実行時のエラー | |
31 | 6.5 論理的なエラー | |
32 | 第7章 組とパターンマッチ | 7.1 組の構文 |
33 | 7.2 パターンマッチ | |
34 | 7.3 構造データに対するデザインレシピ | |
35 | 7.4 パターンマッチの実行方法 | |
36 | 第8章 レコード | 8.1 レコードの必要性 |
37 | 8.2 レコードの構文 | |
38 | 8.3 レコードとパターンマッチ | |
39 | 8.4 そのほかの記法 | |
40 | 8.5 ユーザによる型定義 | |
41 | 8.6 データ定義に対するデザインレシピ | |
42 | 8.7 駅名と駅間の情報の定義 | |
43 | 第9章 リスト | 9.1 リストの構造 |
44 | 9.2 リストの構文と型 | |
45 | 9.3 リストとパターンマッチ | |
46 | 9.4 再帰関数 | |
47 | 9.5 再帰関数に対するデザインレシピ | |
48 | 9.6 テンプレートの複合 | |
49 | 9.7 駅名リストと駅間リストの整備 | |
50 | 第10章 再帰関数を使ったプログラミング | 10.1 関数のネスト |
51 | 10.2 リストの中の最小値を求める関数 | |
52 | 10.3 局所変数定義 | |
53 | 10.4 パターンマッチつき局所変数定義 | |
54 | 10.5 ふたつのリストを結合する関数 | |
55 | 10.6 ふたつの昇順に並んだリストをマージする関数 | |
56 | 10.7 駅名・駅間リストからの情報の取得 | |
57 | 第11章 自然数と再帰 | 11.1 自然数の構造 |
58 | 11.2 自然数に基づいた再帰関数 | |
59 | 11.3 ベキ乗を求める関数 | |
60 | 11.4 リスト上の再帰との違い | |
61 | 第12章 ダイクストラのアルゴリズム | 12.1 グラフ上の最短路問題 |
63 | 12.2 ダイクストラのアルゴリズム | |
64 | 12.3 アルゴリズムの正当性 | |
65 | 12.4 プログラムにおける頂点と辺の定義 | |
66 | 12.5 駅名の重複の除去 | |
67 | 第13章 一般化と高階関数 | 13.1 データの一般化 |
68 | 13.2 関数の一般化とmap | |
69 | 13.3 多相型と多相関数 | |
70 | 13.4 値としての関数 | |
71 | 13.5 関数を返す関数 | |
72 | 13.6 確定点に隣接する点の最短距離の更新 | |
73 | 第14章 高階関数を使ったリスト処理 | 14.1 条件を満たす要素を取り出す関数 |
74 | 14.2 各要素をまとめあげる関数 | |
75 | 14.3 局所関数定義 | |
76 | 14.4 名前のない関数 | |
77 | 14.5 infix関数とprefix関数 | |
78 | 14.6 完全数を求める関数 | |
79 | 第15章 新しい形の再帰 | 15.1 再帰関数の構造 |
80 | 15.2 部分問題の生成 | |
81 | 15.3 補助関数の作成 | |
82 | 15.4 停止性の判定 | |
83 | 15.5 一般の再帰に対するデザインレシピ | |
84 | 15.6 最短距離最小の点の分離 | |
85 | 15.7 例の作成とデバッグについて | |
86 | 第16章 情報の蓄積 | 16.1 情報の欠落 |
87 | 16.2 アキュムレータ | |
88 | 16.3 アキュムレータの活用 | |
89 | 16.4 最初の完動プログラム | |
90 | 16.5 プログラム作成のプロセス | |
91 | 第17章 再帰的なデータ構造 | 17.1 バリアント型 |
92 | 17.2 木 | |
93 | 17.3 再帰的なデータ構造に対するデザインレシピ | |
94 | 17.4 2分探索木 | |
95 | 17.5 多相型の宣言 | |
96 | 17.6 停止性 | |
97 | 17.7 get_ekikan_kyoriの高速化 | |
98 | 17.8 全通りを尽くしていない場合の対処 | |
99 | 第18章 例外と例外処理 | 18.1 オプション型 |
100 | 18.2 オプション型を使った例外処理 | |
101 | 18.3 オプション型を使った例外処理の問題点 | |
102 | 18.4 例外処理専用の構文 | |
103 | 18.5 例外処理の実際 | |
104 | 18.6 例外処理を使ったプログラミング | |
105 | 18.7 最短路問題における例外処理 | |
106 | 第19章 モジュール | 19.1 モジュールの構文 |
107 | 19.2 2分探索木のモジュール | |
108 | 19.3 モジュールインタフェース:シグネチャ | |
109 | 19.4 抽象データ型 | |
110 | 19.5 そのほかのシグネチャの宣言法 | |
111 | 19.6 ファイルの分割と分割コンパイル | |
112 | 19.7 2分探索木モジュールの使用 | |
113 | 第20章 モジュールの開発 | 20.1 赤黒木 |
114 | 20.2 赤黒木への挿入 | |
115 | 20.3 赤黒木の再構成 | |
116 | 20.4 「または」のパターン | |
117 | 20.5 赤黒木のモジュール化 | |
118 | 20.6 open文 | |
119 | 第21章 逐次実行 | 21.1 副作用を持つ関数 |
120 | 21.2 unit型 | |
121 | 21.3 逐次実行の構文 | |
122 | 21.4 実行中の変数の表示 | |
123 | 21.5 実行の順序 | |
124 | 21.6 スタンドアローンのプログラム | |
125 | 21.7 引数の渡し方 | |
126 | 第22章 値の書き換えと参照透過性 | 22.1 参照透過性 |
127 | 22.2 呼び出し回数のカウント | |
128 | 22.3 参照型と値の書き換え | |
129 | 22.4 参照透過性の喪失 | |
130 | 22.5 変更可能なレコード | |
131 | 22.6 配列 | |
132 | 22.7 配列の変更 | |
133 | 第23章 副作用命令を使ったプログラミング | 23.1 ダイクストラ法におけるデータアクセス |
134 | 23.2 ヒープ | |
135 | 23.3 ヒープへの挿入 | |
136 | 23.4 そのほかの操作 | |
137 | 23.5 ヒープのインタフェース | |
138 | 23.6 副作用命令の影響について | |
139 | 23.7 ヒープ実装の概要 | |
140 | 第24章 まとめ―プログラミングとは― | 24.1 OCamlを習得して |
141 | 24.2 この先の道 |