OCaml

プログラミングの基礎

 プログラミングの基礎 (Computer Science Library)
浅井 健一
サイエンス社
2007-03-01
¥ 2484

目次

No.
1第1章 はじめに1.1 デザインレシピ
21.2 使用する言語
31.3 準備
41.4 参考となる資料
5第2章 基本的なデータ2.1 整数
62.2 実数
72.3 文字列
82.4 真偽値
92.5 そのほかのデータ
10第3章 変数の定義3.1 変数の必要性
113.2 変数定義の構文
123.3 変数の実行方法
133.4 ほかの言語の変数との違い
14第4章 関数の定義4.1 関数定義の必要性
154.2 関数定義の構文
164.3 関数の型
174.4 型推論と型チェック?
184.5 関数の実行方法?
194.6 関数定義に対するデザインレシピ?
20第5章 条件分岐5.1 条件分岐の必要性?
215.2 条件分岐の構文?
225.3 kyuyoの例?
235.4 式としてのif文?
245.5 条件分岐に対するデザインレシピ?
255.6 真偽値を返す関数?
265.7 条件分岐の実行方法?
27第6章 さまざまなエラー6.1 構文エラー?
286.2 未定義の変数?
296.3 型エラー?
306.4 実行時のエラー?
316.5 論理的なエラー?
32第7章 組とパターンマッチ7.1 組の構文?
337.2 パターンマッチ?
347.3 構造データに対するデザインレシピ?
357.4 パターンマッチの実行方法?
36第8章 レコード8.1 レコードの必要性?
378.2 レコードの構文?
388.3 レコードとパターンマッチ?
398.4 そのほかの記法?
408.5 ユーザによる型定義?
418.6 データ定義に対するデザインレシピ?
428.7 駅名と駅間の情報の定義?
43第9章 リスト9.1 リストの構造?
449.2 リストの構文と型?
459.3 リストとパターンマッチ?
469.4 再帰関数?
479.5 再帰関数に対するデザインレシピ?
489.6 テンプレートの複合?
499.7 駅名リストと駅間リストの整備?
50第10章 再帰関数を使ったプログラミング10.1 関数のネスト?
5110.2 リストの中の最小値を求める関数?
5210.3 局所変数定義?
5310.4 パターンマッチつき局所変数定義?
5410.5 ふたつのリストを結合する関数?
5510.6 ふたつの昇順に並んだリストをマージする関数?
5610.7 駅名・駅間リストからの情報の取得?
57第11章 自然数と再帰11.1 自然数の構造?
5811.2 自然数に基づいた再帰関数?
5911.3 ベキ乗を求める関数?
6011.4 リスト上の再帰との違い?
61第12章 ダイクストラのアルゴリズム12.1 グラフ上の最短路問題?
6312.2 ダイクストラのアルゴリズム?
6412.3 アルゴリズムの正当性?
6512.4 プログラムにおける頂点と辺の定義?
6612.5 駅名の重複の除去?
67第13章 一般化と高階関数13.1 データの一般化?
6813.2 関数の一般化とmap?
6913.3 多相型と多相関数?
7013.4 値としての関数?
7113.5 関数を返す関数?
7213.6 確定点に隣接する点の最短距離の更新?
73第14章 高階関数を使ったリスト処理14.1 条件を満たす要素を取り出す関数?
7414.2 各要素をまとめあげる関数?
7514.3 局所関数定義?
7614.4 名前のない関数?
7714.5 infix関数とprefix関数?
7814.6 完全数を求める関数?
79第15章 新しい形の再帰15.1 再帰関数の構造?
8015.2 部分問題の生成?
8115.3 補助関数の作成?
8215.4 停止性の判定?
8315.5 一般の再帰に対するデザインレシピ?
8415.6 最短距離最小の点の分離?
8515.7 例の作成とデバッグについて?
86第16章 情報の蓄積16.1 情報の欠落?
8716.2 アキュムレータ?
8816.3 アキュムレータの活用?
8916.4 最初の完動プログラム?
9016.5 プログラム作成のプロセス?
91第17章 再帰的なデータ構造17.1 バリアント型?
9217.2 木?
9317.3 再帰的なデータ構造に対するデザインレシピ?
9417.4 2分探索木?
9517.5 多相型の宣言?
9617.6 停止性?
9717.7 get_ekikan_kyoriの高速化?
9817.8 全通りを尽くしていない場合の対処?
99第18章 例外と例外処理18.1 オプション型?
10018.2 オプション型を使った例外処理?
10118.3 オプション型を使った例外処理の問題点?
10218.4 例外処理専用の構文?
10318.5 例外処理の実際?
10418.6 例外処理を使ったプログラミング?
10518.7 最短路問題における例外処理?
106第19章 モジュール19.1 モジュールの構文?
10719.2 2分探索木のモジュール?
10819.3 モジュールインタフェース:シグネチャ?
10919.4 抽象データ型?
11019.5 そのほかのシグネチャの宣言法?
11119.6 ファイルの分割と分割コンパイル?
11219.7 2分探索木モジュールの使用?
113第20章 モジュールの開発20.1 赤黒木?
11420.2 赤黒木への挿入?
11520.3 赤黒木の再構成?
11620.4 「または」のパターン?
11720.5 赤黒木のモジュール化?
11820.6 open文?
119第21章 逐次実行21.1 副作用を持つ関数?
12021.2 unit型?
12121.3 逐次実行の構文?
12221.4 実行中の変数の表示?
12321.5 実行の順序?
12421.6 スタンドアローンのプログラム?
12521.7 引数の渡し方?
126第22章 値の書き換えと参照透過性22.1 参照透過性?
12722.2 呼び出し回数のカウント?
12822.3 参照型と値の書き換え?
12922.4 参照透過性の喪失?
13022.5 変更可能なレコード?
13122.6 配列?
13222.7 配列の変更?
133第23章 副作用命令を使ったプログラミング23.1 ダイクストラ法におけるデータアクセス?
13423.2 ヒープ?
13523.3 ヒープへの挿入?
13623.4 そのほかの操作?
13723.5 ヒープのインタフェース?
13823.6 副作用命令の影響について?
13923.7 ヒープ実装の概要?
140第24章 まとめ―プログラミングとは―24.1 OCamlを習得して?
14124.2 この先の道?

出版社

リンク


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-09-17 (日) 12:59:22 (2412d)