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