Математика | ||||
Использование языка Модула-2-Райли Д.М.: Мир, 1993.—608 с., ил. | ||||
Райли Д.
Использование языка Модула-2: Вводный курс: Пер. с англ. —М.: Мир, 1993.—608 с., ил. ISBN 5-03-001301-6 В книге американского специалиста основное внимание уделяется технике и технологии программирования. Даются рекомендации по использованию структур данных и управления данными. Используются современные инструментальные средства программирования, в том числе иерархические схемы, структурные и потоковые диаграммы, псевдокод и пошаговая детализация. Рассматриваются наиболее часто применяемые в программировании алгоритмы. Изложение сопровождается многочисленными примерами программ на языке Модула-2. Для студентов вузов и начинающих программистов. Содержание Предисловие редактора перевода ................ 5 Предисловие ........................ 6 1. Процесс программирования ................... 10 1.1. Программирование-что это такое? ............. 10 1.2. Шаги процесса программирования ............. 10 1.3. Программная документация ............... 16 1.4. Будущее программирования................ 17 1.5. Выводы ....................... 17 Упражнения ..................... 18 Программные проекты ................. 19 2. Понятие данные...................... 26 2.1. Хранение информации.................. 26 2.2. Синтаксические диаграммы................ 27 2.3. Семантика ...................... 31 2.4. Оператор присваивания ................. 32 2.5. Элементарные типы данных. Тип INTEGER........... 34 2.6. Целые выражения ................... 36 2.7. Другие элементарные типы данных ............. 37 2.8. Строгое определение типов данных ............. 41 2.9. Последовательности операторов .............. 45 2.10. Комментарий .................... 48 2.11. Стандартный вывод в Модуле-2. Модуль InOut......... 50 2.12. Стандартный ввод средствами модуля InOut.......... 53 2.13. Каркас программного модуля на языке Модула-2........ 55 2.14. Пример программы .................. 58 2.15. Программирование с точки зрения кодировщика ....... 60 2.16. Какими могут быть ошибки ............... 62 2.17. Выводы ....................... 63 Упражнения...................... 65 Программные проекты ................. 69 3. Методы проектирования программ ................ 70 3.1. От определения к коду ................. 70 3.2. Как проектировать ................... 70 Содержание 603 3.3. Проектирование «сверху вниз»............... 73 3.4. Формы записи проектирования «сверху вниз»......... 79 3.5. Пример проектирования «сверху вниз»............ 80 3.6. Отладка ....................... 90 3.7. Выводы ....................... 90 Упражнения...................... 91 Программные проекты ................. 93 4. Управляющие структуры: последовательность и абстракция....... 97 4.1. Основные управляющие структуры ............. 97 4.2. Последовательности .................. 99 4.3. Применение в алгоритмах абстракции в управлении....... 99 4.4. Абстракция в управлении в Модуле-2: процедуры......... 104 4.5. Передача параметров .................. 116 4.6. Пример проектирования с использованием процедур ...... 120 4.7. Выводы ....................... 123 Упражнения ..................... 123 Программные проекты ................. 125 5. Управляющие структуры: выбор и повторение ........... 128 5.1. Для чего еще нужны управляющие структуры......... 128 5.2. Выбор. Условные операторы IF-THEN и IF-THEN-ELSE..... 128 5.3. Операторы Модулы-2 IF-THEN и IF-THEN-ELSE......... 131 5.4. Проектирование с использованием условных операторов. Пример . . 133 5.5. Повторение. Управляющая структура WHILE ......... 137 5.6. Цикл с пересчетом и цикл с условием окончания........ 139 5.7. Проектирование с использованием операторов WHILE. Пример . . 141 5.8. Еще один алгоритм................... 145 5.9. Выводы ....................... 156 Упражнения ..................... 157 Программные проекты ................. 160 6. Логика и программирование .................. 171 6.1. Логические значения и выражения ............. 171 6.2. Импликация и эквивалентность .............. 173 6.3. Логические типы данных в Модуле-2............. 174 6.4. Упрощение логических выражений.............. 176 6.5. Порядок вычисления логических выражений в Модуле-2...... 178 6.6. Применение логических выражений ............. 180 6.7. Устойчивые программы ................. 181 6.8. Использование логических утверждений для документирования программы ......................... 183 6.9. Отладка и логические выражения.............. 185 6.10. Автоматическая проверка утверждений ........... 185 6.11. Выводы....................... 187 Упражнения ..................... 188 Программные проекты ................. 189 7. Процедуры ......................... 192 7.1. Для чего нужны параметры................ 192 7.2. Передача параметров по значению ............. 195 7.3. Передача параметров по ссылке .............. 199 604 Содержание 7.4. Функции ....................... 204 7.5. Стандартные процедуры и функции Модулы-2.......... 207 7.6. RETURN и HALT .................... 210 7.7. Видимость, область видимости и подчинение ......... 213 7.8. Иерархические схемы программ .............. 221 7.9. Процедуры. Пример .................. 222 7.10. Как сделать процедуру более понятной........... 227 7.11. Отладка процедур. Заглушки и отладочные программы..... 228 7.12. Выводы....................... 230 Упражнения ..................... 231 Программные проекты ................. 236 8. Ввод и вывод текстовых файлов ................ 243 8.1. Текстовые файлы ................... 243 8.2. Дополнительные сведения об операциях ввода-вывода...... 244 8.3. Обработка файлов модулем InOut............... 250 8.4. Еще одна программа для работы с файлами ......... 255 8.5. Выводы ....................... 257 Упражнения ..................... 257 Программные проекты ................. 260 9. Управляющие структуры. Выбор ................ 264 9.1. Оператор IF ...................... 264 9.2. Многовариантный выбор................. 265 9.3. Взаимосвязь между E1SIF, вложенными IF и необязательными ELSE 270 9.4. Оператор CASE ..................... 277 9.5. IF и CASE: что выбрать?................. 280 9.6. Отладка управляющей структуры выбора........... 283 9.7. Выводы ....................... 284 Упражнения ..................... 285 Программные проекты ................. 289 10. Управляющие структуры. Повторение .............. 297 10.1. Цикл WHILE ..................... 297 10.2. Цикл REPEAT..................... 298 10.3. Цикл LOOP и оператор EXIT............... 300 10.4. Взаимосвязь между конструкциями WHILE, REPEAT и LOOP . . 305 10.5. Инвариант цикла ................... 307 10.6. Проектирование циклов ................ 311 10.7. Отладка циклов ................... 323 10.8. Выводы ...................... 324 Упражнения ..................... 325 Программные проекты ................. 327 11. Абстракция данных ..................... 335 11.1. Дополнительная абстракция ............... 335 11.2. Константы ..................... 335 11.3. Типы ....................... 338 11.4. Нумерованные типы данных............... 341 11.5. Подмножественный тип данных ............. 344 1 1 А Г1 гч ттхли/л-мл^ч^-то о с-ои^оти^* А|С?*т/~\ъ" гчп^г^глт/'мл'! m_ift«"\r>Q Ча.п 11.8. Общие ошибки при работе с CONST, TYPE, нумерованными типами и подмножествами................... 353 11.9. Выводы ...................... 357 Упражнения ..................... 358 Программные проекты ................. 363 12. Введение в структурированные данные: одномерный массив ...... 370 12.1. Для чего нужны структурированные типы? ......... 370 12.2. Понятие массива ................... 372 12.3. Объявление массива .................. 374 12.4. Доступ к элементам массива .............. 377 12.5. Использование векторов-произвольный доступ........ 380 12.6. Управляющая структура для циклической обработки цикла FOR . . 389 12.7. Использование векторов: последовательный доступ ...... 394 12.8. Пример алгоритма сортировки: сортировка со вставкой .... 401 12.9. Работа с целым массивом ............... 407 12.10. Цепочки литер ................... 411 12.11. Введение в табличное управление кодом.......... 415 12.12. Выводы ...................... 418 Упражнения .................... 419 Программные проекты ................ 424 13. Многомерные массивы .................... 434 13.1. Для чего нужны многомерные массивы? .......... 434 13.2. Векторы массивов .................. 434 13.3. Двухмерные массивы ................. 440 13.4. Последовательная обработка матриц ........... 444 13.5. Многомерные массивы................. 446 13.6. Использование массивов в качестве функций......... 448 13.7. Откладка программ, обрабатывающих массивы ....... 454 13.8. Выводы ...................... 454 Упражнения ..................... 455 Программные проекты................. 458 14. Структуры данных. Тип запись................. 467 14.1. Неоднородные данные ................. 467 14.2. Запись ....................... 467 14.3. Записи со структурированными полями........... 472 14.4. Операции над целыми записями ............. 475 14.5. Массивы записей ................... 476 14.6. Сортировка записей .................. 479 14.7. Оператор WITH ................... 480 14.8. Записи с вариантными частями.............. 484 14.9. Выводы ...................... 489 Упражнения ..................... 491 Программные проекты................. 494 15. Дополнительные средства программирования............ 500 х 15.1. Рекурсия ...................... 500 15.2. Повторение и рекурсия в сравнении............ 506 15.3. Указатели и динамические данные ............ 507 15.4. Структура данных................... 514 15.5. Вновь процедура EchoReversed .............. 519 15.6. Стеки и очереди ................... 521 15.7. Тип данных множество................. 525 15.8. Выводы ...................... 529 Упражнения ..................... 530 Приложение 1. Синтаксические диаграммы для Модулы-2......... 537 Приложение 2. Зарезервированные слова Модулы-2........... 552 Приложение 3. Таблица кодов ASCII ............... 554 Приложение 4. Аксиомы и теоремы ............... 556 Приложение 5. Стандартные процедуры и функции Модулы-2 (включая модули Storage и InOut)................... 557 Ответы к некоторым упражнениям................ 566 Глоссарий ......................... 584 Предметный указатель .................... 598 Цена: 300руб. |
||||