Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GRIGOREV.DOC
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
608.26 Кб
Скачать

Глава 2. Описание языка fortran

В этой главе содержится краткое описание языка FORTRAN 77, соответствующее компилятору Microsoft FORTRAN Optimizing Compiler Version 5.00.

2.1. Структура fortran-программы

FORTRAN - позиционный язык; это означает, во-первых, что операторы языка должны располагаться в строго определенных позициях, и, во-вторых, что значение символа может зависеть от его местонахождения. Каждая строка FORTRAN-программы может содержать не более одного оператора. Операторы записываются в позициях с 7-й по 72-ю. Если оператор не умещается на одной строке, его можно продолжить на следующей строке, записав в 6-й позиции любой символ, кроме пробела и символа 0. В 6-й позиции начальной строки допускается символ 0. Позиции с 1-й по 5-ю могут содержать метки. Метка в языке FORTRAN - это натуральное число (можно с ведущими нулями). Пустые строки допускаются. Комментарий занимает целую строку, в первой позиции строки комментария должен стоять один из символов *, C или c. Второй тип комментария - комментарий в остатке строки, он отделяется от оператора символом “ ! ”. И наконец, в любой строке позиции с 73-й и до конца строки есть позиции комментария. Пробелы допускаются в любом месте оператора, компилятор считает пробелы значащими только внутри символьных констант, в других местах они игнорируются. Это означает, в частности, что можно вставлять пробелы в идентификаторы : MYNUMBER и MY NUMBER и M Y N U M B E R - это корректная запись одного и того же идентификатора. Компилятор не различает в идентификаторах строчные и прописные буквы. Длина идентификатора может быть любой, но учитываются только шесть первых символов. Ключевые слова языка FORTRAN не резервируются никогда, их можно использовать в любых целях.

Последним оператором программы должен быть оператор END , первым оператором может быть (но не обязательно) оператор

PROGRAM имя программы

Кроме операторов текст программы может содержать так называемые метакоманды, которые дают возможность устанавливать и менять режимы компиляции. Метакоманда начинается с символа $, который записывается в первой позиции. Одна из метакоманд - $INCLUDE - включает в текст программы внешний файл, она записывается в виде $INCLUDE:'имя файла'

2.2. Типы данных. Константы

В языке FORTRAN есть арифметические, логические и символьные данные. Арифметические типы данных:

INTEGER*1 - аналогичен char в языке C и ShortInt в языке PASCAL;

INTEGER*2 - аналогичен int в языке C и Integer в языке PASCAL;

INTEGER*4 - аналогичен long в языке C и LongInt в языке PASCAL;

INTEGER - соответствует либо INTEGER*2, либо INTEGER*4 - в зависимости от настройки компилятора, по умолчанию это INTEGER*4. Явно задать длину данных типа INTEGER можно с помощью метакоманды $STORAGE:2 или $STORAGE:4

REAL*4 (или REAL) - аналогичен float в языке C и Single в языке PASCAL;

REAL*8 (или DOUBLE PRECISION) - аналогичен double в языке C и Double в языке PASCAL;

COMPLEX*8 (или COMPLEX) - комплексные числа, действительная и мнимая части которых имеют тип REAL*4

COMPLEX*16 - комплексные числа, действительная и мнимая части которых имеют тип REAL*8

Логические типы данных:

LOGICAL*1

LOGICAL*2

LOGICAL*4

LOGICAL - соответствует либо LOGICAL*2, либо LOGICAL*4, в зависимости от настройки компилятора, по умолчанию это LOGICAL*4. Длина типа LOGICAL также определяется метакомандой $STORAGE.

Символьные типы данных:

CHARACTER - символ,

CHARACTER*длина - строка символов.

Вообще говоря, различие между символом и символьной строкой в языке FORTRAN не проводится, CHARACTER или CHARACTER*1 - это строка из одного символа.

Целые константы в языке FORTRAN могут иметь основание от 2 до 36 и записываются в виде [ [ основание ] # ] константа . Если опущены основание и символ #, то константа считается десятичной, если опущено только основание, то константа 16-ричная. Например: 2#11111111, 3#100110, 255, #FF, 19#D8. В целых константах с основанием, большим 10, в качестве дополнительных цифр используются латинские буквы A=10, B=11, ... ,Z=35. Все целые константы имеют тип INTEGER.

Вещественные константы записываются с фиксированной или плавающей точкой и имеют по умолчанию тип REAL : 2. , -.05 , 1E0 , -.3E-7 . В константах двойной точности вместо буквы E пишется D : 1D0 , -67.3D-7 .

Логические константы записываются в виде .FALSE. или .TRUE.

Строковые константы записываются либо в виде 'символы' , либо в виде 'символы' C. Последняя запись называется C-строкой (т.е. это строка, организованная так же, как в языке C), она всегда заканчивается 0-символом (который явно не записывается) и может содержать специальные символы \n, \t, \v, \b, \r, \f, \a, \', \”, \\, \8-ричный номер , \x16-ричный номер. Например, 'это - FORTRAN-строка' или 'это - \"C-строка\"\n\a'C .

Комплексные константы записываются в виде:

( действительная часть , мнимая часть )

Для записи действительной и мнимой частей можно использовать любые константы, в том числе и целые : (-1,0.5) , (2D0,-3.5) .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]