1. АЛГОРИТМИ.. 9
1.1. Змістовне поняття алгоритму.. 9
1.2. Виконавець алгоритмів і його система команд.. 11
1.3. Основні властивості алгоритмів. 14
1.4. Величини.. 15
1.5. Типи величин.. 16
1.6. Цілі числа.. 17
1.7. Дійсні числа.. 20
1.8. Рядкові величини.. 23
1.9. Форми запису алгоритмів. 27
1.10. Команди управління. 30
1.11. Блок - схеми.. 32
1.12. Допоміжні алгоритми.. 33
1.13. Базові структури управління. 38
1.14. Абстракція даних.. 40
1.15. Структурне програмування. 42
1.16. Парадигма процедурного програмування. 43
2. КОМП’ЮТЕРИ І ПРОГРАМИ.. 44
2.1. Комп’ютер як універсальний Виконавець. 44
2.2. Мови програмування високого рівня. 46
2.3. Основні етапи проектування програми.. 50
2.4. Технологія трансляції програм.. 51
2.5. Поняття про систему програмування. 51
3. МОВА ПРОГРАМУВАННЯ ПАСКАЛЬ.. 54
3.1. Алфавіт мови.. 54
3.2. Концепція даних.. 54
3.3. Імена та їх застосування. 55
3.4. Структура Pascal-програми.. 55
3.5. Поняття про лексику, прагматику, синтаксис і семантику мови програмування. 55
3.6. Синтаксичні діаграми як засіб визначення мови програмування. 56
4. ПРОСТІ ТИПИ ДАНИХ. ЛІНІЙНІ ПРОГРАМИ.. 58
4.1. Заголовок програми.. 58
4.2. Константи і їх використання. Розділ констант. 58
4.3. Змінні програми. Розділ змінних.. 59
4.4. Стандартні прості типи даних.. 59
4.5. Тип даних Integer. 60
4.6. Тип даних Real. 60
4.7. Тип даних Сhar. 61
4.8. Поняття виразу. Значення виразу. Тип виразу.. 62
4.9. Розділ операторів. Оператор присвоювання. 63
4.10. Оператори введення - виведення. 63
4.11. Приклад лінійної програми.. 64
4.12. Поняття складності виразу. Оптимізація обчислень. 65
4.13. Оптимізація лінійних програм.. 66
4.14. Задачі і вправи.. 68
5. ПРОЦЕДУРНЕ ПРОГРАМУВАННЯ.. 70
5.1. Опис процедури.. 70
5.2. Формальні параметри. Локальні і глобальні об’єкти.. 70
5.3. Оператор процедури. Фактичні параметри.. 71
5.4. Функції 73
5.5. Приклади.. 73
6. ПРОГРАМУВАННЯ РОЗГАЛУЖЕНЬ.. 76
6.1. Поняття умови. Тип даних Boolean (логічний) 76
6.2. Складений оператор. 77
6.3. Оператори вибору: умовний оператор. 78
6.4. Приклади.. 80
6.5. Задачі вибору й упорядкування. 81
6.6. Задачі упорядкування. 87
6.7. Оптимізація розгалужень. 90
6.8. Розділ типів. Перелічуваний тип.. 91
6.9. Оператори вибору: оператор варіанта.. 92
6.10. Вправи.. 94
7. ОПЕРАТОРИ ПОВТОРЕННЯ З ПАРАМЕТРОМ. МАСИВИ.. 97
7.1. Оператор циклу з параметром.. 97
7.2. Циклічні програми. Складність циклічної програми. Оптимізація циклічних програм 100
7.3. Обмежені типи.. 101
7.4. Складні (складені) типи.. 102
7.5. Регулярний тип. Масиви.. 102
7.6. Пошук елемента в масиві 104
7.7. Ефективність алгоритму за часом.. 105
7.8. Мітки. Оператор переходу. Застосування оператора переходу для дострокового виходу з циклу 106
7.9. Постановка задачі сортування. 107
7.10. Сортування масивів. 108
7.11 Сортування обмінами.. 108
7.12. Сортування вибором.. 110
7.13. Задачі і вправи.. 112
8. ІТЕРАЦІЙНІ ЦИКЛИ.. 114
8.1. Оператори повторення While і Repeat. 114
8.2. Алгоритми пошуку і сортування. Лінійний пошук у масиві 117
8.3. Поліпшений алгоритм сортування обмінами.. 119
8.4. Бінарний пошук в упорядкованому масиві 120
8.5. Алгоритми сортування масивів (продовження). Сортування вставками.. 121
8.6. Задачі і вправи.. 122
9. РЕКУРСІЯ.. 124
9.1. Рекурсивно-визначені процедури і функції 124
9.2. Приклади рекурсивних описів процедур і функцій.. 128
9.3. Переваги і недоліки рекурсивних алгоритмів. 133
9.4. Задачі і вправи.. 133
10. ШВИДКІ АЛГОРИТМИ СОРТУВАННЯ І ПОШУКУ.. 135
10.1. Нижня оцінка часу задачі сортування масиву за числом порівнянь. 135
10.2. Швидкі алгоритми сортування: Сортування деревом.. 135
10.3. Пірамідальне сортування. 137
10.4. Швидке сортування Хоара.. 141
10.5. Пошук k-того в масиві. Пошук медіани масиву.. 142
10.6.* Метод “розділяй і володій”. 144
10.7.* Метод цифрового сортування. 145
10.8. Задачі і вправи.. 146
11. СКЛАДНІ ТИПИ ДАНИХ: ЗАПИСИ І ФАЙЛИ.. 148
11.1. Складні типи даних у мові Pascal. 148
11.2. Записи.. 149
11.3. Записи з варіантами.. 151
11.4. Оператор приєднання. 153
11.5. Рядки і засоби їх обробки.. 155
11.7. Файли. Управління файлами.. 158
11.8. Основні задачі обробки файлів. 160
11.9. Сортування файлів. 162
11.10. Задача корегування файла.. 167
11.11. Задачі і вправи.. 168
12. МНОЖИНИ.. 170
12.1. Множинний тип.. 170
12.2. Конструктор множини.. 170
12.3. Операції і відношення над множинами.. 171
12.4. Застосування множин у програмуванні 171
12.5. Задачі і вправи.. 173
13. Динамічні структури даних.. 174
13.1. Стандартні динамічні структури.. 175
13.2. Посилальний тип даних. Посилання. 177
13.3. Програмування динамічних структур даних.. 179
13.4. Стеки, списки, черги.. 181
13.5. Задачі 184
13.6. Дерева.. 185
13.7. Бінарні дерева.. 186
13.8. Задачі 190
14. МЕТОДОЛОГІЯ СТРУКТУРНОГО ПРОГРАМУВАННЯ: ПІДСУМКИ.. 191
14.1. Основні структури управління. 191
14.2. Основні структури даних.. 194
14.3. Методологія програмування “зверху-вниз”. 195
14.4. Приклад: Система лінійних рівнянь. 196
14.5. Проектування модулів. Модуль RAT.. 205
14.6. Реалізація модуля. 209
14.7. Висновки (модульне програмування) 210
14.8. Заключне зауваження: переходимо до об’єктів. 211