next up previous contents
След.: мЙФЕТБФХТБ Выше: f08_new_win Пред.: Приложение 3: операторы Фортрана   Содержание

Приложение 4: Словарик терминов Фортрана

Абстракция
-- возможность работать с объектом предметной области, на уделяя внимания деталям реализации. К средствам А. относятся процедуры, инкапсуляция, перегрузка процедур и операторов. Так, разработав тип, реализующий квадратные матрицы (размерность задается параметром типа), можно складывать и множать матрицы с помощью обычных знаков операций, выводиться в текстовый файл или на консоль они будут как квадратные матрицы, а не в строку, а операция .det. будет вычислять определитель. Дальнейшая работа будет работой с матрицами, а не с типом данных языка Фортран.

Автоматический объект
-- объект данных, не являющийся формальным аргументом, разновидность типа или граница массива у которого задана неконстантным выражением. Как правило, они зависят от параметров процедуры и возникают в момент ее вызова.

Адрес
-- информация о расположении объекта в памяти; это понятие в Фортране используется только при взаимодействии с языком C.

Аргумент
-- объект данных, передаваемый процедуре из вызывающей программной единицы.
А.-значение
-- аргумент с атрибутом VALUE, в процедуру передается копия фактического аргумента. Аргумент может меняться, но эти изменения не влияют на фактический А. и игнорируются после выхода из процедуры.
Входящий А.
-- аргумент с атрибутом INTENT(IN), не может быть изменен в процедуре; фактический аргумент может быть константой.
Входяще-исходящий А.
-- аргумент с атрибутом INTENT(INOUT), может быть изменен в процедуре и его начальное значение может быть использовано.
Исходящий А.
-- аргумент с атрибутом INTENT(OUT), определяется в ходе работы процедуры, начальное значение игнорируется.
Необязательный А.
-- аргумент с атрибутом OPTIONAL, может не быть указан при вызове. Неопределенный указатель в качестве фактического аргумента считается отсутствующим аргументом. Проверка наличия аргумента осуществляется функцией PRESENT.
Передаваемый А.
-- формальный аргумент процедуры, связанной с типом, или поля типа указатель на процедуру; он связывается с тем объектом этого типа, который вызывает процедуру. Является первым аргументом или отсутствует, если процедура имеет атрибут NOPASS. Атрибут PASS позволяет указать имя П.А.
Фактический А.
-- объект данных, фигурирующий при вызове процедуры.
Формальный А.
-- объект, имя которого указано при определени процедуры; также имя, которое может использоваться для ключевого задания фактических аргументов.
Эффективный А.
-- объект, связанный с именем формального аргумента при выполнении процедуры.

Асинхронный
-- несогласованный по времени. Асинхронное действие выполняется независимо от других, и доля выполнения не связана с таковой других действий.
А. ввод/вывод
-- операции ввода и вывода, которые могут выполняться параллельно с дальнейшей работой программы.
А. выполнение
-- образы программы выполняются асинхронно, то есть состояние одного никак не связано с состоянием другого, если не используется явная синхронизация.
А. данные
-- данные с атрибутом ASYNCHRONOUS (назначается по умолчанию, если объект данных участвует в А. вводе/выводе), могут подлежать А. вводу/выводу.

Атомарно
-- так, как если бы действие совершалось мгновенно. Важно для параллельного выполнения кода, когда необходимо гарантировать, что контекст не меняется в ходе выполнения действия.

Атрибут
-- свойство объекта, определяющее его использование.

Базовый объект
-- объект производного типа, не являющийся полем другого объекта производного типа или элементом массива.

Бесконечность
-- значение Inf числа с плавающей точкой стандарта IEEE. Возникает при переполнении и в качестве результата деления ненулевого числа на ноль и в иных ситуациях, в которых математический результат -- бесконечность (например, LOG(0.) дает -Inf).

Блок
-- последовательность выполняемых операторов и конструкций. Также особая конструкция BLOCK, позволяющая определить локальные для блока данные.

Блок данных
-- программная единица BLOCK DATA, предназначенная для инициализации общих блоков данных.

Блок COMMON
-- см. Общий блок.

Взаимодействующий
-- объект языка Фортран, эквивалентный объекту языка C (в будущем возможно добавление других языков), который определен или может быть определен в этом языке.

Векторный индекс
-- одномерный массив целого типа в качестве индекса массива (при этом формируется массив, в данном измерении которого стоят по порядку элементы с указанными индексами того же измерения исходного массива).

Внешнее имя
-- имя, назначенное объекту с атрибутом BIND, под которым он доступен компилятору другого языка (C).

Встроенный
-- тип, процедура, модуль, присваивание, оператор, операция, ввод/вывод, определенные Стандартом и доступные без какого-либо объявления. Также к встроенным относят нестандартные типы и т.д., предусмотренные компилятором.

