ЗМІСТ

Передмова

ЧАСТИНА 1. ПОЧАТКИ ПОБУДОВИ АЛГОРИТМІВ
1. Огляд основних понять
1.1. Процес, алгоритм, мова
1.2. Комп'ютери та програми
1.3. Зовнішня пам'ять та файли
1.4. Мова Паскаль, трансляція та система програмування
2. Починаємо вивчати Паскаль
2.1. Лексика мови Паскаль та загальний вигляд програми
2.2. Вирази з цілими та бульовими сталими
2.3. Вирази та оператори
3. "Написано одне, а робиться ... різне
3.1. Не зовсім дійсні числа
3.2. Комп'ютер сам вирішить, що робити і чого не робити
3.3. Функція та її виклики
3.4. Процедури, підпрограми та параметри
3.5. Підзадачі, підпрограми та бібліотеки підпрограм
4. Цикл "поки" та його використання
4.1. Поки...
4.2. Рекурентні послідовності та співвідношення
4.3. Числа прості й не тільки
5. Інші види циклів
5.1 Доти, поки не...
5.2. "Для"
5.3. Ланцюгові дроби та обчислення трансцендентних функцій
5.4. Мітки та переходи
5.5. Читання послідовностей
6. Тип символів та інші перелічувані
6.1. Тип символів
6.2. Перелічувані типи
6.3. Означення власних перелічуваних типів
6.4. Оператор вибору вариантів
7. Повернемося до означень
7.1. Область дії означень та побічний ефект
7.2. Модуль — збірник означень
7.3. Структури, вони ж записи
7.4. Приклади створення та використання модулів
8. Підпрограми докладніше
8.1. Точка повернення
8.2. Локальна пам'ять процесу виконання виклику підпрограми
8.3. Підстановка аргументів на місце параметрів
8.4. Процес виконання виклику підпрограми
8.5. Автоматична пам'ять та програмний стек
8.6. Зберігання локальних змінних між викликами підпрограми
8.7. Підпрограми як параметри
9. Рекурсивні означення та підпрограми
9.1. Рекурсивні означення
9.2. Рекурсивні підпрограми
9.3. "Ханойські вежі"
9.4. "Індійський алгоритм" піднесення до степеня
10. Мова та метамова
10.1. Мова: вирази та їх семантика
10.2. Метамова БНФ
10.3. Розширені БНФ
10.4. Синтаксичні діаграми

ЧАСТИНА 2. ОРГАНІЗАЦІЯ ДАНИХ
11. Подання чисел та інших значень у комп'ютері
11.1. Позиційні системи числення
11.2. Внутрішнє подання даних стандартних типів
11.3. Цілі та дійсні типи мови Турбо Паскаль
12. Масиви
12.1. Одновимірні масиви
12.2. Рядки
12.3. Нестандартне подання чисел
12.4. Матриці та багатовимірні масиви
13. Початки роботи з файлами
13.1. Фізичні файли та файлові змінні
13.2. Послідовний запис у типізовані файли
13.3. Послідовне читання типізованих файлів
13.4. Прямий доступ у системі Турбо Паскаль
14. Обробка текстів
14.1. Особливості організації текстів
14.2. Записування в текст
14.3. Читання числових сталих із тексту
14.4. Особливості читання символів і рядків із тексту
14.5. Читання тексту з рядками обмеженої довжини
14.6. Посимвольне читання тексту
14.7. Використання рядків для виведення в текст
15. Буферизація введення-виведення та безтипові файли
15.1. Ідея буферизації
15.2. Буферизація текстів
15.3. Буферизація екрана та клавіатури
15.4. Тип безтипових файлів
16. Використання вільної пам'яті
16.1. Адреси та вказівники
16.2. Вільна пам'ять
16.3. Лінійні зв'язані списки
16.4. Списки як рекурсивні об'єкти
16.5. Великі масиви у вільній пам'яті

ЧАСТИНА 3. КІЛЬКА КЛАСИЧНИХ ЗАДАЧ І АЛГОРИТМІВ
17. Пошук, сортування та поняття складності
17.1. Пошук за ключем у масиві
17.2. Бульбашкове сортування
17.3. Поняття складності алгоритму та задачі
17.4. Ефективні алгоритми сортування
18. Знайомство з сортуванням файлів
18.1. Збалансоване злиття
18.2. Вибір із заміщенням
18.3. Індексові файли
19. Перебирання варіантів
19.1. Задача про розміщення ферзів
19.2. Дерево пошуку та його обхід
19.3. Метод розгалужень і меж
19.4. Евристичні алгоритми
19.5. Застосування принципу оптимальності
20. Обчислення виразів
20.1. Задача обчислення виразів
20.2. Зворотний польський запис та алгоритм його побудови
20.3. Алгоритм обчислення виразу за його ЗПЗ
20.4. Записи з варіантами
20.5. Програма обчислення виразу
20.6. Уточнення алгоритму побудови ЗПЗ
20.7. Уточнення алгоритму обчислення виразу
20.8. Множини в мові Паскаль
20.9. Читання лексем виразу
21. Елементи синтаксичного аналізу
21.1. Формальні мови та їх задання
21.2. Контекстно-вільні та LA(1)-граматики
21.3. Побудова алгоритму LA(1)-аналізу
21.4. Аналіз та обчислення дужкових виразів
22. Швидкий пошук рядка за зразком
22.1. Оцінка кількості порівнянь
22.2. Метод Бойєра-Мура (спрощений варіант)
22.3. Метод Кнута-Морріса-Пратта

Відповіді та вказівки до задач
Тлумачний словничок
Список літератури
Додаток