Профессиональные справочные системы
для специалистов строительной отрасли

     
     ГОСТ 23056-78*

Группа П85

ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР

Язык программирования

ФОРТРАН

Programming language. FORTRAN

Дата введения 1979-01-01

Постановлением Государственного комитета стандартов Совета Министров СССР от 7 апреля 1978 г. N 962 срок введения установлен с 01.01.79

* ПЕРЕИЗДАНИЕ (декабрь 1991 г.) с Изменением N 1, утвержденным в июне 1980 г. (ИУС 9-80).


Настоящий стандарт распространяется на язык программирования ФОРТРАН и устанавливает:

форму представления и правила интерпретации (синтаксис и семантику) программы, записанной на языке ФОРТРАН;

форму представления входных данных, отрабатываемых программой при ее выполнении в автоматизированной системе обработки данных;

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

Стандарт не устанавливает:

механизм, которым программа трансформируется для ее выполнения в системе обработки данных (комбинация этого механизма и системы обработки данных называется процессором);

метод передачи программы и ее входных или выходных данных в систему обработки данных и обратно;

действия, необходимые для запуска и управления программой в системе обработки данных;

результаты выполнения программы, если стандарт не устанавливает правил ее интерпретации;

размер и сложность программы;

диапазон или точность представления числовых значений;

состав и форму документации на трансляторы с языка ФОРТРАН и программы, записанные на языке ФОРТРАН.

Стандарт полностью соответствует международной рекомендации ИСО/Р 1539-72.

(Измененная редакция, Изм. N 1).

1. ОБЩИЕ ПОЛОЖЕНИЯ

1.1. Стандарт предназначен для достижения высокой степени мобильности и машинной независимости программ, записанных на языке ФОРТРАН, позволяющей использовать их в различных автоматизированных системах обработки данных.

1.2. Процессор, выполняющий программы, записанные на языке ФОРТРАН, считается согласованным с настоящим стандартом, если он воспринимает и интерпретирует в соответствии с настоящим описанием по крайней мере те формы и соотношения, которые описаны в настоящем стандарте.

1.3. Любое ограничение или запрет, сформулированные в настоящем стандарте, обозначает следующее: если в какой-либо программе это ограничение не выполнено или запрет нарушен, то такая программа считается несогласованной с настоящим стандартом.

Разд.1. (Измененная редакция, Изм. N 1).

2. СТРУКТУРА ЯЗЫКА

2.1. Настоящий раздел определяет общую структуру программ, записанных на языке ФОРТРАН. В разделе содержатся также определенные разъяснения, касающиеся смысла некоторых фраз и отдельных слов.

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

2.2.1. Выполнимая программа состоит из одного или нескольких программных модулей (п.9.1.3), один (и только один) из которых является головным модулем (п.9.1.4).

2.2.2. Выполнение программы начинается с выполнения ее головного модуля. Однако в любом программном модуле (в том числе и в головном), за исключением модуля-блока данных, могут использоваться внешние процедуры (разд.9), описывающие вне данного модуля отдельные процедуры процесса обработки данных. Для определения внешних процедур средствами ФОРТРАНа служат модули-процедуры (разд.8).

2.3. Внешняя процедура может быть внешней функцией или внешней подпрограммой (разд.8 и 9). Внешние процедуры могут определяться и другими средствами, отличными от языка ФОРТРАН. Эти средства настоящим стандартом не определяются.

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

(Измененная редакция, Изм. N 1).

2.3.1. (Исключен, Изм. N 1).

2.4. Каждый программный модуль состоит из предложений и комментариев. В этом смысле головной модуль - это последовательность предложений и комментариев ФОРТРАНа, не содержащая заголовка функций, заголовков подпрограмм и заголовков спецификаций блоков данных; модуль, не являющийся головным, начинается либо с заголовка функции, либо с заголовка подпрограммы, либо с заголовка спецификации блока данных.

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

2.4, 2.5. (Измененная редакция, Изм. N 1).