Граница
-- максимальное или минимальное значение индекса массива.

Дескриптор
-- символ, имеющий специальное значение в строке формата и описывающий, так или иначе, формат ввода или вывода.

Десятичный символ
-- символ, разделяющий целую и дробную части вещественного числа в текстовой форме (важен при выводе и особенно при вводе).

Единица хранения
-- числовая, символьная, файловая и неопределенная Е.Х.
Неопределенная Е.Х.
-- объем памяти, необходимый для хранения одного значения типа, не являющегося символьным или вещественным по умолчанию, двойной точности, логическим или комплексным по умолчанию.
Символьная Е.Х.
-- объем памяти, необходимый для хранения одного символа символьного типа по умолчанию (поскольку в язык введена поддержка Юникода, понятие С.Е.Х. совсем нетривиально).
Числовая Е.Х.
-- объем памяти, необходимый для хранения одного значения вещественного, целого или логического типа по умолчанию.
Файловая Е.Х.
-- минимальная единица информации, записываемая в либо читаемая из потокового файла, а также единица измерения записей неформатного файла записей.

Завершающие процедуры
-- см. Процедура.

Завершаемый тип
-- тип, имеющий завершаемые процедуры либо не указательное и не размещаемое поле завершаемого типа.

Замок
-- скалярная переменная типа LOCK_TYPE стандартного модуля ISO_FORTRAN_ENV. Используется для синхронизации.

Запись
-- последовательность значений или символов в файле. Например, строка текста в консоли -- запись.
Форматная З.
-- последовательность символов.
Неформатная З.
-- последовательность значений объеков данных во внутреннем представлении.

Имя
-- то же, что и идентификатор -- последовательность букв, цифр и подчеркиваний, причем первый символ -- не цифра. Имена присваиваются (и присвоены) объектам данных, типам, операторам, процедурам, модулям и другим программным единицам и т.п. Следует различать имя конструкции -- произвольно указываемое имя данной конструкции, и имя оператора конструкции -- предопределенное Стандартом ключевое слово, задающее конструкцию. Иными словами, всякое ключевое слово -- имя, но не наоборот. Например, LOOP1: DO I=1,10 является заголовком конструкции цикла; имя оператора DO, имя конструкции -- LOOP1.
Родовое И.
-- общее имя множества процедур, операций или присваиваний. При ссылке на родовое имя конкретная процедура выбирается по контексту.
Специфическое И.
-- имя отдельной процедуры из объединенных под одним родовым именем.

Индекс
-- целое число в скобках; набор индексов однозначно определяет элемент массива.
Индекс образа
-- номер образа, целый положительный.

Инициализация
-- механизм назначения при объявлении указателям статуса связанности, а не-указателям -- значений.

Инкапсуляция
-- возможность связывать процедуры с производным типом; более широко -- возможность объединять в одном типе данные и действия над ними. Еще шире -- возможность разработки структур данных, способных совершать действия по сигналам извне.

Интерфейс
-- описание процедуры: имя, характеристики, имена формальных аргументов, внешнее имя и родовые имена.
Абстрактный И.
-- набор характеристик процедуры и имена формальных параметров. Соответствующие процедуры могут не существовать.
Конкретный И.
-- И. процедуры, доступной по неродовому имени.
Неявный И.
-- И., содержащий только тип и его разновидности результата функции.
Родовой И.
-- набор И., объединенных под родовым именем.
Явный И.
-- И., содержащий все характеристики процедуры.

Интерфейсный блок
-- набор тел И.Б., описывающих интерфейсы процедур. Может быть абстрактным, родовым или конкретным.

Класс
-- термин объектно-ориентированного программирования: тип данных, реализующий объект.

Ключевое слово
-- многозначно:
  1. имя оператора структуры или оператора, а также различные слова, являющиеся частями структур (например, ELSE);
  2. имя параметра разновидности типа;
  3. имя поля производного типа, указываемое в конструкторе структуры (если имена опущены, значения полям присваиваются по порядку);
  4. имя формального аргумента, которое можно указать при вызове процедуры (ключевой способ задания аргументов; удобен для читаемости, позволяет указывать аргументы в произвольном порядке, а также необходим в случае, если опущены необязательные аргументы).

Кограница
-- максимальное или минимальное значение коиндекса.

Коизмерение
-- измерение структуры соответствующих комассивов на разных образах. В простейшем случае одномерного комассива номер образа является коиндексом; возможны и многомерные комассивы.

Коиндекс
-- целое число в квадратных скобках; набор коиндексов однозначно определяет элемент комассива, то есть объект данных на том или ином образе.

