Математика | ||||
Программирование на ПЛ/1 ОС ЕС/М-М. И. Аугустон | ||||
Программирование на ПЛ/1 ОС ЕС/М. И. Аугустон, П 78 Р. П. Балодис, Я. М. Барздинь и др.—2-е изд., доп.—М.: Финансы и статистика, 1984. — 327 с., ил. В пер.: 1 р. 40 к. 30 000 экз.
ПЛ/1 — единственный язык программирования, позволяющий в полной мере использовать богатые возможности, предоставляемые' ЭВМ третьего поколения в К,МКН операционной системы ОС ЕС. В книге описывается подмножество ПЛ/1 ис. ЬС, ориентированное на решение задач обработки данных. В ней содержатся сведения о вводе-выводе и организации, наборов данных, об операционной системе UI, ьс и языке управления заданиями, о возможностях компилятора ПЛ/1 и др Книга дополнена главами об использовании в программах на ПЛ/1 средств телеобработки данных и СУБД ОКА. Книга рассчитана на программистов, работающих с ОС ЕС и впервые знако- ПРЕДИСЛОВИЕ КО ВТОРОМУ ИЗДАНИЮ Алгоритмический язык ПЛ/1 (Programming Language One) был создан в период 1963—1966 "гг. комитетом, составленным из пользователей ЭВМ и представителей фирмы IBM. ПЛ/1 относится к поколению языков, следующему за языками Алгол-60, Фортран и Кобол. Он не только объединяет возможности этих языков, но и предоставляет программисту ряд дополнительных возможностей. Для любого языка программирования первостепенное значение имеет наличие качественного компилятора,- различных сервисных средств, хороших связей с операционной системой и т. п. Для ПЛ/1 в операционной системе ОС ЕС все это имеется. В частности, существуют два компилятора— обычный и оптимизирующий, которые уже прошли многолетнюю проверку. Эти компиляторы создают рабочие программы, лишь немного уступающие по своим качествам программам, составленным на языке Ассемблера. Кроме того, ПЛ/1 ОС ЕС содержит удобные средства для программирования телеобработки и имеет выход на СУБД ОКА. Для ПЛ/1 в ОС ЕС разработаны также мощные-средства отладки программ. Все это делает ПЛ/1 ОС ЕС действительно yнивeptaльным орудием труда для прикладного программиста. С другой стороны, при сравнении с новыми языками программирования, такими, как PASCAL и ADA, отчетливо видны и некоторые недостатки ПЛ/1. В нем отсутствуют, например, средства для определения новых типов данных. По-видимому, механизм умолчания, столь широко использованный в ПЛ/1, себя не полностью оправдал, как и механизм автоматического преобразования данных при вычислении выражений. Опыт показал, что такого рода умолчания являются одним из главных источников ошибок в программах. За это время было также осознано, что главным критерием качества языка программирования является не т/>, как быстро или коротко на нем можно закодировать тот- или иной алгоритм, а то, в.какой мере он исключает возможные ошибки и способствует быстрой отладке программ. Упомянутые выше недостатки ПЛ/1 в значительной степени можно нейтрализовать, если пользоваться подходящей технологией программирования. Так, например, управляющие структуры ПЛ/1 хорошо подходят для использова^ ния методов структурного программирования. Главный недостаток языка — его сложность. Полная документация по ПЛ/1 ОС ЕС занимает свыше 2000 страниц. Если еще добавить средства телеобработки и связи с СУБД, то нетрудно представить те трудности, с которыми встречается начинающий программист. Данная книга в основном предназначена для тех, кто впервые знакомится с языком ПЛ/1 и операционной системой ОС ЕС. В ней описывается логически замкнутое подмножество ПЛ/1 вместе с элементами операционной системы ОС ЕС, ориентированное на задачи обработки данных. Мы надеемся, что приведенных в книге , сведений будет достаточно для начала практического программирования. Для отладки программ может быть использована Визуальная Диалоговая Система' (ВДС), разработанная в ВЦ Латвийского государственного университета [1—3]. Одна из причин сложности изложения языка ПЛ/1 состоит в том, что для него отсутствует простая модель, на которой можно было бы объяснить семантику языка. В данной книге для выбранного подмножества языка предлагается одна такая модель»—так называемая идеализированная вычислительная машина («ПЛ/1-ма-шина»). На наш взгляд, этим значительно облегчается изложение материала и сохраняется математическая точность. В данной книге за основу взята версия языка ПЛ/1 ОС ЕС с обычным компилятором. В приложении 3 перечислены особенности языка ПЛ/1 для оптимизирующего компилятора (в той мере, в какой они относятся к выбранному подмножеству ПЛ/1). При написании книги была использована эксплуатационная до-кументацця ЕС ЭВМ. Неясные конструкции и примеры были проверены на версии 6.1 ОС ЕС. Из других пособий по ПЛ/1 и операционной системе ОС ЕС следует отметить [4—16]. Данное издание отличается от первого (М., Статистика, 1979) в основном тем, что добавлены две новые главы: «Программирование телеобработки на ПЛ/1» (гл. XVI) и «Программирование на ПЛ/Ь с СУБД ОКА» (гл. XVII). План изложения и согласование окончательной редакции кни-.ги в основном выполнены Я.'М. Барздинем при участии А. А. Калниньша. В'остальном все авторы в равной мере несут ответственность за содержание книги. Авторы благодарны рецензенту первого издания книги проф. В. Н. Лебедеву за ценные замечания, а также сотрудникам Вычислительного центра Латвийского государственного университета" имена П. Стучки, советы которых помогли существенно улучшить изложение. Авторы также весьма признательны читателям первого издания, которые прислали свои замечания. По мере возможностей мы старались их учесть при подготовке данного издания. ОГЛАВЛЕНИЕ Предисловие ко второму изданию................. 3 Глава I. Введение в ПЛ/1................... б § 1. Элементы программы. Запись программы на Т>ланке ...... 5 § 2. Алфавит языка.................. 8 § 3. Идентификаторы ................. 8 § 4. Идеализированная модель вычислительной мащины . ..... 9 § 8. Метаобозначения ..................11 Глава II. Данные...................... 12 § 1. Числа и строки. Константы............. . 12 § 2. Переменные. Типы переменных ............ 14 § 3. Десятичные данные с фиксированной точкой DECIMAL ' FIXED . .................... 15 § 4. Двоичные данные с фиксированной точкой BINARY FIXED 16 § б. Десятичные данные с плавающей точкой DECIMAL FLOAT . 17 § 6. Двоичные данные с плавающей точкой BINARY FLOAT . . 18 § 7. Данные типа строка символов CHARACTER......-.18 § 8. Данные типа строка бит BIT . . .'......... . 19 § 9. Данные типа строка символов переменной длины CHARACTER VARYING.................... 20 § 10. Данные типа строка бит переменной длины BIT -VARYING 20 §11. Шаблон PICTURE................. 21 § 12. Переменные управления программой POINTER и LABEL . . 24 § 13. Массивы .....,.............. 24 § 14. Структуры и массивы структур .-...."........ 27 § 15. Способы сокращения записи оператора DECLARE .... 30 § 16. Атрибуты, назначаемые по умолчанию......... 31 Глава III. Операции с переменными и оператор присваивания ... . 33 § 1-. Понятие об исключительных ситуациях......... 33 § 2. Простейший случай оператора присваивания......~. 33 § 3. Операция. Арифметические операции ..........38 § 4. Операции сравнения...........'..... 41 § 5. Логические операции................. 42 § 6. Операции сцепления ...'............. 43 § 7. Выражения ................... 43 § 8. Общий случай оператора присваивания для проблемных переменных................... . ". 47 § 9. Оператор присваивания для агрегатов переменных .... 47 § 10. Атрибут INITIAL................. 48 . Глава IV. Встроенные функции ........ .......... 61 • § 1. Понятие о .встроенных функциях..........-. . 61 § 2. Арифметические встроенные функции....... . , . 32' § 3. Математические встроенные "функции.......... 64 • АД § 4. Встроенные функции для обработки строк ........ 54 § 5. Встроенные функции для обработки массивов ....... 56 § 6. Специальные встроенные функции........... 57 § 7. Псевдопеременные................. 57 Глава V. Операторы управления программой . • . ........ 59 § 1. Порядок выполнения операторов. Метки. Оператор GOTO . . 59 § 2. Оператор IF................... 60 • § 3. Оператор DO................... 62 § 4. Операторы END. и STOP............... 65 Глава VI. Структура программы. Процедуры. Управление памятью 66 § 1. Общий вид программы....._.......... 66 § 2. Вызов процедур. Главная процедура.......... 67 § 3. Вызов процедуры-подпрограммы........... 69 § 4. Вызов процедуры-функции.........,.'... 73 § 5. EXTERNAL-переменные ..............76 § 6. Выполнение программы............... 76 § 7. Выполнение процедуры-подпрограммы и процедуры-функции 77 § 8. Передача параметров переменной длины....... . 79 • § 9. Передача параметров других видов .......... 81 § 10. Обращение к стандартным программам........ 82 § 11. Внутренние процедуры.....'.......... 82 § 12. Примеры программ................. 84 . § 13. Базированные переменные и управление памятью..... 85 Глава VII. Средства исключительного управления......... 90 § 1. Понятие исключительного управления.......... 90 § 2. ON-оператор ........•............ 91 § 3. Ситуации, связанные с вычислительными операциями. Ситуация ERROR................... . 94 § 4. Средства исключительного управления для отладки программ 96 Глава VIII. Файлы...............'.......100 § 1. Основные понятия................. 100 § 2. Типы файлов................... 101 § 3. Режимы работы с файлами.............. 107 § 4. Объявление файла в программе. Стандартные файлы SYSIN и SYSPRINT................... 108 § 5. Открытие и закрытие файла..........'... 109 Глава IX. Ввод-вывод потоком................ 112 § 1. Общие сведения. Ввод-вывод в режиме LIST . . . . . .112 § 2. Ввод-вывод в режиме EDIT............. 115 § 3. Общий формат операторов ввода-вывода потоком...... 122 § 4. Операторы GET STRING И PUT STRING ........ 123 Глава X. Ввод-вывод записей. Исключительные ситуации, связанные с вводом-выводом.................. 125 § 1. Общие сведения о вводе-выводе записей......... 125 § 2. Ввод-вывод CONSECUTIVE-файлов.......... 127 § 3. Последовательный ввод-вывод данных для INDEXED-файлов 128 § 4. Прямая выборка записей для' INDEXED-файлов...... 132 | 5. Работа с REGIONAL(l)-файлами . .......... 134 § 6. Исключительные ситуации, связанные с вводом-выводом . . .135 § 7. Связь с оператором машины во время выполнения программы на ПЛ/1..................... 139 Глава XI. Операционная система ОС ЕС и язык управления заданиями 141 § 1. Введение в операционную систему ОС ЕС........141 § 2. Язык управления заданиями. Каталогизированные процедуры 143 § 3. Синтаксис операторов языка управления заданиями .... 143 § 4. Входной и выходной поток..............149 § 5. Особенности выполнения заданий в режимах РСР, MFT, MVT и SVS......................150 § 6. Оператор JOB........;......... 152 § 7. Оператор EXEC..................154 Глава XII. Наборы данных и операторы DD...........157 § 1. Внешние носители информации............157 § 2. Краткий обзор параметров оператора DD......•. . 159 § 3. Ввод данных с перфокарт..............164 § 4. Вывод данных на перфокарты............166 § 5. Печать данных..................167 § 6. Наборы данных на магнитной ленте.......... 168 § 7. Создание наборов данных на магнитной ленте. Добавление данных в конце набора данных............172 § 8. Чтение данных из набора данных на магнитной ленте . .- . 173 § 9. Структура магнитных дисков.............173 § 10. Создание последовательного набора данных на магнитном диске. Добавление данных в конце набора данных.....176 §11. Создание REGIONAL(l) наборов данных........179 § 12. Структура индексно-последовательных наборов данных ... 179 § 13. Создание индексно-последовательного набора данных. Добавление записей в конце набора данных..........182 § 14. Чтение данных, добавление и исправление записей для всех видов наборов данных на диске............183 § 15. Наборы данных на перфолентах........... . 184 § 16. Ввод данных с перфоленты............ . 185 § 17. Вывод данных на перфоленту.........."... 186 § 18. Библиотечные наборы данных.........., . 187 § 19. Создание библиотеки и добавление разделов в библиотеку 138 § 20. Ввод данных из раздела библиотеки........ . 189 § 21. Дополнительные возможности оператора DD.......190 § 22. Краткий обзор других возможностей языка управления заданиями ......'...............198 Глава XIII. Компилятор ПЛ/1...................200 § 1. Наборы данных, используемые компилятором......•. 200 § 2. Передача параметров компилятору...........202 § 3. Параметры реж'има компиляции............203 § 4. Листинг компиляции............... . 204 § 5. Пакетная компиляция................209 Глава XIV. Редактор связей и загрузчик.............211 § 1. Общие сведения. Простое использование редактора связей . . 211 § 2. Схема работы редактора связей . . '..........212 § 3. Передача параметров редактору связей......... 214 § 4. Наборы данных редактора связей.......... . 215 § 5. Образование структур с перекрытием..........220 § 6. Примеры использования редактора связей при работе с библиотеками .................• . . , 224 § 7. Загрузчик ................'. . . . 226 Глава XV. Выполнение программ на ПЛ/1.............. 230 § 1. Выполнение программ с помощью каталогизированных процедур...................... 230 § 2. Выполнение загрузочного модуля из библиотеки загрузочных модулей.....................*чч § 3. Оптимизация времени выполнения...........^да § 4. Оптимизация объема' памяти, необходимой для выполнения программы.....................237 Глава XVI. Программирование телеобработки на ПЛ/1........239 § 1. Общие сведения..............• • • • 239 § 2 Схема взаимодействил терминалов с программой. Понятие ' TRANSIENT-файла ................241 § 3. Программирование ввода-вывода сообщений на ПЛ/1 ... ^44 § 4. Локальный комплекс ЕС-7920.............247 § 5 Пример программы на ПЛ/1.............252 § 6. Пример ПУС...................257 § 7. Управляющие карты для выполнения ПУС и прикладной программы .....................266 § 8. Представление об обработке ошибок..........268 Глава XVII. Программирование на ПЛ/1 с СУБД ОКА.......271 § 1. Общие сведения.................. 271 § 2. Организация баз данных............. . . 273 , § 3. Блок связи...................... 2^8 § 4. Синтаксис обращений к базам данных.......... 280 § 5. Пример программы................. 281 § 6. Типичные операции с базами данных....... . . . 284 Литература ..........'.......•.......292 Приложения.........................293 Приложение 1. Пример выполнения программы на машине ...... 293 Приложение 2. Использованные средства ПЛ/1.......• . . . . 298 ' Приложение 3. Некоторые сведения о работе с оптимизирующим компилятором ПЛ/1........,..........307 Приложение 4. Таблица кодов ДКОИ и КПК-12........... 311 Приложение 5. Таблицы для локальных комплексов ЕС-7920...... 312 Приложение 6. Использованные ключевые слова ПЛ/1......... 316 Приложение 7. Использованные ключевые слова ОС ЕС.......' , 318 Цена: 150руб. |
||||