ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 17.10.2024
Просмотров: 82
Скачиваний: 0
1— передвинуть каретку к первой строке следующей стра. ницы;
+— подавить переход к следующей строке.
Если запись передается не на печать или если первая литера
не специфицирована как wH или |
то первая литера представ |
ляет собой обычные данные. |
|
Если при печати числа по спецификациям I, D, Е, F или G ши рина поля указана недостаточной для выдачи старших значащих цифр, то все поле заполняется звездочками.
В стандартной записи высказываний ввода-вывода
R E A D |
( a l , а 2 ) сп и с о к |
|
R E A D |
( а ) сп и с ок |
|
W R I T E ( а ) сп и с ок |
||
E N D F I L E |
а |
|
R E W I N D |
а |
B A C K S P A C E а
первый параметр везде специфицируется и трактуется так же, как ссылочный номер набора данных в высказывании чтения.
В Фортране IV ЕС для ввода-вывода с прямым доступом к на борам данных введены следующие высказывания: DEFINE FILE, READ, WRITE, FIND.
D E F I N E F I L E a l ( k 1 , c l , b l , p i ) , а 2 ( к 2 , c2, b2, p 2 ) , . . .
где al, a2,. . . — беззнаковые целые константы, определяющие ссы лочные номера наборов данных;
к1, к2,. . . — беззнаковые целые константы, определяющие ко личество записей в соответствующих наборах дан ных;
с1, с2,. . . — максимальная длина записи (целая константа без знака) в наборах данных al, а2,...;
Ы, Ь2,... — принимают значения L, Е и U; U обозначает, что записи измеряются в словах и предназначены для бесформатных данных; Е обозначает, что записи измеряются в байтах и предназначены для фор матных данных; L обозначает, что записи измеря ются в байтах и могут содержать как форматные, так и бесформатные данные;
р1, р2,. . . — имена простых целых переменных, играющих роль указателей записи при операциях ввода-вывода.
Высказывание DEFINE FILE используется для декларирова ния описания наборов данных с прямым доступом и должно пред шествовать первому упоминанию этих наборов в операциях READ, WRITE и FIND:
R E A D ( а ’р, х, E R R = c ) сп и с о к
где а — ссылочный номер набора данных;
р— целое выражение, определяющее относительный номер за писи в наборе данных, начиная с которой выполняется чтение;
12* |
179 |
х— метка формата или имя массива с форматными данными; при бесформатном чтении этот параметр опускается;
с— метка, по которой передается управление при возникно вении состояния ошибки устройства ввода-вывода;
W R I T E ( а ’р, х ) сп и с ок
где параметры а, р и х имеют тот же смысл, что и соответствую щие параметры высказывания прямого READ.
F I N D ( a ’p)
где параметры а и р по смыслу подобны соответствующим пара метрам прямых READ и WRITE.
Это высказывание позволяет совмещать во времени операции поиска указанной записи и ввода-вывода предыдущей записи.
Высказывание DATA записывается в форме:
D A T A а 1 / с I /, а 2 / с 2 / , . . .
где а — список имен простых переменных, массивов и элементов массивов, при этом в качестве индексов используются це лые беззнаковые константы;
с— список констант, в котором повторяющиеся группы кон стант могут быть записаны с коэффициентом повторения
к* аналогично группам констант высказывания NAMELIST.
Программист имеет возможность управлять правилами умол чания с помощью следующего высказывания:
|
|
|
IM P L IC I T |
тип |
1*к1 (а 1), тип |
2*к 2 ( а 2 ) . . . |
|
|
|
|
||
где |
тип |
г — тип (INTEGER, REAL, COMPLEX |
или |
LOGICAL), |
||||||||
|
|
который в данной программной единице будет припи |
||||||||||
|
|
сываться по умолчанию всем именам, идентификато |
||||||||||
|
|
ры которых начинаются с одной из указанных в спис |
||||||||||
|
|
ке ai литер; |
|
|
|
при этом груп |
||||||
|
|
аг — список литер, разделенных запятыми; |
||||||||||
|
|
па алфавитноупорядоченных литер |
а п , а п + |
и . . . , |
а п |
|||||||
|
|
может быть записана в сокращенной форме ап—an + j ; |
||||||||||
|
* Ы — опция1, |
где k |
определяет |
умалчиваемую |
длину для |
|||||||
|
|
имен г-го списка: |
|
|
|
|
|
|
||||
|
|
|
|
|
|
Д л и н а , п р и п и с ы в а е м а я |
|
|||||
|
|
Тип |
|
|
|
и м ен а м си с т е м о й в о т |
|
|||||
|
|
|
|
Д л и н а |
с у т с т в и е |
оп ц и и |
*к |
|
|
|||
|
|
INTEGER |
2 |
или |
4 |
|
4 |
|
|
|
|
|
|
|
REAL |
|
4 |
или |
8 |
|
4 |
|
|
|
|
|
|
COMPLEX |
8 |
или |
16 |
|
8 |
|
|
|
|
|
|
|
LOGICAL |
1 |
или |
4 |
|
4 |
|
|
|
|
|
|
1 П о д оп ц и ей п о н и м а е т с я у к а з а н и е п р о гр а м м и с т а о в ы б р а н н о й |
им у с л у г е |
||||||||||
или |
в о з м о ж н о с т и |
си ст ем ы |
п р о гр а м м и р о в а н и я и з |
о п р е д е л я е м о г о |
д л я |
к а ж д о г о |
к он |
|||||
к р етн ого |
с л у ч а я |
сп и ск а |
у с л у г или в о з м о ж н о с т е й ; о т с у т с т в и е |
т а к о г о |
у к а з а н и я |
|||||||
обы ч н о в л еч ет п р и м е н е н и е н е к от ор ы х , о п р е д е л е н н ы х д л я |
д а н н о г о с л у ч а я , |
п р а |
||||||||||
вил |
у м о л ч а н и я . |
|
|
|
|
|
|
|
|
|
|
180
Двойная точность в IMPLICIT указывается не как DOUBLE PRECISION, а как REAL *8.
В объявлениях типов возможны некоторые дополнительные по сравнению со стандартом указания
Тип *к а1 *к1 |
(размерность 1) [/cl/], а2*к2 |
(размерность 2) [/c2/],..s |
||||
где а — имя простой переменной, массива или функции; |
массива, |
|||||
размерность — обычные указания |
о |
размерах |
||||
количество измерений может достигать семи; |
|
|||||
*кг — опция |
длины, подобная |
введенной |
для |
высказывания |
||
IMPLICIT, причем * k i (i¥=0) относится |
только |
к имени |
||||
аг, тогда как *к относится ко всем остальным именам; |
||||||
а — список констант, форма |
записи и смысл которого подоб |
ны списку констант высказывания DATA. Указание /а’/ может отсутствовать;
Тип — одно из слов: INTEGER, REAL, LOGICAL или COMPLEX. Тип DOUBLE PRECISION эквивалентен REAL*8. Ини циализация данных списком констант в этом объявлении запрещена.
При взаимодействии COMMON и EQUIVALENCE разрешает ся увеличение общих областей в сторону больших, но нё меньших адресов.
Имя функции в высказывании FUNCTION может быть снаб жено приставкой указания длины *к.
Всписке фиктивных аргументов высказывания SUBROUTINE разрешается указывать фиктивные метки в форме звездочки *.
Всписке фактических параметров высказывания CALL разре шаются указания в форме & Ь, где b — метка высказывания, при надлежащего той программной единице, к которой принадлежит данное CALL.
Высказывание RETURN может иметь вид:
RETURN х
где х — целая константа (простая целая переменная) длины 4, рав ная порядковому номеру метки в перечне фиктивных меток списка формальных параметров высказывания SUBROUTINE, принадле жащего той же программной единице, что и данное RETURN. Фак тическое значение метки, определяющее точку возврата по RE TURN х, должно быть указано в соответствующем высказывании
CALL.
Если фиктивный аргумент заключен в разрезы (ограничен спра ва и слева знаками косой черты), то данная подпрограмма йе от водит для такого аргумента специального места в памяти, а ис пользует каждый раз память, которая выделяется в вызывающих подпрограммах соответствующим действительным параметрам.
Разрешается передавать переменные размерности массивов в объектное время во время работы программы чеоез блоки COM MON. -
Дополнительные точки входа в программную единицу опреде
181
ляются с помощью высказывания ENTRY, записываемого в сле дующей форме:
ENTRY имя входа (список параметров)
где имя входа — внешнее имя, употребляемое при вызовах, на ряду с именем программной единицы SUBROUTINE или FUN CTION;
список параметров записывается и используется по правилам, существующим в языке для списка формальных параметров про цедуры или функции.
В качестве фактического параметра могут использоваться ли тералы; литеры спецификации ’и’ или wH при этом опускаются.
В подпрограмме BLOCK DATA разрешается использование вы сказывания IMPLICIT.
7.2.3. Элементы Фортрана II
Для совместимости с Фортраном II в Фортране IV ОС ЕС раз решается использование высказываний ввода-вывода в форме:
READ |
х,список |
PUNCH |
х, список |
х, список |
для соответственно ввода с перфокарт, вывода на перфокарты и вывода на печать списка данных под управлением форматных дан ных, содержащихся в высказывании FORMAT с меткой х или в массиве с именем х.
Функции некоторых высказываний ранних версий языка Форт ран выполняются или имитируются библиотечными подпрограм мами, вызов которых осуществляется посредством высказывания
CALL.
Для установки псевдорегистров LIGHT используется подпро грамма
LIGHT (к),
где при к = 1,2,3 или 4 включается k-й псевдорегистр, а при к = 0 все четыре псевдорегистра выключаются (к — целое выражение).
Для проверки состояния псевдорегистров используется подпро грамма
SLITET (к, х),
в результате выполнения которой по заданному целым выражени ем к номеру псевдорегистра SLITE целая переменная х устанав ливается в 1 или 2 соответственно тому, включен или выключен псевдорегистр.
Сброс памяти осуществляется подпрограммами:
DUMP (al, el, xl, a2, e2, x2,...)
и
PDUMP (al, el, xl, a2, e2, x2,...)
из которых первая прекращает после сброса выполнение програм мы, а из второй происходит выход на продолжение выполнения
182
программы и где ai и et задают начало и конец i-й области памя ти, подлежащей сбросу по формату xi. Существует следующее соот ветствие между целой константой xi и форматами:
0 — шестнадцатеричный, |
6 |
— REAL*8 |
1 — LOGICAU1, |
7 |
— COMPLEX*8, |
2 — LOGICAL*4, |
8 |
— COMPLEX*16, |
3 — INTEGERS, |
9 |
— литеральный, |
4 — INTEGER*4, |
10— REAL*16, |
|
5 — REAL*4, |
11 |
— COMPLEX*32. |
Подпрограмма
DVCHK (k)
устанавливает k равным 2, если состояние деления на нуль имеет место, и равным 1 в противном случае.
Подпрограмма
OVERFL (к)
устанавливает к равным 1, если имеет место состояние переполне ния порядка; равным 3 при состоянии исчезновения порядка и рав ным 2 в отсутствие этих состояний.
Подпрограмма
EXIT
прекращает выполнение программы.
7.2.4. ОС ЕС — зависимые элементы языка Фортран ЕС
Важнейшая системозависимая особенность языка Фортран IV ОС ЕС заключается в том, что фортранные программы пользовате ля не содержат элементов, зависящих от операционной системы непосредственно. Такая зависимость может проявляться в програм мах лишь косвенно — через ограничения на доступные программи сту размеры внешней и внутренней памяти, через эксплуатацион ные характеристики внешних устройств, через соглашения об орга низации оверлейных программ с запланированным перекрытием и т. д. Прямая зависимость от операционной системы вынесена из фортранных программ в сопровождающие их программы, написан- ^ ные на языке управления заданиями.
i
S
7.2.5. G-расширения Фортрана ОС ЕС
При использовании компилятора G в фортранные программы могут быть включены следующие отладочные высказывания.
Объявление о подключении отладочного пакета;
DEBUGG опция 1, опция 2 ,..,
183