Коиндексированный объект
-- объект данных с селектором образа в виде квадартных скобок, содержащих коиндексы.

Комассив
-- объект данных с ненулевым корангом: образы могут обращаться к комассивным объектам друг друга посредством коиндексов.

Компонент
-- то же, что и поле.

Константа
-- объект данных, имеющий значение, которое нельзя менять, переопределять и делать неопределенным в ходе выполнения программы. Бывают именованными и безымянными (литеральными).
Именованная К.
-- объект данных с атрибутом PARAMETER; является именованным объектом данных, изменние которых запрещено.
Литеральная К.
-- безымянная константа, значение и тип которой определены ссылкой на нее (средствами языка). Например, 1, 0.1, "str".

Константное выражение
-- выражение, значение которого не меняется в ходе выполнения программы. Может использоваться для задания разновидности типа, инициализации или задания именованной константы. Содержит только встроенные операции и некоторые функции, а все операнды -- К.В.

Конструктор
-- синтаксическая конструкция, позволяющая создать экземпляр объекта.
К. массива
-- конструктор, создающий одномерный массив. Может считаться способом записи безымянных массивных констант. Многомерные массивные константы определяются с помощью функции RESHAPE.
К. структуры
-- конструктор, определяющий все или некоторые поля структуры в одной конструкции или создающий структуру. Может считаться способом записи констант производного типа.

Конструкция
-- синтаксическое средство, описывающее выполнение блока операторов. Предусмотрены: К. циклов, условные К., К. выбора и иные. К. состоит из заголовка, тела и оператора END, могут иметь имя. Оператор завершения К. -- оператор EXIT, завершающий конструкцию, указанную по имени (без имени завершает ближайший объемлющий цикл).

Конфигурация
(массива) -- одномерный массив целого типа, содержащий протяженности измерений. Размер конфигурации равен рангу массива. К. скаляра -- массив ранга 1 и размера нуль.

Конфигурация
(комассива) -- одномерный массив целого типа, содержащий протяжнности коизмерений. Размер конфигурации равен корангу комассива. Комассив не обязательно имеет прямоугольную структуру; точнее, если коразмер комассива превышает число образов, конечные элементы комассива (в порядке следования элементов массива) не определены.

Коразмер
-- число образов; не обязан совпадать с произведением элементов конфигурации комассива.

Коранг
-- число коизмерений комассива (нуль для некомассивных объектов), то есть число коиндексов, необходимых для однозначного определения отдельного объекта данных.

Лексическая единица
-- ключевое слово, имя, литеральная константа (за исключением комплексной), оператор, метка, разделитель, запятая, символы =, =>, :, ::, %.

Массив
-- множество скаляров одного типа, включая и разновидности типа, имеющее прямоугольную структуру и упорядоченное набором целых чисел -- индексов.
М. отложенной конфигурации
-- размещаемый массив или указатель на массив, объявленный без указания конфигурации, которая определяется при размещении либо связывании с целью.
М., перенимающий конфигурацию
-- формальный аргумент, являющийся массивом, не являющийся размещаемым и указателем, конфигурация которого определяется фактическим аргументом.
М., перенимающий размер
-- формальный аргумент, являющийся массивом: его размер определяется размером фактического аргумента.
М. с наследуемой конфигурацией
-- массивные именованные константы: конфигурация их определяется конфигурацией инициализирующего выражения.
М. явной конфигурации
-- массив, объявленный с указанием границ каждого измерения.
Целый М.массив
-- имя массива без селекторов элементов или секций.
Элемент М.-а] -- отдельный скаляр в составе массива; однозначно определяется именем массива и набором индексов.

Метка
-- положительное целое число, не более, чем пятизначное, отмечающее строку, содержащую оператор. Используются для безусловных переходов, для переходов в случае тех или иных особых ситуаций (таких, как конец файла при чтении или записи и т.п.), для указания размещения форматов и т.д.

Модуль
-- программная единица, содержащая определения (или имеющая доступ к таковым в других модулях), которые могут быть доступны другим программным единицам.

Наследование
-- концепция расширения производных типов, при котором расширяющий тип имеет все поля, процедуры и параметры типа своего предка, который расширяем.

Не-число
-- значение NaN числа с плавающей точкой стандарта IEEE. Возникает при делении ноля на ноль и в иных ситуациях математической неопределенности, в том числе Inf-Inf.

Неопределен
-- не имеет корректного значения; применительно к указателю -- не имеет ни статуса «связан», ни статуса «не связан».

Область видимости
-- конструкция BLOCK, определение производного типа, тело интерфейсного блока, программная единица и процедура за вычетом вложенных О.В. Область программы, в которой объекты доступны под своими именами без использования связи.