2.5.1. Предложения ФОРТРАНа распадаются на два основных класса: выполняемые (или операторы) и невыполняемые (или объявления). Операторы определяют действия в программе, тогда как объявления (частными случаями которых являются заголовки функций, заголовки подпрограмм и заголовки спецификаций блока данных) описывают способ использования программы, характеристики операндов, способ редактирования данных, вводимые в употребление функции или размещение данных (пп.7.1, 7.2).

2.6. Синтаксическими элементами предложения являются имена и операции. Имена используются для ссылок на объекты, например, на данные или процедуры. Операции определяют действия над именованными объектами.

2.6.1. Один частный случай имен, имя массива, заслуживает особого рассмотрения. С именем массива должен быть связан размер идентифицируемого массива, определяемый в описании массива (п.7.2.1.1). Имя массива, дополненное индексом, используется для идентификации конкретного элемента массива (п.5.1.3).

2.7. Имена данных, арифметические и логические операции, а также операции отношения могут быть связаны в выражения. Выражение служит для задания правил вычисления значения: это значение получается в результате выполнения указанных в выражении операций над именованными данными.

2.8. Для идентификации в ФОРТРАНе используются имена и целые числа без знака (п.5.1.1). Данные и процедуры именуются. Предложения помечаются целыми числами без знака. Устройства ввода/вывода нумеруются (разд.3, 6, 7).

2.9. В настоящем стандарте встречаются условные обозначения предложений ФОРТРАНа, содержащие список элементов; во всех таких случаях предполагается, что список содержит по крайней мере один элемент, если не оговорено противное. Например, запись


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

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

Термин "ссылка" используется со специальным смыслом, определенным в разд.5.

3. ПРАВИЛА ЗАПИСИ ПРОГРАММЫ

Вводная часть (Исключена, Изм. N 1).

3.1. Алфавит ФОРТРАНа. При записи программного модуля используются только символы, входящие в алфавит ФОРТРАНа. Этот алфавит делится на три группы символов: цифры, буквы и специальные символы. Множество символов, образующих алфавит ФОРТРАНа, считается неупорядоченным.

3.1.1. Цифры. Цифра - это один из десяти символов:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Если не оговорено противное и уместно считать последовательность цифр числом, то оно будет интерпретироваться как число в десятичной системе счисления.

Восьмеричная цифра - это один из восьми символов:

0, 1, 2, 3, 4, 5, 6, 7.

Восьмеричные цифры используются только в операторах останова (п.7.1.2.7.1) и паузы (п.7.1.2.7.2).

3.1.2. Буквы. Буква - это одна из двадцати шести символов:

, , , , , , , , , , , , , , ,

, , , ,

, , , , , ,

.

3.1.3. Буквенно-цифровые символы. Буквенно-цифровой символ - это либо буква, либо цифра.

3.1.4. Специальные символы. Специальный символ - это один из одиннадцати символов:

Символ

Название символа

 

Пробел

=

Равно

+

Плюс

-

Минус

*

Звездочка

/

Дробная черта

(

Круглая скобка левая (левая скобка)

)

Круглая скобка правая (правая скобка)

,

Запятая

.

Точка

Знак денежной единицы

3.4.1*. Символ пробела. Символ пробела - это отсутствие какого-либо графического изображения в данной позиции. Кроме специально оговоренных случаев (пп.3.2.2-3.2.4, 4.2.6, 5.1.1.6, 7.2.3.6 и 7.2.3.8), символ пробела не является значащим и поэтому может свободно использоваться для улучшения наглядности программы в любом ее месте с учетом ограничений на строки продолжения (п.3.3).

________________

* Нумерация соответствует оригиналу. - Примечание изготовителя базы данных.

3.2. Строки. Строка - это последовательность, состоящая из 72 символов. Каждый символ должен принадлежать алфавиту ФОРТРАНа, за исключением случаев, описанных в пп.4.2.6, 5.1.1.6, 7.2.3.1 и 7.2.3.8.