Математика | ||||
Катцан Г. Язык Фортран 77: Пер. с англ.— М.: Мир, 1982. — 208 с., ил. Фортран— один из первых языков программирования. Его различные екты обобщены в новом стандарте, включающем современные управляющие труктуры, дополнительные типы данных, средств ввода-вывода. Автор книги — мериканский ученый, известный по переводу его книги «Операционные системы» Фортран— один из первых языков программирования. го различные диалекты обобщены в новом стандарте, включающем современные управляющие структуры, дополнительные типы данных, средств ввода-вывода. Автор книги — риканский ученый, известный по переводу его книги «Операционные системы» : Мир, 1976). Для программистов, разработчиков программного обеспечения, студентов пирантов вузов. | ||||
Предисловие редактора перевода..................' 5
Предисловие.........................., . 7 1. Введение........................... П 1.1. Предмет книги........................ И 1.1.1. Историческая справка ... ............... II 1.1.2. Расширения....................... II 1.1.3. Разработка нового стандарта Фортрана......... 12 1.1.4. Расширения, вошедшие в новый стандарт Фортрана .... 12 1.2. План книги.........,................ 14 1.2.1. Круг читателей......,.............. 14 1.2.2. Круг вопросов............. ,....... 14 1.2.3. Сравнение старого и нового стандартов.......... 15 1.3. Синтаксические обозначения.................. 15 1.3.1. Расширенная форма Бэкуса............... 16 1.3.2. Синтаксические диаграммы..............., 17 1.4. Основные понятия языка Фортран 77 и терминология ...... 19 1.4.1. Последовательность................... 20 1.4.2. Список......................... 20 1.4.3. Отрезки памяти и единицы памяти........... 20 J.4.4. Ассоциирование..................... 21 1.4.5. Статус определенности................. 21 1.4.6. Выбор значения объекта и обращение к процедуре в Фортране 77........................... 22 1.4.7. Процессор....................... 22 2. Характеристика языка Фортран 77............... 23 2.1. Содержание главы....................... 23 2.2. Алфавит............................ 23 2.2.1. Буквы и цифры.................... 23 2.2.2. Специальные литеры.................. 23 2.2.3. Отношение следования.........,....... 23 2.2.4. Пробелы.........-............... 24 2.3. Идентификаторы........................ 25 2.3.1. Имена.......................... 25 2.3.2. Ключевые слова.................... 25 2.4. Структура инструкции..................... 25 2.4.1. Строки комментариев.................. 26 2.4.2. Начальная строка................... . 26 | 2.4.3. Строки продолжения.................. 26 2.4.4. Пустые строки..............,...<.. 27 ОГЛАВЛЕНИЕ 2.4.5. Инструкции языка фортран 77............. 27 2.4.6. Метки......................... 28 2.4.7. Форма инструкции в Фортране 77........... 28 2.5. Организация программы..........•.......... 29 2.5.1. Программная компонента................ 29 2.5.2. Главная программа................... 29 2.5.3. Подпрограммы..................... 29 2.5.4. Процедуры....................... 30 2.5.5. Программные компоненты BLOCK DATA........ 30 2.5.6. Исполняемая программа................ 30 2.5.7. Порядок инструкций в программной компоненте .... 31 3. Типы данных и константы................... 33 3.1. Типы данных....................... 33 3.2. Константы и значения.................. 35 3.3. Данные целого типа................... 35 3.4. Вещественные данные................... 35 3.5. Данные двойной точности............"..... 39 3.6. Комплексные данные................... 40 3.7. Логические данные.....,.............. 41 3.8. Текстовые данные.................... 42 3.9. Холл ер ито веки е данные................. 43 4. Структуры данных....................... 45 4.1. Переменные.......................... 45 4.2. Текстовые подцепочки..................... 45 4.2.1. Имя подцепочки..................... 45 4.2.2. Граничные выражения подцепочки............ 45 4.3. Массивы........................... 47 4.3.1. Имя и тип массива................... 47 4.3.2. Распределение памяти для массивов........... 47 4.3.3. Измерения массива................... 48 4.3.4. Индекс массива ...................... 49 4.3.5. Выбор элемента массива................ 49 5. Выражения.......................... 50 5.1, Общий обзор......................... 50 5.2, Арифметические выражения.................. 50 5.2.1. Арифметические операции.............., . 50 5.2.2. Арифметические операнды................ 51 5.2.3. Структура арифметических выражении.......... 52 5.2.4. Арифметические выражения специального вида...... 55 5.2.5. Правила вычисления арифметических выражений..... 55 5.2.5.1. Однотипные выражения.........., . . 55 5.2.5.2. Выражения со смешением типов......... 56 5.2.5.3. Унарные операции............... 58 5.2.5.4. Целочисленное деление............. 58 5.2.5.5. Возведение в степень.............. 58 5.3. Текстовые выражения..................... 58 5.3.1. Текстовые операции................... 59 5.3.2. Текстовые операнды..................' . 59 5.3.3. Структура текстовых выражений............. 59 5.3.4. Текстовые выражения специального вида........ 60 5.4. Выражения отношения..................... 60 5.4.1. Операции отношения................ 60 5.4.2. Операнды операций отношения........... 61 5.4.3. Вычисление выражений отношения......... 61 5.4.3.1. Арифметические выражения отношения...... 62 5.4.3.2. Текстовые выражения отношения........ 62 5.Ь. Логические выражения.................... 63 5.5.1. Логические операции.................. 63 5.5.2. Логические операнды.................. 64 5.5.3. Структура логических выражении............ 64 5.5.4. Логические выражения специального вида........ 67 5.5.5. Замечание о выполнении логических выражений .... 67 5.6. Интерпретация и вычисление выражений........... 68 5-6.1. Старшинство операций различных типов......... 68 5.6.2. Неприкосновенность скобок и правила интерпретации . . 68 5.6.3. Математические соображения.............. 69 5.6.4. Обращения к функциям................. 70 5.6.5*. Вычисление выражений "................. 70 5.6.5.1. Фактические параметры............. 71 5.6.5.2. Индексы..................... 71 5.6.5.3. Ссылка на подцепочку............. 71 5.6.5.4. Математическая эквивалентность ... ...... 71 5.6.5.5. Эквивалентность отношений........... 7! 5.6.5.6. Логическая эквивалентность........... 72 5.6.5.7. Текстовые выражения.............. 73 6. Выполнение и классификация инструкций Фортрана....... 74 6.1. Цель классификации.................... . 74 6.2. Последовательность выполнения................ 74 6.2.1. Нормальная последовательность выполнения . . ..... 74 6.2.2. Передача управления.................. 75 6.2.3. Разные вопросы..................... 75 6.3. Исполняемые и неисполняемые инструкции........... 75 6-3.1. Список исполняемых инструкций............ 76 6.3.2. Список неисполняемых инструкций........... 77 7. Инструкции описания..................... 78 7.1. Общий обзор......................... 78 7.2. Инструкции описания типа.................. 78 7.2.1. Инструкции описания арифметического и логического типа 78 7.2.2. Инструкция описания текстового типа .......... 79 7.2.3. Пояснения об использовании инструкций описания типа . . 81 7.3. Инструкции описания неявного типа имен, описания значений - констант и описания массивов............. 81 7.3.1. Инструкция IMPLICIT................. 81 7.3.2. Инструкция PARAMETER............. . 83 7.3.3. Инструкция DIMENSION................ 84 7.4. Распределение памяти .............•-...... 84 7.4.1. Общая память..................... 84 7.4.1.1. Статическая и динамическая память....... 85 7.4.1.2. Типы общей памяти............... 85 7.4.1.3. Инструкция COMMON.............. 87 7.4.1.4. Организация памяти для общих блоков ..... SB 7.4.2. Эквивалентность памяти.............. . 88 7.4.2.1. Инструкция EQUIVALENCE.......... 88 7.4-2.2. Правила использования инструкции EQUIVALENCE 89 7.4.2.3. Эквивалентность и общая память . ....... 90 7.4.2.4. Текстовая эквивалентность............ 91 7.4.2.5. Эквивалентность массивов............ 91 7.4.2.6. Частичное совмещение.............. 92 7.4.3. Индексация массивов.................. 93 7.5. Инициализация данных.................... 93 7.5.1. Инструкция DATA................... 94 7.5.2. Неявные DO-списки................... 95 7.5.3. Программная компонента BLOCK DATA........ 96 7.6. Инструкции описания, относящиеся к подпрограммам..... 97 7.6.1. Инструкция EXTERNAL................. 97 7.6.2. Инструкция SAVE................... 98 7.6.3. Инструкция INTRINSIC................. 99 8. Инструкции присваивания................... 101 8.1. Общий обзор......................... 101 8.2. Арифметическое присваивание................. 101 8.3. Логическое присваивание................... 102 8.4. Присваивание литерных цепочек................ 103 8.5. Инструкция ASSIGN..................... 103 8.6. Разные замечания о присваивании .............. 104 9. Инструкции управления.................... 105 9.1. Общий обзор......................... 105 9.2. Инструкции перехода..................... . 105 9.2.1. Инструкция безусловного перехода........... 105 9.2.2. Инструкция вычисляемого перехода........._. . 106 9.2.3. Инструкция перехода по предписанию......... 106 9.3. Инструкции условного перехода............., . „ 107 9.3.1. Арифметическая инструкция IF............. 107 9.3.2. Логическая инструкция IF............... 107 9.3.3. Конструкция IF-THEN-ELSE.............. 108 9.3.3.1. Уровень инструкции............... 108 9.3.3.2. Структурная инструкция IF........... 109 9.3.3.3. Инструкция ELSE IF.............. 109 9.3.3.4. Инструкция ELSE................ ПО 9.3.3.5. Инструкция END IF.............. 110 9.3.3.6. Замечания и пример.............. ПО 9.4. Инструкция DO....................... Ill 9.4.1. Структура DO-цикла.................. 112 9.4.2. Выполнение DO-цикла . .•............... 113 9.5. Инструкция CONTINUE................... 114 9.6. Инструкции STOP и PAUSE................. 114 9.7. Инструкция END....................... 115 10. Ввод и вывод. Основные понятия............... 116 10.1. Средства ввода и вывода................... 116 10.2. Записи........................... 116 10.2.1. Форматные записи................... 117 10.2.2. Бесформатные записи................ . 117 10.2.3. Запись конца файла................. 117 10.3. Файлы........................... 117 10.3.1. Внешний файл.................... И8 10.3.2. Внутренний файл................... 118 10.3.3. Терминология, связанная с файлами........ . 118 10.4. Методы доступа....................... 119 10.4.1. Атрибуты достуца..................... 119 10.4.2. Последовательный доступ ................ 120 10.4.3. Прямой доступ.................... 120 10.4.4. Доступ к внутренним файлам.......-...... 121 10.5. Каналы........................... 121 10.5.1. Подсоединение.................... 121 10.5.2. Отсоединение..................... 121 206 10.6. Список управляющей информации.............. 122 10.6.1. Синтаксис списка управляющей информации..... 122 10.6.2. Спецификация канала................. 123 10.6.3. Спецификация формата................ 123 10.6.4. Спецификация номера записи............. 124 10.6.5. Спецификация кода ответа.............. 124 10.6.6. Спецификация возврата по ошибке........... 124 10.6.7. Спецификация возврата по концу файла........ 125 10.7. Список ввода-вывода..................... 125 10.7.1. Простой список................... 125 10.7.1.1. Список ввода................. 125 10.7.1.2. Список вывода................ 126 10.7.2. Неявный цикл.................... !26 10.7.3. Массивы....................... 127 !0.8. Операции передачи данных.................. 127 10.8.1. Операции бесформатной передачи данных....... 128 10.8.2. Операции форматной передачи данных......... 128 10.8.3. Файл печати..................... 129 10.8.4. Ввод и вывод в свободном формате.......... 129 10.8.5. Установка текущей позиции в файле......... 130 II. Инструкции ввода и вывода.................. 131 11.1. Общая характеристика инструкций ввода и вывода...... 131 11.2. Инструкции передачи данных................ 131 11.2.1. Инструкция READ.................. 131 11.2.2. Инструкция WRITE................. 132 11.2.3. Инструкция PRINT.................. 132 11.3. Вспомогательные инструкции................. 132 11.3.1. Инструкция OPEN.................. 132 11.3.2. Инструкция CLOSE.................. 135 11.3.3. Инструкция INQUIRE................ 136 11.4. Инструкции установки текущей позиции в файле....... 137 11.4.1. Инструкция BACKSPACE............... 137 11.4.2. Инструкция ENDFILE................. 137 11.4.3. Инструкция REWIND................. 141 12. Спецификация формата..................... 142 12.1. Обзор............................ 142 12.2. Способы задания спецификации формата........... 142 12.2.1. Инструкция FORMAT................. 142 12.2.2. Задание формата в виде текстового объекта...... 143 12.2.3. Структура спецификации формата............ 143 12.2.4. Редактирование.................... 143 12.3. Дескрипторы преобразования и управляющие дескрипторы редактирования .......................... 145 12.3.1. Редактирование числовых данных .......... 145 12.3.1.1. Дескриптор I................ 146 12.3.1.2. Дескриптор F................ 147 12.3.1.3. Дескриптор Е................ 147 12.3.1.4. Дескриптор D................ 149 12.3.1.5. Редактирование комплексных данных..... 149 12.3.1.6. Дескриптор G................ 149 12.3.1.7. Масштабирующий множитель......... 150 12.3.2. Редактирование логических данных.........• . 151 12.3.3. Редактирование текстовых данных .......... 15! 12.3.3.1. Дескриптор-цепочка............. 152 12.3.3.2. Дескриптор Н................ 152 12.3.3.3. Дескриптор А................ 152 12.3.4. Установка позиции в записи............. 153 12.3.4.1. Дескриптор X................ 153 12.3.4.2. Дескриптор Т................ 154 12.3.4.3. Дескриптор TL............... 154 12.3.4.4. Дескриптор TR............... 154 12.3.5. Дескрипторы управления записями.......... 154 12.3.5.1. Наклонная черта............... 155 12.3.5.2. Двоеточие.................. 155 12.3.6. Управление выводом знака.............. 155 12.3.6.1. Дескриптор SP................ 155 12.3.6.2. Дескриптор SS................ 155 12.3.6.3. Дескриптор S................ 156 12.3.7. Управление вводом пробелов............. 156 12.3.7.1. Дескриптор BN............... 156 12.3.7.2. Дескриптор BZ............... 156 Разделители в спецификации формата......... 156 12.3.9. Коэффициент повторения'........... 156 12.3.10. Групповой дескриптор............. 157 12.4. Ввод-вывод в свободном формате............... 157 13. Структура программы..................... 158 13.1. Обзор............................ 158 13.2. Главная программа..................... 158 13.2.1. Инструкция PROGRAM................ 158 13.2.2. Структура главной программы............. 160 13.3. Стандартные функции.................... ;60 13.3.1. Обращение к стандартной функции.......... 160 13.3.2. Универсальные имена................. 161 13.3.3. Правила выполнения стандартных функций...... 161 13.4. Функции-формулы...................... 161 13.4.1. Определение функции-формулы............. 162 13.4.2. Обращение к функции-формуле............ 163 13.5. Внешние процедуры..................... 163 13.5.1. Виды внешних процедур............... 164 13.5.2. Выполнение внешней процедуры........... 164 13.5.3. Инструкция FUNCTION................ 165 13.5.4. Обращение к внешней функции ..,,.•....... 166 13.5.5. Инструкция SUBROUTINE.............. 167 13.5.6. Инструкция CALL................... 168 13.5.7. Инструкция ENTRY................. 169 13.5.8. Инструкция RETURN................. 170 13.5.9. Инструкция END................... 171 13.5.10. Передача массивов в качестве параметров внешних процедур ............................ 171 Литература............................. 172 Приложение А. Стандартные функции...........• . . . . 173 Приложение В. Синтаксис инструкций Фортрана.......... 179 Приложение С. Синтаксические диаграммы языка 77........ 181 Цена: 75руб. |
||||