Образ
-- экземпляр программы, выполняемый параллельно с другими О. Каждый О. имеет свои данные, но к комассивным данным других образов возможен доступ. Индекс О. -- целое число, определяющее образ. Также номер образа. Управление образами или синхронизация -- операторы, влияющие на последовательность выполнения образов.

Общий блок
-- набор объектов, непрерывно расположенных в памяти; определяется оператором COMMON. Может служить для определения глобальных данных, а также для реализации связи по памяти (если одноименные блоки в разных программных единицах содержат разные объекты, то эти объекты занимают одно и ту же область памяти). Относятся к нерекомендованным средствам. Блоки могут иметь имена, возможен один безымянный блок.

Объект
-- термин объектно-ориентированного программирования: структура данных, объединяющая (инкапсулирующая) объекты данных и работающий с ними код, причем часть данных (или все целиком), а также часть кода скрыта от пользователя, так что поведение объекта имитирует реальный объект предметной области. Также экземпляр класса.

Объект данных
-- область памяти, интерпретируемая языком, доступ к которой осуществляется по имени или указателю.

Объект программы
-- объекты данных, процедуры и т.п. Иногда просто «объект».

Объявление
-- назначение атрибутов, типов, конфигурации и т.д. объектам программы.

Операнд
-- объект данных, над которым производится операция.

Оператор
-- знак операции; также команда языка Фортран, записанная в соответствии с синтаксисом языка.
Выполняемый О.
-- команда, переводимая компилятором в те или иные действия.
Невыполняемый О.
-- команда, изменяющая контекст выполнения программы, в том числе объявления объектов.

Операция
-- реализация функции (в математическом смысле) одной (унарная О.) или двух (бинарная О.) переменных из заданного множества (заданного типа), записываемая с помощью знака операции. Например, арифметические действия, конкатенация строк, логические операции и т.п. Возможности определения О. для производных типов позволяют естественным образом расширять язык, например, используя естественные обозначения алгебры матриц.

Определен
-- имеет корректное значение. Для указателей -- имеет статус связанности (связан или не связан). Указатель может иметь статус «не определен».

Определение
-- процесс, в результате которого объект данных становится определенным.

Определяемое присваивание
-- присваивание, определенное пользователем; задается подпрограммой с двумя аргументами, соотвествующими левой и правой частям.
Определяемая операция
-- операция, определенная пользователем; задается функцией с одним (для унарных) и двумя (для бинарных) аргументами. Могут определяться обычные знаки операций, а также вводится новые в форме .буквы.
Определяемый ввод/вывод
-- операции ввода и вывода, определямые пользователем; задаются процедурами предусмотренного вида, для каждого типа ввода/вывода.

Размер
-- полное число элементов массива. Равен произведеню протяженностей измерений.

Размещаемый
-- объект, имеющий атрибут ALLOCATABLE. Такие объекты не существуют на момент запуска программы, а память для них отводится в ходе работы.

Размещение
-- Операция выделения памяти для размещаемого объекта либо анонимной цели указателя. При этом определяется конфигурация массива. Выполняется оператором ALLOCATE

Ранг
-- число измерений массива, то есть число индексов, необходимых для однозначного определения отдельного элемента массива.

Результат функции
-- переменная в теле функции, которой присваивается значение, возвращаемое функцией. По умолчанию ее имя совпадает с именем функции, но может быть изменено (а для рекурсивной функции это необходимо).

Рекурсия
-- в общем случае, обращение алгоритма к себе самому. В частном случае, вызов процедурой той же процедуры, в том числе косвенно (вызов процедуры $ A$ из другой процедуры $ B$ , взыванной из $ A$ ). Многие алгоритмы, сформулированные рекурсивно, могут быть эффективно реализованы с помощью цикла (пример -- факториал, $ (n+1)! = (n+1)n!$ ), однако существуют алгоритмы, для которых рекурсия наиболее естественна (например, обход дерева).

Параметр
-- для процедур то же, что и аргумент; П. типа -- см. Параметрами также называют именованные константы, объявляемые с атрибутом PARAMETER.

Параметр типа
-- целое число (или числа), различающие разновидности одного типа (например, разновидности целого типа отличаются диапазоном) или определяющие свойства типа (т.е. параметризующие тип) -- примером служит параметр длины для символьных строк. Производные типы могут иметь параметры, от которых могут зависеть разновидности типов полей, размеры полей-массивов, длины полей-строк и т.п.
Отложенный П.Т.
-- параметр длины, который может меняться в ходе работы программы и который задается двоеточием.
Перенимаемый П.Т.
-- параметр длины, который определяется значением другого объекта (то есть по контексту): эффективного аргумента процедуры, селектора в конструкции ASSOCIATE или константного выражения, инициализирующего именованную символьную константу. Задается звездочкой.
П. разновидности типа
-- параметр типа, который должен быть указан как выбираемый по умолчанию или задаваться константным выражением. Для встроенных числовых типов определяет разновидность, для символьного -- кодировку. Логический тип тоже может иметь разновидности.
П. длины типа
-- может быть перенимаемым, отложенным или задаваться выражением спецификации. Для символьного типа -- длина строки, для производных типов может иметь любой смысл, термин «длина» выбран для аналогии с длиной строки.

