Математика | ||||
Программирование на языке Модула-2-Непли Э | ||||
Непли Э., Платт Р.
53 Программирование на языке Модула-2: Пер. с англ. - М.: Радио и связь, 1989. - 304с.: ил. ISBN 5-256-00307-0. Книга авторов из США содержит полное описание языка программирования Модула-2. Рассмотрены основные возможности языка, технология программирования. Подробно описаны компоненты языка: структуры и типы данных, предложения присваивания и управления, процедуры и модули. Большое внимание уделено сложным процедурам ввода-вывода, рекурсии, возможностям программирования нижнего уровня, включая управление процессами. На примере разработки и реализации большой программы (текстового редактора) показаны преимущества Модулы-2 при создании больших, надежных и удобных для сопровождения программ. Для программистов. ПРЕДИСЛОВИЕ К РУССКОМУ ИЗДАНИЮ В настоящее время во всем мире наблюдается повышенный интерес к Модуле-2 — одному из современных языков программирования. Популярность и перспективность этого языка обусловлены рядом его особенностей, основными из которых являются: включение в язык средств для проектирования больших программных систем и решения задач системного программирования; возможность построения эффективных программ реального времени; возможность переноса разрабатываемого на языке Модула-2 программного обеспечения за счет дисциплинированного использования машинно-зависимых и операционно-зависимых средств языка; простота и ясность синтаксиса языка, что, с одной стороны, облегчает его изучение, а с другой — упрощает создание систем программирования на его основе при использовании различных ЭВМ - от суперЭВМ до персональных компьютеров. Эти, а также ряд других особенностей языка Модула-2 стимулировали работы по реализации языка на самых разных ЭВМ (PDP-11, VAX, IBM PC, Apple и др.) ив различных операционных системах (RT-11, RSX-11, VMS, UNIX, MS DOS и т.д.), а также создание оборудования, поддерживающего программирование на этом языке. Язык Модула-2 был создан Н. Виртом (автором Паскаля) в 1979 г. и реализован впервые на мини-ЭВМ PDP-11 под управлением операционной системы RT-11. Имея сходный с Паскалем синтаксис, Модула-2 по многим возможностям стоит в одном ряду с языком Ада и является, по мнению ряда исследователей, единственной альтернативой языку Ада на микро- и мини-ЭВМ. В нашей стране также наблюдается рост интереса к Модуле-2 и тем современным методам разработки программ, которые поддерживает этот язык. В мае 1986 г. в ВЦ СОАН СССР состоялся первый Всесоюзный семинар по Модуле-2 и инструментальным системам на его основе. Участникам семинара была продемонстрирована работа ЭВМ на базе процессора КРОНОС (разработка ВЦ СОАН СССР), обеспечивающего эффективную аппаратную поддержку функционирования системы Модула-2. Ведутся работы по реализации систем программирования на базе языка Модула-2 на таких вычислительных машинах, как "Эльбрус" и ЕС ЭВМ. Система Модула-2 вошла в программное обеспечение СМ ЭВМ, распространяемое и сопровождаемое организацией "Центрпрограммсистем". Популярность Модулы-2 вызвала за последние 3—4 года лавинообразный рост зарубежных публикаций, посвященных различным аспектам языка и его использования, при почти полном отсутствии отечественных изданий. Предлагаемый читателю перевод должен хотя бы в малой степени ликвидировать этот пробел. Изданная на английском языке в 1985 г. книга Э. Непли и Р. Платта знакомит читателя не только с полным и методологически хорошо продуманным описанием языка Модула-2, но и раскрывает преимущества этого языка как современного средства разработки больших программных систем. Ориентированная как на неподготовленных читателей, так и на профессионалов книга удачно сочетает строгость и простоту изложения, насыщена большим количеством примеров и задач, ненавязчиво учит современному стилю программирования. При описании системы Модула-2 авторы ссылаются на реализацию фирмы Volition Systems, которая крайне незначительно отличается от распространенной в нашей стране реализации системы Модула-2 на компьютерах, совместимых по системе команд с мини-ЭВМ PDP-11 фирмы DEC (CM-4, "Электроника-79" и т.п.) Это делает книгу незаменимым практическим руководством по программированию на Модуле-2. Л. Г. Осетинский ОГЛАВЛЕНИЕ Предисловие к русскому изданию....................................... 5 Предисловие.................................................... 6 ЧАСТЬ I. ОСНОВЫ.............................................. 9 Глава 1, Введение............................................... 9 1.1. Теоретические основы........................................... 9 1.2. История создания языка Модула-2.................................... 10 1.3. Реализация языка Модула-2........................................ 11 1.4. Техника программирования........................................ 14 Заключение..................................................... 15 Задачи........................................................ 15 Дополнительные задачи.............................................. 15 Глава 2. Элементы языка Модула-2....................................16 Введение......................................................16 2.1. Синтаксические диаграммы........................................16 2.2. Основные составляющие части языка Модула-2........................... . 18 2.3. Основные элементы языка Модула-2..................................26 Заключение.....................................................30 Вопросы и задачи................................................ . 30 Дополнительные задачи.............................................30 ЧАСТЬ II. БОЛЕЕ ДЕТАЛЬНОЕ РАССМОТРЕНИЕ..........................32 Глава 3. Элементы данных..........................................32 Введение...................................................... 32 3.1. Стандартные типы данных: свойства и операторы. . •......................... 33 3.2. Объявление констант............................................ 40 3.3. Объявление простых переменных................................... . 42 3.4. Область действия идентификаторов................................... 42 Заключение..................................................... 44 Вопросы и задачи................................................. 44 Дополнительные задачи......................i...................... 44 Глава 4. Присваивание и управление...................................45 Введение......................................................45 4.1. Оператор присваивания...........................................46 4.2. Управляющие структуры...........................................52 Заключение.....................................................66 Вопросы и задачи.................................................67 Дополнительные задачи.............................................68 Глава 5. Основы ввода-вывода............•...........................68 Введение.........................•.............................68 ЭЛ1 5.1. Принципы ввода-вывода Модулы-2................................... 69 5.2. Основные библиотечные функции ввода-вывода........................... 70 Заключение..................................................... 79 Вопросы и задачи................................................. 79 Дополнительные задачи............................................. 80 Глава 6. Структуры данных - массивы и скаляры........................... 80 Введение...................................................... 80 6.1. Массивы данных............................................... 81 6.2. Создание новых типов данных...................................... 87 6.3. Типы поддиапазона............................................. 89 6.4. Перечислимые типы............................................. 90 6.5. Множества................................................... 96 6.6. Применение цепочек............................................. 101 Заключение..................................................... 104 Вопросы и задачи................................................. 104 Дополнительные задачи............................................. 105 Глава 7. Записи и динамические структуры данных.......................... 106 Введение...................................................... 106 7.1. Записи..................................................... 107 7.2. Динамические структуры данных.................................... 112 Заключение..................................................... 126 Вопросы и задачи................................................. 126 Дополнительные задачи............................................. 126 Глава 8. Процедуры и модули....................................... 127 Введение...................................................... 127 8.1. Процедуры Модулы-2............................................ 128 8.2. Модули..................................................... 149 Заключение..................................................... 166 Вопросы и задачи................................................. 167 Дополнительные задачи............................................. 167 ЧАСТЬ III. БОЛЕЕ СЛОЖНЫЕ ВОПРОСЫ............................... 168 Глава 9. Усовершенствованные процедуры ввода-вывода...................... 168 Введение...................................................... 168 9.1. Общие операции ввода-вывода файлов................................. 169 9.2. Операция ввода-вывода на экран..................................... 186 Заключение..................................................... 193 Вопросы и задачи.................................................. 193 Дополнительные задачи............................................. 193 Глава 10. Рекурсия.............................................. 193 Введение...................................................... 193 10.1. Методы рекурсии.............................................. 196 10.2. Рекурсия в Модуле-2............................................ 197 Заключение..................................................... 202 Вопросы и задачи................................................. 203 Дополнительные задачи............................................. 203 Глава 11. Средства низкого уровня.................................... 203 Введение...................................................... 203 11.1. Представление данных на машинном уровне............................. 204 11.2. Параллельное программирование - процессы............................ 210 Заключение..................................................... 215 Дополнительные задачи............................................. 215 303 Глава 12. Подведение итогов........................................215 Введение......................................................215 12.1. Основные свойства и функции текстовой обработки........................216 12.2. Построение программы текстовой обработки............................218 12.3. Подробности реализации текстового процессора..........................222 Заключение.....................................................261 Задачи........................................................261 Приложения . . ..................................................261 Приложение А. Синтаксические диаграммы Модулы-2..........................261 Приложение Б. Набор литер кода ASCII...................................276 Приложение В. Библиотечные модули в реализации фирмы Volition Systems............279 Приложение Г. Библиотечный модуль набора литер............................287 Приложение Д. Программа эмуляции калькулятора............................291 Цена: 300руб. |
||||