Учебное пособие
"Методы программирования" содержит
в себе систематизированное изложение
ключевых понятий и методов программирования.
Данная книга рассчитана на студентов
ВУЗов и специалистов.
введение 3
ГЛАВА 1. НАЧАЛЬНЫЕ ПОНЯТИЯ ПРОГР^МИРОВАНИЯ ! ! ! 5
1.1. Основные определения......................5
1.2. Этапы программирования....................6
1.3. Понятие алгоритма. Алгоритмизация...............8
1.4. Основные средства описания алгоритма............12
1.5. Алгоритмический язык программирования............19
1.6. Спецификация программ.....................24
1.7. Проверка правильности программы...............26
1.8. Структура вычислительной машины...............31
1.9. Программное обеспечение....................37
ГЛАВА 2. ЯЗЫК ПРОГРАММИРОВАНИЯ
КАК СРЕДСТВО КОНСТРУИРОВАНИЯ АЛГОРИТМОВ........42
2.1. Обзор языков программирования ................42
2.2. Сравнение языков программирования..............47
2.2.1. Анализ синтаксиса языков программирования .......48
2.2.2. Данные и их организация..................49
2.2.3. Действия и выполнение программы.............50
2.3. Структура языка. Синтаксис и семантика............55
2.4. Основные элементы алгоритмических языков..........59
2.4.1. Программа..........................59
2.4.2. Основные символы алгоритмического языка........61
2.4.3. Данные. Скалярные типы данных..............65
2.4.4. Стандартные типы данных..................67
2.5. Выражения............................71
2.6. Операторы............................72
2.6.1. Операторы ввода-вывода...................73
2.6.2. Оператор присваивания...................74
2.6.3. Составной оператор.....................75
2.6.4. Условные операторы.....................76
2.6.5. Селективный оператор....................79
2.6.6. Операторы цикла......................81
2.6.7. Оператор перехода. Пустой оператор............85
2.7. Программирование некоторых вычислительных алгоритмов . . 87
2.8. Процедуры и функции......................98
2.8.1. Основные понятия .....................98
2.8.2. Подпрограммы в языке Турбо-Паскаль...........99
2.8.3. Параметры подпрограмм..................101
2.8.4. Параметры-процедуры и параметры-функции.......103
2.8.5. Процедуры без параметров ................106
2.9. Принцип локализации ....................107
ГЛАВА 3. СТРУКТУРЫ ДАННЫХ И АЛГОРИТМЫ .........ПО
3.1. Основные понятия структур данных..............110
3.2. Массив как структура данных ................113
3.2.1. Сортировка массивов................... 124
3.3. Строки............................. 132
3.4. Записи............................. 136
3.5. Множество .......................... 144
3.6. Динамические структуры данных ............... 148
3.6.1. Списки .......................... 151
3.6.2. Стек............................ 159
3.6.3. Очередь.......................... 161
3.6.4. Двусвязный список.................... 163
3.6.5. Деревья.......................... 166
3.7. Файлы............................. 171
3.7.1. Типизированные файлы.................. 172
3.7.2. Текстовые файлы..................... 182
3.7.3. Нетипизированные файлы................. 186
3.7.4. Сортировка файлов.................... 188
ГЛАВА 4. РЕКУРСИВНЫЙ ПОДХОД В ПРОГРАММИРОВАНИИ . . 193
4.1. Программирование рекурсивных функций........... 195
4.2. Рекурсия как способ понижения
размерности задачи......................... 196
4.3. Рекурсия и структуры данных ................ 198
4.4. Рекурсия в эвристических алгоритмах............. 201
4.5. Сравнение рекурсии и итерации................ 205
ГЛАВА 5. ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА ПРОГРАММ .... 209
5.1. Структурное кодирование................... 210
5.2. Метод пошаговой детализации................. 215
5.3. Модульное программирование................. 222
5.4. Средства модульного программирования в
системе Турбо-Паскаль....................... 226
5.4.1. UNIT-модули....................... 228
5.4.2. Структура модуля..................... 229
5.4.3. Компиляция модулей................... 231
5.5. Разработка библиотеки методов численного
решения алгебраических уравнений ................ 236
ГЛАВА 6. ТЕСТИРОВАНИЕ И ОТЛАДКА............... 245
6.1. Принципы тестирования.................... 246
6.2. Тестирование спецификаций ................. 246
6.3. Тестирование на основании анализа текста программы .... 248
6.4. Тестовые данные ....................... 249
6.5. Этапы тестирования...................... 250
6.6. Примеры тестирования циклов .............. 251
6.7. Тестирование программ численных расчетов.......... 255
6.8. Тестирование модулей..................... 256
6.9. Средства тестирования ..................... 258
6.10. Отладка............................ 259
6.11. Советы программисту .................... 261
6.12. Средства тестирования и отладки в системе
программирования Турбо-Паскаль................. 262
ГЛАВА 7. ПРИМЕР РАЗРАБОТКИ СИСТЕМЫ АВТОМАТИЗАЦИИ ОБРАБОТКИ ЧЕКОВ В МАГАЗИНЕ...... 267
ЛИТЕРАТУРА............................. 278