Перегрузка
-- (иначе совмещение) определение операций для новых типов, а также объединение нескольких процедур под одним именем. Разновидность полиморфизма.

Переменная
-- объект данных, значение которого может меняться в ходе выполнения программы: иными словами, который может определяться или переопределяться.
Глобальная П.
-- переменная, потенциально доступная из любой точки образа.
Локальная П.
-- переменная в текущей области видимости, не являющаяся формальным аргументом или его частью, глобальным объектом или его частью, и к ней отсутствует доступ извне этой области видимости.

Подмодуль
-- программная единица, расширяющая модуль или другой подмодуль.

Подпрограмма
-- процедура, не возвращающая значения. Вызывается оператором CALL. Может возвращать значения в параметрах (в том числе стерильная). Может вызываться неявно -- через переопределенную операцию или при операциях над структурами. Атомарная П. -- подпрограмма, совершающая действия над аргументом атомарно, то есть аргумент защищен от любого воздействия в ходе работы над ним.

Подсоединен
-- отношение между устройством и файлом: каждый из них подсоединен, если устройство связано с файлом.

Поле
-- объект данных, являющийся частью производного объекта данных; доступ к полям осуществляется символом %.
Прямое П.
-- одно из полей или П.П. поля производного типа, не являющегося размещаемым и указателем.
П. предка
-- поле производного типа, расширяющего родительский тип, если тип поля соответствует типу родительского поля, а поля которого связаны по наследованию с полями соответствующего поля типа-предка.
Последнее П.
-- поле встроенного типа, указатель или размещаемое; а также последнее поле поля, не являющегося указателем и размещаемым.

Полиморфизм
-- возможность различной реализации при одинаковом описании. Для процедур -- возможность принимать аргументы различных типов (но, как правило, состоящих в родстве по наследованию). Родовые имена реализуют статический полиморфизм (выбор реализации осуществляется на стадии компиляции). Поддержка динамического полиморфизма имеется в Fortran-2003 (выбор реализации осуществляется при исполнении программы). Для данных -- тип задается как «потомок данного» или вообще любой, реальный тип определяется контекстом (например, при вызове процедуры). Есть средства выяснить тип на этапе исполнения (SELECT TYPE).

Полиморфная процедура
-- процедура, способная принимать в качестве параметра объекты разных типов: конкретно перечисленных, потомков данного типа, или любого типа.

Полиморфный объект данных
-- объект данных, тип которого может быть разным в ходе выполнения программы. Абсолютно П.О.Д. -- объект, способный иметь любой тип. П.О.Д. может быть указателем, размещаемым либо формальным аргументом, то есть его тип при фактическом использовании может не быть известен на этапе компляции (в противном случае полиморфизм не имеет смысла).

Полиморфный тип
-- производный тип объекта данных (формального аргумента, размещаемого объекта или указателя), объявленный ключевым словом CLASS (вместо TYPE) -- при фактическом использовании объект данных полиморфен.

Порядок
-- встроенный механизм, реализующий порядок на том или ином множестве объектов. Используется при вводе-выводе, в конструкторах и в ряде других случаев.
П. полей
-- порядок, в котором выводятся неродительские поля производного типа.
П. массива
-- порядок, в котором выводятся элементы массива («по столбцам», то есть быстрее меняются более ранние индексы).

Последовательность
-- множество элементов, взаимо-однозначно отображаемое на начальный отрезок натурального ряда (1, 2, 3, ...)

Последовательный тип
-- производный тип, поля которого располагаются в памяти последовательно; определяется с указанием оператора SEQUENCE, имеет ряд ограничений.
Символьный П.Т.
-- П.Т. без параметров разновидности, без размещаемых и указательных полей, поля которого все символьного типа по умолчанию или другого С.П.Т.
Числовой П.Т.
-- П.Т. без параметров разновидности, без размещаемых и указательных полей, поля которого все числового типа по умолчанию или другого Ч.П.Т.

Потомок
-- производный тип, расширяющий некоторый другой производный тип; подмодуль, подчиненный модулю или подмодулю.

