Описание входных и выходных величин

Описание входных (выходных) величин означает, что подлежат вводу (выводу) значения всех величин, указанных в списке ввода (вывода).

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

Атрибуты действуют на величину (список величин), после которой они указаны. Например описание из программы Gauss:

INPUT a(FILE='gauss') ON kls, b(FILE='gauss') ON ks.

является запросом на ввод из файла gauss.dat значений величины a для всех значений индексов области kls и значений величины b для всех значений индексов области ks.

Атрибуты позволяют управлять формой входных и выходных данных и связывать данные с входными и выходными файлами:

STR(n) задает пропуск n-1 строки

TAB(n) задает n пробелов от начала строки

SPACE(n) задает n пробелов в строке, начиная с текущей позиции

'строка' задает вывод текстовой константы

ORDER указывает порядок изменения индексов при выводе: самым старшим индексом является самый правый, самым младшим - самый левый; для очередного значения каждого старшего индекса младшие принимают все свои значения

LENGTH устанавливает длину записи в выходном файле

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

ALL приводит к выводу имени величины и ее координат (значений индексов) для каждого значения величины на области.

формат - задает формат для числовых значений при вводе и выводе и соответствует спецификаторам формата I, F, E, D в языке Фортран. По умолчанию установлены форматы: E15.8 для величин типа REAL, D15.8 для величин типа DOUBLE, I5 для величин типа INTEGER.

Для входных величин разрешены только атрибуты формат и FILE.

Пример описания выходных величин:

OUTPUT u(FILE='parabol.out') ON Wxt.
OUTPUT x(FILE='gauss.out',TAB(10),'Решение :',STR(1)) ON ks.
OUTPUT y(SPACE(10),'параметр Y:',ALL,F15.2) ON ABC.

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

При задании файла исходных данных программист может:

располагать элементы ввода в произвольном порядке

управлять порядком расположения числовых значений в файле изменением порядка следования индексов

не придерживаться одного формата в записи числовых значений

сокращенно записывать повторяющиеся данные.

Пример содержимого файла исходных данных:

a(k=1..4,l=1..4)= 1.1161, 0.1254, 0.1397, 0.1490,
0.1582, 1.1675, 0.1768, 0.1871,
0.1968, 0.2071, 1.2168, 0.2271,
0.2368, 0.2471, 0.2568, 1.2671;
u1(j=1..20)=20(0.0);
epsilon=1.0E-10;
b(k=1..4)= 2(1.1243), 2(-2.1223);

Значения многомерных массивов данных располагаются в файле в соответствии с указанными индексами, причем первыми меняются значения более правого индекса - в приведенном примере матрица a(k,l) задана по строкам, то есть k=1, l=1,2,3,4, затем k=2, l=1,2,3,4, и так далее до k=4, l=1,2,3,4.

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

Способ задания входного файла, не является единственным.