1. はじめに 1 |
1.1 Pascalとは何か? 1 |
1.2 ごく簡単なプログラム 2 |
1.3 プログラムの本体 4 |
1.4 プログラミングの誤り 7 |
練習問題 9 |
2. 情報の読込みと書出し 10 |
2.1 WRITEとWRITELN 10 |
2.2 READとREADLN 12 |
2.3 出力の設計 14 |
練習問題 15 |
3. 組込みデータ型についてより詳しく 17 |
3.1 データ型REAL 17 |
3.2 整数と実数との係わり 20 |
3.3 データ型BOOLEAN 21 |
3.4 定数を宣言すること 24 |
練習問題 26 |
4. 制御構造 28 |
4.1 分岐 28 |
4.2 複合文 31 |
4.3 繰返し 32 |
練習問題 36 |
5. 思いやりプログラミングとは? 36 |
5.1 誰のために? 36 |
5.2 思いやりのあるプログラマのしてよいこと,悪いこと 37 |
5.3 注釈をつけて明確にしよう 39 |
6. 条件文についてより詳しく 42 |
6.1 繰返しについて-補足 42 |
6.2 既定回の繰返し 45 |
6.3 多重条件による分岐 47 |
6.4 例外的な飛び越し 50 |
練習問題 51 |
7. データ型を新規に定義すること 53 |
7.1 列挙型 53 |
7.2 部分範囲型 55 |
7.3 型の宣言 57 |
練習問題 59 |
8. 配列 61 |
8.1 1次元配列 61 |
8.2 探索と並べ替え 65 |
8.3 多次元配列 70 |
練習問題 72 |
9. 単語を表わすデータ型 74 |
9.1 データ型CHAR 74 |
9.2 文字列変数 78 |
9.3 典型的な文字列操作 80 |
練習問題 84 |
10. 関数を新規に定義すること 85 |
10.1 関数の宣言 85 |
10.2 局所的名前と非局所的名前 89 |
10.3 副作用に注意 95 |
10.4 再帰的な関数 97 |
練習問題 99 |
11. 手続きを新規に定義すること 101 |
11.1 手続きの宣言 101 |
11.2 変数引数 104 |
11.3 モジュール化の効用 106 |
練習問題 108 |
12. 信頼性の大切さ 110 |
12.1 プログラムはなぜしくじるか? 110 |
12.2 試験すること 111 |
12.3 虫取り 113 |
12.4 副プログラムと誤りの分離 114 |
13. レコード 116 |
13.1 レコード変数 116 |
13.2 with文 119 |
13.3 可変レコード 122 |
練習問題 125 |
14. 集合 127 |
14.1 集合の宣言 127 |
14.2 集合の操作 130 |
14.3 集合の比較 133 |
練習問題 134 |
15. ファイル 136 |
15.1 テキストファイル 136 |
15.2 バッファファイル 140 |
15.3 乱順ファイル 144 |
練習問題 146 |
16. 動的データ構造 148 |
16.1 スタックとキュー 148 |
16.2 ポインタ変数 154 |
16.3 リスト構造 158 |
16.4 2分木 161 |
練習問題 166 |
付録 169 |
付録A:予約語 169 |
付録B:標準の名前 169 |
付録C:代替記号 170 |
付録D:文字符号 170 |
付録E:Pascalの拡張と処理系固有の機能 172 |
付録F:データ型の分類 173 |
付録G:練習問題の解答(部分) 174 |
索引 181 |