Поэлементное действие
-- скалярное действие, независимо осуществляемое над элементами массива или согласованных массивов (или массивов и скаляров), в том числе:
  1. П. операция -- операция, осуществляемая поэлементно.
  2. П. подпрограмма -- подпрограмма со скалярными формальными аргументами, которая может принимать в качестве фактических аргументов массивы и обрабатывать их поэлементно.
  3. П. присваивание -- присваивание, осуществляемое поэлементно.
  4. П. функция -- аналогично подпрограмме, но то же относится и к результату.
  5. П. ссылка -- ссылка на П. подпрограмму, у которой хотя бы один фактический аргумент -- массив.

Присваивание
-- операция назначения объекту данных (левая часть) значения, указанного в правой части.
П. указателю
-- операция, связывающая указатель в левой части с объектом данных, указанного в правой части (правая часть либо содержит объект, либо указатель на него). Также П.У. имеет место при обычном встроенном присваивании производного типа, если имеется поле-указатель на любом уровне вложенности.
П. по маске
-- П. элементам массива, которым соответствуют истинные элементы маски -- массива логического типа, согласованного с левой частью.

Программа
-- набор взаимосвязанных программных единиц, включающий основную программную единицу.

Программная единица
-- основная программная единица, внешняя процедура, модуль, подмодуль, блок данных. Основная П.Е. -- последовательность невыполняемых и выполняемых операторов, не являющаяся модулем, подмодулем, блоком данных и процедурой.

Протяженность
-- число элементов в выбранном измерении массива.

Процедура
-- программная единица, выполняющая некоторый код в зависимости от своих аргументов. Может быть подпрограммой или функцией. Может непосредственно быть вызвана в ходе выполнения программы.
Внешняя П.
-- процедура, определенная вне других программных единиц, в том числе на других языках программирования.
Внутренняя П.
-- процедура, определенная в теле другой процедуры или основной программы (отделена от тела оператором CONTAINS). В.П. не могут иметь свои В.П.
Встроенная П.
-- см. Встроенный.
Модульная П.
-- процедура, определенная в модуле.
Завершающие П.
-- П. Связанные с типом и вызываемые автоматически тогда, когда объект этого типа прекращает свое существование.
П, связанные с типом
-- процедуры, являющиеся полями производного типа. Доступ к ним осуществляется указанием объекта этого типа и имени процедуры. Вызывающий объект может (и по умолчанию передается) автоматически передаваться в качестве аргумента процедуры. Реализуют концепцию инкапсуляции. В терминологии ООП это методы.
Рекурсивная П.
-- процедура, способная вызвать «сама себя», то есть эту же процедуру, в том числе -- косвенно, то есть $ F$ вызывает $ G$ , а та вызывает $ F$ . В Фортране Р.П. должны иметь атрибут RECURSIVE.
Стерильные П.
-- процедуры, не меняющие ничего вне своего тела. В частности, запрещен ввод и вывод. Стерильная функция не меняет также своих аргументов (все входящие), стерильная подпрограмма может возвращать значения через аргументы.
Поэлементные П.
-- см. Поэлементное действие.

Связь
-- доступ к объектам данных вне области видимости. Различают связь по наследованию, имени, указателю, памяти, аргументу, конструкции, вложенности и импорту, а также внешнюю связь.
Внешняя С.
-- связь между переменной или общим блоком с атрибутом BIND и глобальной переменной языка C.
С. по аргументу
-- доступ к эффективному аргументу по имени формального аргумента.
С. по вложенности
-- доступ по имени к объекту из объемлющей программной единицы из подмодуля или вложенной программной единицы, за исключением связи по аргументу.
С. по имени
-- С. по аргументу, конструкции, вложенности, импорту и внешняя -- доступ к объекту по его имени.
С. по импорту
-- доступ к объектам модуля посредством оператора USE.
С. по конструкции
-- связь между селектором и присвоенным именем в конструкциях ASSOCIATE и SELECT TYPE.
С. по наследованию
-- доступ к полям типа-предка из типа, который его расширяет.
С. по памяти
-- связь между объектами, занимающими перескающиеся (или совпадающие) области памяти.
С. по указателю
-- доступ к объекту с атрибутом TARGET посредством указателя.

Секция массива
-- подмножество массива прямоугольной структуры. С.М. определяется подмножеством индексов.

Селектор
-- указание поля (символ %), части комплексного числа (символ %RE и %IM), секции массива, элемента массива, образа или подстроки. Также переменная или выражение в конструкциях ASSOCIATE, SELECT TYPE и SELECT CASE.

Синхронизация
-- условие, гарантирующее, что два или более асинхронных процессов продолжат выполнение только тогда, когда оба достигнут установленных точек, например, исполнят оператор синхронизации. При необходимости задерживает выполнение процесса.

Синхронный
-- согласованный по времени. С. ввод/вывод приостанавливает программу до окончания соотвествующей операции. С. выполнение -- работа двух или более процессов, при которой состояние одного однозначно определяет состояние другого.

