скачать doc
О Г Л А В Л Е Н И Е
|   Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  |    3  |  
 
  |    |  
|   И АНАЛИЗ АЛГОРИТМА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  |    4  |  
|   1.1. Основные определения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  |    4  |  
|   1.2. Разработка алгоритма . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  |    5  |  
|   1.3. Метод математической индукции . . . . . . . . . . . . . . . . . . . . . . . . . . .  |    7  |  
|   1.4. Запись алгоритма и доказательство корректности . . . . . . . . . . . . . .  |    10  |  
|   1.5. Анализ алгоритма Евклида . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  |    12  |  
|   1.6. Числа Фибоначчи и анализ алгоритма Евклида . . . . . . . . . . . . . . . .  |    13  |  
|   1.7. Бинарный алгоритм нахождения НОД . . . . . . . . . . . . . . . . . . . . . . .  |    15  |  
|   1.8. Неструктурированная версия бинарного алгоритма  |    |  
|   нахождения НОД . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  |    20  |  
|   1.9. Сравнительные испытания алгоритмов нахождения НОД . . . . . . . .  |    23  |  
|   2. ОСНОВЫ АНАЛИТИЧЕСКОЙ ВЕРИФИКАЦИИ ПРОГРАММ . . . . . .  |    28  |  
|   2.1. Основные правила аналитической верификации программ . . . . . .  |    28  |  
|   2.2. Теорема о цикле, его инварианте и ограничивающей функции . . .  |    35  |  
|   2.3. Соотношение между хоаровскими инвариантами цикла и  |    |  
|   индуктивными утверждениями Флойда . . . . . . . . . . . . . . . . . . . . . . . . .  |    36  |  
|   2.4. Алгоритм возведения в степень . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  |    40  |  
|   3. ИНДУКТИВНЫЕ ФУНКЦИИ НА ПОСЛЕДОВАТЕЛЬНОСТЯХ . . . . .  |    49  |  
|   3.1. Последовательности и файлы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  |    49  |  
|   3.2. Индуктивные функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  |    51  |  
|   3.3. Стационарные значения индуктивных функций . . . . . . . . . . . . . . .  |    53  |  
|   3.4. Индуктивные расширения функций . . . . . . . . . . . . . . . . . . . . . . . . .  |    54  |  
|   3.5. Примеры задач с индуктивными функциями . . . . . . . . . . . . . . . . . .  |    55  |  
|   4. КОРРЕКТНОСТЬ ПРОГРАММ ПРИ РАБОТЕ С МАССИВАМИ . . . . . .  |    59  |  
|   4.1. Кванторы и запись утверждений о массивах . . . . . . . . . . . . . . . . . .  |    59  |  
|   4.2. Правила вывода для цикла с параметром . . . . . . . . . . . . . . . . . . . . .  |    63  |  
|   4.3. Примеры программ работы с массивами . . . . . . . . . . . . . . . . . . . . .  |    64  |  
|   4.4. Задача разделения массива на две части . . . . . . . . . . . . . . . . . . . . . .  |    68  |  
|   4.5. Задача слияния упорядоченных массивов . . . . . . . . . . . . . . . . . . . . .  |    70  |  
|   4.6. Задачи перестановки и обращения сегментов массива . . . . . . . . . .  |    72  |  
|   4.7. Задача о максимальной равнине . . . . . . . . . . . . . . . . . . . . . . . . . . . .  |    82  |  
|   5. ПОИСК В МАССИВЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  |    84  |  
|   5.1. Линейный поиск . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  |    84  |  
|   5.2. Разработка алгоритма бинарного поиска . . . . . . . . . . . . . . . . . . . . .  |    86  |  
|   5.3. Анализ алгоритма бинарного поиска . . . . . . . . . . . . . . . . . . . . . . . .  |    88  |  
|   5.4. Оптимизация программы бинарного поиска . . . . . . . . . . . . . . . . . .  |    92  |  
|   Список литературы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  |    96  |  
|   Список условных обозначений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  |    97  |  
Ивановский Сергей Алексеевич
РАЗРАБОТКА КОРРЕКТНЫХ ПРОГРАММ
Учебное пособие
Редактор Э. К. Долгатов
ЛР № 020617 от 24.06.98
------------------------------------------------------------------
Подписано в печать . Формат
Печать офсетная. Усл.печ.л. 5.81. Уч.-изд.л. 6.25.
Тираж 170 экз. Заказ
------------------------------------------------------------------
Издательство СПбГЭТУ «ЛЭТИ»
197376, С.-Петербург, ул. Проф. Попова, 5