современный фортран , Бортеньев. О. В. Бартеньев Современный Фортран
Скачать 2.24 Mb.
|
438 Предметный указатель перегрузка · 166, 250 приоритет · 14, 158 приоритет выполнения · 167 Отрезок памяти · 260 Ошибка округления · 161 П Память текстовая · 260 числовая · 260 Параметр входной, выходной, входной/выходной · 237 позиционный · 243 фактический · 232, 235, 236 формальный · 232, 235, 237 Параметр цикла · 208 Переменная автоматическая · 277 динамическая · 96 значение · 11 индексная · 109 инициализация · 63 простая · 10 результирующая · 39, 222, 233 составная · 10 статическая · 96, 277 Переменная DO-цикла · См. Параметр икла Переменная цикла · См. Параметр цикла Порядок · 57 Построитель · См. Компоновщик Правило рельефа · 27 Преобразование · 72 Приложение · 221 Присваивание · 15 встроенное · 170 задаваемое · 84 перегрузка · 170, 250 Программа алгоритм · 26 исполняемый файл · 24 исходный код · 23 исходный файл · 23 кодирование · 43 объектный код · 23 организация данных · 43 отладка · 43 поддержка · 44 правило рельефа · 45 спецификация · 42 структура · 43 тестирование · 43 этапы проектирования · 42 Программирование · 37 Программная единица BLOCK DATA · 263 главная · 5, 221 модуль · 216, 223 подпрограмма · 221 процедура · 38, 217 функция · 217, 221 Проект · 219 Производный тип данных запись · 80 компонент · 81 конструктор производного типа · 83 объединение · 92 селектор компонента · 82 структура · 90 Процедура атрибут и оператор INTENT · 238 атрибут и оператор OPTIONAL · 243 внешняя · 217 внутренняя · 217, 222 встроенная · 218 модуль · 41 модульная · 217 носитель · 217 перегрузка · 246 подключаемая · 218 подпрограмма · 40, 221 439 О. В. Бартеньев. Современный ФОРТРАН рекурсивная · 217, 264 формальная · 266 функция · 38, 221 чистая · 281 элементная · 284 Псевдокод · 29 Р Раздел описаний · 223 Ранг арифметического операнда · 160 Родовое описание · 252 С Сечение массива векторный индекс · 116 индексный триплет · 114 Символ null · 73 завершающий · 67 Список only · 228 ввода · 16, 295 ввода/вывода · 295 вывода · 17, 295 дескрипторов преобразований · 290 переименований · 227 фактических параметров · 222 формальных параметров · 232 Ссылка · 96 адресат · 96 атрибут и оператор POINTER · 96 атрибут и оператор TARGET · 96 оператор ALLOCATE · 100 оператор DEALLOCATE · 100 оператор NULLIFY · 99 прикрепление к адресату · 96 функция ASSOCIATED · 98 функция NULL · 99 функция инициализация · 99 Стандарт IEEE · 185 Строка автоматическая · 69 СИ · 60 Т Тест-выражение · 207 Тип данных вещественный · 47 комплексный · 47 логический · 47 оператор COMPLEX · 53 оператор IMPLICIT · 55 оператор IMPLICIT NONE · 55 оператор INTEGER · 50 оператор LOGICAL · 54 оператор REAL · 52 параметр разновидности · 47 производный · 80 разновидность · См. Тип данных, параметр разновидности символьный · 47, 65 стандартный · 48 целый · 47 У Управляющие символы · 60 Ф Файл устройство внешнего файла · 327 устройство внутреннего файла · 327 Файл · 18 ассоциируемая переменная · 352 внешний · 326 внутренний · 71, 326 временный · 326 двоичный · 329 двоичный последовательный · 336 допустимый размер записи · 333 запись · 330 неформатный · 329 440 Предметный указатель неформатный последовательный · 337 фиксированная · 415 Форматный В/В дескрипторы преобразований · 289 номер устройства В/В · 327 операторы опроса · 348 операторы управляющие · 348 метка оператора FORMAT · 294 операции · 348 оператор FORMAT · 290 реверсия формата · 301 редактирование оператора FORMAT · 291 позиция · 326, 335 поле записи · 330 последовательная организация · 329 символы управления кареткой · 290 последовательный · 329 последовательный доступ · 329 спецификация формата · 290 прямой · 329, 340 прямой доступ · 329, 340 связанная организация · 329 связанный · 329 Функция RuDosWin · 413 Ц Целочисленный указатель адресная переменная · 93 способ доступа · 329 оператор POINTER · 93 текстовый последовательный · 338 Цикл итерация · 32 текущая запись · 330 прерывание · 36 тип записи · 329, 330 тело цикла · 32 тип файла · 346 Циклический список устройство В/В · 327 оператора DATA · 64 устройство внешнего · 327 оператора В/В · 297 устройство внутреннего · 328 физические устройства · 327 Э форматный · 329 Элементная подпрограмма · 285 ячейка · 329 Элементная функция · 284 Форма исходного текста свободная · 5 441 Оглавление Предисловие.............................................................................................3 1. Элементы языка..................................................................................5 1.1. Свободная форма записи программы ....................................................5 1.2. Консоль-проект........................................................................................6 1.2.1. Создание проекта в CVF ................................................................6 1.2.2. Создание проекта в FPS..................................................................8 1.2.3. Операции с проектом......................................................................8 1.2.4. Файлы с исходным текстом ...........................................................9 1.3. Операторы ................................................................................................9 1.4. Объекты данных ....................................................................................10 1.5. Имена......................................................................................................12 1.6. Выражения и операции .........................................................................13 1.7. Присваивание.........................................................................................15 1.8. Простой ввод/вывод ..............................................................................16 1.8.1. Некоторые правила ввода ............................................................18 1.8.2. Ввод из текстового файла.............................................................19 1.8.3. Вывод на принтер .........................................................................20 1.9. Рекомендации по изучению Фортрана ................................................20 1.10. Обработка программы.........................................................................23 2. Элементы программирования .......................................................26 2.1. Алгоритм и программа..........................................................................26 2.2. Базовые структуры алгоритмов............................................................29 2.2.1. Блок операторов и конструкций ..................................................30 2.2.2. Ветвление.......................................................................................30 2.2.3. Цикл ...............................................................................................32 2.2.3.1. Цикл "с параметром" ....................................................................... 33 2.2.3.2. Циклы "пока" и "до".......................................................................... 35 2.2.4. Прерывание цикла. Объединение условий.................................36 2.3. Программирование "сверху вниз"........................................................37 2.3.1. Использование функций...............................................................38 2.3.2. Использование подпрограмм.......................................................40 2.3.3. Использование модулей ...............................................................41 2.4. Этапы проектирования программ ........................................................42 2.5. Правила записи исходного кода...........................................................44 442 Оглавление 3. Организация данных........................................................................47 3.1. Типы данных ..........................................................................................47 3.2. Операторы объявления типов данных.................................................50 3.2.1. Объявление данных целого типа .................................................50 3.2.2. Объявление данных вещественного типа ...................................52 3.2.3. Объявление данных комплексного типа.....................................53 3.2.4. Объявление данных логического типа........................................53 3.3. Правила умолчания о типах данных....................................................54 3.4. Изменение правил умолчания ..............................................................55 3.5. Буквальные константы ..........................................................................56 3.5.1. Целые константы ..........................................................................56 3.5.2. Вещественные константы ............................................................57 3.5.3. Комплексные константы ..............................................................58 3.5.4. Логические константы..................................................................59 3.5.5. Символьные константы ................................................................59 3.6. Задание именованных констант ...........................................................61 3.7. Задание начальных значений переменных. Оператор DATA ...........63 3.8. Символьные данные ..............................................................................65 3.8.1. Объявление символьных данных ................................................65 3.8.2. Применение звездочки для задания длины строки....................67 3.8.3. Автоматические строки................................................................69 3.8.4. Выделение подстроки...................................................................69 3.8.5. Символьные выражения. Операция конкатенации....................70 3.8.6. Присваивание символьных данных.............................................71 3.8.7. Символьные переменные как внутренние файлы ......................71 3.8.8. Встроенные функции обработки символьных данных..............72 3.8.9. Выделение слов из строки текста ................................................78 3.9. Производные типы данных...................................................................79 3.9.1. Объявление данных производного типа .....................................79 3.9.2. Инициализация и присваивание записей ....................................82 3.9.2.1. Конструктор производного типа ................................................... 82 3.9.2.2. Присваивание значений компонентам записи ................................ 84 3.9.2.3. Задаваемые присваивания записей .................................................. 84 3.9.3. Выражения производного типа....................................................84 3.9.4. Запись как параметр процедуры..................................................85 3.9.5. Запись как результат функции.....................................................86 3.9.6. Пример работы с данными производного типа..........................87 3.9.7. Структуры и записи ......................................................................89 3.9.7.1. Объявление и присваивание значений.............................................. 89 3.9.7.2. Создание объединений...................................................................... 91 3.9.8. Итоговые замечания .....................................................................92 443 О. В. Бартеньев. Современный ФОРТРАН 3.10. Целочисленные указатели ..................................................................93 3.11. Ссылки и адресаты ..............................................................................95 3.11.1. Объявление ссылок и адресатов ................................................96 3.11.2. Прикрепление ссылки к адресатам............................................96 3.11.3. Инициализация ссылки. Функция NULL..................................99 3.11.4. Явное открепление ссылки от адресата ....................................99 3.11.5. Структуры со ссылками на себя ..............................................100 3.11.6. Ссылки как параметры процедур ............................................104 3.11.7. Параметры с атрибутом TARGET...........................................105 3.11.8. Ссылки как результат функции ...............................................106 4. Массивы ...........................................................................................108 4.1. Объявление массива ............................................................................108 4.2. Массивы нулевого размера.................................................................113 4.3. Одновременное объявление объектов разной формы......................113 4.4. Элементы массива ...............................................................................113 4.5. Сечение массива ..................................................................................114 4.6. Присваивание массивов ......................................................................119 4.7. Маскирование присваивания..............................................................121 4.7.1. Оператор и конструкция WHERE .............................................121 4.7.2. Оператор и конструкция FORALL ............................................123 4.8. Динамические массивы.......................................................................126 4.8.1. Атрибуты POINTER и ALLOCATABLE ..................................126 4.8.2. Операторы ALLOCATE и DEALLOCATE ...............................127 4.8.3. Автоматические массивы...........................................................131 4.9. Массивы - формальные параметры процедур...................................132 4.9.1. Массивы заданной формы..........................................................132 4.9.2. Массивы, перенимающие форму...............................................134 4.9.3. Массивы, перенимающие размер ..............................................135 4.10. Использование массивов...................................................................137 4.11. Массив как результат функции ........................................................138 4.12. Встроенные функции для массивов .................................................139 4.12.1. Вычисления в массиве..............................................................140 4.12.2. Умножение векторов и матриц................................................145 4.12.3. Справочные функции для массивов ........................................147 4.12.3.1. Статус размещаемого массива .................................................. 147 4.12.3.2. Граница, форма и размер массива .............................................. 147 4.12.4. Функции преобразования массивов ........................................148 4.12.4.1. Элементная функция MERGE слияния массивов ....................... 148 4.12.4.2. Упаковка и распаковка массивов................................................. 149 4.12.4.3. Переформирование массива......................................................... 150 4.12.4.4. Построение массива из копий исходного массива..................... 151 444 Оглавление 4.12.4.5. Функции сдвига массива............................................................... 152 4.12.4.6. Транспонирование матрицы ........................................................ 153 4.13. Ввод/вывод массива под управлением списка................................153 4.13.1. Ввод/вывод одномерного массива...........................................154 4.13.2. Ввод/вывод двумерного массива.............................................156 5. Выражения, операции и присваивание ......................................158 5.1. Арифметические выражения ..............................................................158 5.1.1. Выполнение арифметических операций...................................158 5.1.2. Целочисленное деление..............................................................159 5.1.3. Ранг и типы арифметических операндов ..................................160 5.1.4. Ошибки округления....................................................................161 5.2. Выражения отношения и логические выражения.............................162 5.3. Задаваемые операции ..........................................................................165 5.4. Приоритет выполнения операций ......................................................167 5.5. Константные выражения.....................................................................167 5.6. Описательные выражения...................................................................168 5.7. Присваивание.......................................................................................169 6. Встроенные процедуры..................................................................172 6.1. Виды встроенных процедур ...............................................................172 6.2. Обращение с ключевыми словами.....................................................172 6.3. Родовые и специфические имена .......................................................173 6.4. Возвращаемое функцией значение ....................................................174 6.5. Элементные функции преобразования типов данных .....................174 6.6. Элементные числовые функции.........................................................176 6.7. Вычисление максимума и минимума ................................................178 6.8. Математические элементные функции..............................................179 6.8.1. Экспоненциальная, логарифмическая функции и квадратный корень.............................................................................179 6.8.2. Тригонометрические функции...................................................180 6.9. Функции для массивов ........................................................................181 6.10. Справочные функции для любых типов..........................................184 6.11. Числовые справочные и преобразовывающие функции................185 6.11.1. Модели данных целого и вещественного типа ......................185 6.11.2. Числовые справочные функции...............................................187 6.12. Элементные функции получения данных о компонентах представления вещественных чисел .........................................................189 6.13. Преобразования для параметра разновидности..............................191 6.14. Процедуры для работы с битами .....................................................191 6.14.1. Справочная функция BIT_SIZE...............................................192 6.14.2. Элементные функции для работы с битами ...........................192 |