Система
-- сочетание операционной системы, оборудования и компилятора. Зависит от С. -- не определено Стандартом, может быть разным в зависимости от оборудования, операционной системы, производителя компилятора и его версии.

Скаляр
-- одиночное значение данного типа, не являющиеся массивом размера $ 1$ .

Согласованные объекты
-- объекты данных одной конфигурации, либо один объект -- скаляр, а другой -- массив.

Спецификатор
-- ключевые слова, являющиеся параметрами операторов, в частности, ввода/вывода.

Сплошность
-- свойство массива или составного объекта данных, элементы (или части) которого расположены в памяти последовательно и не разделены другими объектами.

Ссылка
-- имя объекта и набор селекторов (от нуля и более).
С. на процедуру
-- имя процедуры и набор аргументов в скобках (для функции без аргументов пустые скобки обязательны, а для процедуры -- не требуются).
С. на объект данных
-- имя объекта и набор селекторов, однозначно выделяющих объект, значение которого в этом месте программы допустимо.
С. на модуль
-- имя модуля в операторе USE.

Строка
-- последовательность символов.

Структура
-- скаляр производного типа.

Тип
-- именованная категория данных, описываемая набором возможных значений, синтаксисом их указания и набором операций над ними.
Абстрактный Т.
-- тип с атрибутом ABSTRACT; часть процедур, связанных с типом, не реализуются, объекты этого типа не могут быть объявлены и созданы. Полностью реализуются потомки созданного типа.
Встроенный Т.
-- тип, определенный Стандартом.
Динамический Т.
-- тип объекта данных в данной точке программы.
Дочерний Т.
-- тип, расширяющий данный тип.
Объявленный Т.
-- тип, который назначен объекту при объявлении, явно или неявно.
Расширенный Т.
-- тип, основанный на ранее объявленном типе с помощью оператора EXTENDS
Расширяемый Т.
-- тип, который может быть расширен (не имеет атрибутов BIND и SEQUENCE).
Родитель типа
-- тип, который расширен данным типом.
Потомок типа
-- этот же тип или расширенный тип, родитель которого есть потомок типа.
Предок типа
-- тип, потомком которого является данный тип.
Производный Т.
-- тип, объявленный оператором TYPE; может содержать поля различного типа и ранга, а также связанные с типом процедуры.
Совместимость по Т.
-- возможность использовать объект данного типа там, где требуется объект другого типа. Совместимость числовых типов обеспечивает неявное преобразование типа; совместимость потомков с предками -- проявление полиморфизма.
Числовой Т.
-- целочисленный, вещественный или комплексный тип.

Указатель
-- объект данных с атрибутом POINTER. Может быть массивом. Содержит информацию о расположении в памяти соответствующего объекта -- цели. Служит псевдонимом цели, то есть ссылка на имя указателя равносильна ссылке на сам объект, за исключением контекста работы с указателем (присваивание указателю и ряд справочных функций).
П. указателю
-- см. Присваивание.
У. на данные
-- указатель, целью которого является скаляр или массив данного типа и конфигурации. Формально объект данных с атрибутом POINTER.
У. на процедуру
-- указатель, целью которого явяется процедура с данными характеристиками. Объявляется атрибутами EXTERNAL и POINTER.

Устойчивый
-- имеющий атрибут SAVE; У. объект данных сохраняет свое значение после выхода из области его видимости, например, из процедуры.

Устройство
-- объект программы, способный однозначно определять открытый файл. Открытие файла связывает файл с устройством, после чего все операции с файлом производятся с указанием устройства. При этом файл готовится для чтения или записи тем или иным способом -- в зависимости от системы. Устройства для внешних файлов -- целые положительные числа; для внутренних -- имена соответствующих переменных (операция открытия не требуется); символ * -- устройство стандартных файлов ввода и вывода.

Файл
-- область дисковой или иной памяти или устройство, способные к обмену (одностороннему или двустороннему) информацией с программой.
Внешний Ф.
-- файл, существующий на носителе вне программы.
Внутренний Ф.
-- скалярная или массивная переменная строкового типа, играющая роль хранилища данных. Служит, в частности, для конвертации данных из текстового в числовую форму и обратно.
Именованный Ф.
-- файл, доступный по имени.
Неформатный Ф.
-- файл, в который записываются или из которого читаются данные в двоичной форме.
Открытый Ф.
-- файл, связанный с устройством.
Последовательный Ф.
-- файл, в котором записи читаются и записываются по порядку, а перемещение от записи к записи осуществляют операторы «перемотки». Может быть форматным и неформатным.
Потоковый Ф.
-- файл, в который записываются или из которого читаются отдельные единицы хранения. Иначе называется Ф. потокового доступа. Может быть форматным и неформатным.
Ф. записей
-- файл, в который записываются или из которого читаются записи. Может быть форматным и неформатным. Любой файл, кроме потокового -- Ф. записей.
Ф. прямого доступа
-- файл, в котором записи доступны по номеру. Может быть форматным и неформатным.
Форматный Ф.
-- файл, в который записываются или из которого читаются данные в текстовой форме.

