Математика | ||||
Систематическое программирование введение -Н.Вирт Москва 1977 стр.1880 | ||||
Систематическое программирование введение -Н.Вирт Москва 1977 стр.1880
Книга Н. Вирта, одного из наиболее известных специалистов в современном программировании, посвящена методам систематического конструирования алгоритмов и написана как вводный курс программирования. Поскольку такой курс должен быть ^составной частью общего математического образования, особое внимание уделяется системе обозначений, языку. В книге используется язык Паскаль, получивший в последние годы широкое признание и известность; в ней нашли отражение идеи структурного программирования, правила аналитической проверки программ, инженерные аспекты программирования. Доступность изложения, новизна материала делают книгу ценным учебным пособием для студентов и аспирантов, изучающих программирование. Преподавателям и специалистам она поможет систематизировать свои знания и представления в этой области. ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА При внимательном изучении истории развития вычислительных машин и их приложений в различных сферах человеческой деятельности нельзя не отметить две очень важные тенденции. Во-первых, к использованию результатов, полученных с помощью вычислительных машин, приобщилось огромное количество людей-(в промыш-ленно развитых странах более 30% от общей численности работающих). По крайней мере половине из них не требуются профессиональные навыки работы на ЭВМ, но необходимы знания, дающие четкое представление о возможностях машин. Во-вторых, при разработке больших систем профессионального программиста уже не могут удовлетворить сведения о программистских «трюках», называемых иногда «этюдами программирования». Требуются фундаментальные знания. Эти две тенденции привели в последние годы к переоценке ценностей и, если хотите, к кризису в программировании. В книге профессора Высшей технической школы в Цюрихе Никлауса Вирта нашли отражения новые идеи и веяния, направленные на решение возникших проблем. Ранее в литературе (как в зарубежной, так и в отечественной) получила распространение следующая схема: обширный раздел посвящался системам счисления, затем излагались приемы программирования на машинном языке с привлечением символических обозначений и в заключение изучался какой-либо язык программирования (чаще других Алгол-60). Недостатки такой схемы очевидны: читатель* с самого начала сталкивается с особенностями конкретной машины или специфического языка программирования, упуская из виду концептуальную целостность предмета. В таком изложении курс преследует весьма утилитарные цели: научить слушателя программировать задачу и решать ее на конкретной машине. В вводном курсе программирования, рекомендованном' Американской ассоциацией по вычислительной технике (АСМ), пытаются справиться с этой трудностью, предлагая включить в курс по меньшей мере два, непременно разных, языка программирования (например, Алгол, Снобол или.Фортран, Лисп). По мысли автора настоящей книги, в вводном курсе программирования должны рассматриваться вопросы систематического (это лово вынесено в название книги) конструирования алгоритмов, а СОДЕРЖАНИЕ Предисловие редактора перевода Предисловие.......... 1. ВВЕДЕНИЕ.................... 2. ОСНОВНЫЕ ПОНЯТИЯ.............. 3. СТРУКТУРА ВЫЧИСЛИТЕЛЬНЫХ МАШИН . . . 4. СРЕДСТВА И СИСТЕМЫ ПРОГРАММИРОВАНИЯ . 5. НЕКОТОРЫЕ ПРИМЕРЫ ПРОСТЫХ ПРОГРАММ Упражнения............... 6. КОНЕЧНОСТЬ ПРОГРАММ........................ Упражнения.......................... 7. ПОСЛЕДОВАТЕЛЬНАЯ НОТАЦИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ 7.1. Обзор............... 7.2. Выражения и инструкции...... 7.3. Линейная запись простых программ Упражнения............. 8. типы ДАННЫХ........................... 8.1. Тип BOOLEAN (логический)................ 8.2. Тип INTEGER (целый)................... 8.3. Тип CHAR (литерный)................... 8.4. Тип REAL (вещественный)................. Упражнения.......................... 9. ПРОГРАММЫ, ОСНОВАННЫЕ НА РЕКУРРЕНТНЫХ СООТНОШЕНИЯ/ 9.1. Последовательности..................... 9.2. Ряды........................... . Упражнения.......................... 10. ФАЙЛОВАЯ СТРУКТУРА ДАННЫХ , 10.1. Понятие файла....... , 10.2. Генерирование файла ... 10.3. Просмотр файла...... 10.4. Текстовые файлы....... Упражнения......... 11. МАССИВ КАК СТРУКТУРА ДАННЫХ................. ',, _.„.:....... •! .......••«»»tt»t'*{ 12. ПОДПРОГРАММЫ, ПРОЦЕДУРЫ И ФУНКЦИИ............. Ю5 12.1. Основные понятия и терминология.............. 105 12.2. Локальность......................... 106 12.3. Параметры процедуры.................... 108 12.4. Использование имени процедуры или функции в качестве фактического параметра...................... 111 Упражнения........................... 114 13. ПРЕОБРАЗОВАНИЕ ПРЕДСТАВЛЕНИЙ ЧИСЕЛ............. 1J7 13.1. Ввод и вывод неотрицательных целых чисел в позиционной форме 118 13.2. Вывод дробей в позиционной форме..............120 13.3. Преобразование представлений с плавающей точкой...... 121 Упражнения.......................... 123 14. ОБРАБОТКА ТЕКСТОВ С ИСПОЛЬЗОВАНИЕМ МАССИВОВ И ФАЙЛОВ . ]24 14.1. Регулирование длины строк в текстовом файле......... 124 14.2. Редактирование строки текста................ 127 14.3. Распознавание регулярных цепочек символов.........130 Упражнения.......................... 135 15. ПОШАГОВАЯ РАЗРАБОТКА ПРОГРАММ................ 139 15.1. Решение системы линейных уравнений . . .......... 141 15.2. Нахождение минимального числа, равного двум суммам двух различных пар натуральных чисел, возведенных в третью степень 147 15.3. Получение первых п простых чисел............. 151 15.4. Эвристический алгоритм . . . .-............... 156 Упражнения.......................... 164 Приложение А. Язык программирования Паскаль........... 169 Приложение В. Литеры в коде ASCII . . ............... 177 Указатель].............................. 179 Цена: 150руб. |
||||