Формат
-- соглашения о записи исходного текста программы; описание формы представления данных при вводе и выводе; параметр операторов ввода/вывода, описывающий Ф. (может быть меткой строки с описанием формата, строкой формата, символьной переменной, содержащей такую строку или символом * -- формат по умолчанию).
Оператор Ф.-а
-- оператор FORMAT, описывающий формат ввода/вывода на отдельной строке.
Свободный Ф.
-- современный стиль записи текста программы, в котором пробелы значащие, позиции в строке равноправны, а перенос строк обозначается символом &.
Строка формата
-- текстовая строка особого вида, описывающая формат для ввода/вывода.
Фиксированный Ф.
-- устаревший стиль записи текста программы, в котором пробелы незначащие, а позиции в строке имеют оговоренный смысл (1-5 -- для меток, 6 -- признак продолжения, 7-72 -- для операторов, прочие игнорируются).
Ф. по умолчанию
-- формат ввода/вывода, выбираемый компилятором в зависимости от списка ввода/вывода.

Функция
-- процедура, вызываемая при указании ссылки на нее в выражении. Вычисляет результат, который используется в выражении в том месте, где указана ссылка на функцию. Может вызываться неявно -- через определяемые операции.
Справочная Ф.
-- Ф., результат которой зависит от свойств одного или более ее аргументов, но не от их значений.
Ф. преобразования
-- встроенная функция или функция встроенного модуля, не являющаяся поэлементной и справочной.

Характеристика процедуры
-- атрибуты (стерильная, поэлементная, взаимодействующая с C) процедуры, определение процедуры как подпрограммы либо функции, а также характеристики формальных аргументов и результата функции.
Х. формальных аргументов
-- определение аргумента как объекта данных, процедуры или звездочки (устаревшая черта, формальному аргументу-звездочке отвечает фактический аргумент-метка, переход на которую осуществляет оператор RETURN с параметром).
Х. формальных аргументов-объектов данных
-- тип, его разновидности, конфигурация, коранг, коизмерения, атрибуты. Характеристикой является также зависимость разновидности типа и границ от других параметров (если они заданы неконстантнм выражением), а также конфигурация, размер и разновидности типа, если они пернимаемы или отложены.
Х. формальных аргументов-процедур
-- является ли интерфейс явным, характеристики аргумента как процедуры в случае, если интерфейс явный, является ли аргумент указателем и является ли он обязательным.
Х. результата функции
-- тип, разновидности типа, ранг, полиморфность, размещаемость, является ли он указателем, имеет ли атрибут сплошности CONTIGUOUS, является ли указателем на процедуру. Характеристикой является также конфигурация, если результат функции -- массив, притом не размещаемый и не указатель. Характеристикой является также зависимость разновидности типа и границ от других параметров (если они заданы неконстантнм выражением), а также конфигурация, размер и разновидности типа, если они перенимаемы или отложены. Длина строки -- характеристика, если она перенимаема.

Цель
-- объект, с которым связан указатель; правая часть оператора присваивания указателю; объект с атрибутом TARGET.

Цикл
-- блок операторов (тело Ц.), выполняемых нуль и более раз, в зависимости от условий, проверяемых в заголовке цикла.
Ц. со счетчиком
-- цикл, выполняемый заданное число раз, соответствующее числу значений целочисленной переменной-счетчика. Набор значений характеризуется начальным значением, верхней границей и приращением (которое может быть и отрицательным, тогда верхняя граница является нижней). Значение переменной доступно в теле цикла.
Вечный Ц.
-- цикл, выполняемый вечно. Прекращение его выполнения осуществляется безусловным переходом не рекомендуется) или с помощью оператора прерывания цикла.
Итерация цикла
-- однократное выполнение тела Ц.
Оператор прерывания Ц.
-- оператор EXIT, завершающий текущую итерацию Ц. и сам цикл. Применяется также для завершения именованных конструкций, не только циклов.
Оператор продолжения Ц.
-- оператор CYCLE, завершающий текущую итерацию Ц. и начинающий новую.
Ц. с условием
-- цикл, выполняемый до тех пор, пока логическое выражение не станет ложным (в том числе и нуль раз). Обычно это выражение зависит от величин, изменяемых в теле.


next up previous contents
След.: Литература Выше: f08_new_win Пред.: Приложение 3: операторы Фортрана   Содержание
Ilya A. Chernov 2012-12-19
X