604 Приложение. Обзоры языков
расположенный в начале подпрограммы, указывает, что все локальные перемен
ные, не объявленные явным образом, имеют тип integer. Объявление
IMPLICIT NONE
отключает все соглашения по умолчанию в FORTRAN 90, в результате чего любая
необъявленная переменная воспринимается компилятором как ошибка. Это хоро
ший способ контроля, который следует использовать в любой программе.
Константы, определяемые программистом, можно создавать с помощью опера
тора PARAMETER, задаваемого в начале подпрограммы:
PARAMETER (KMAX=100, MIDPT=50)
При описании типа константы также применяется соглашение об именах либо
константы можно описывать явно:
REAL, PARAMETER :: EPSILON = .0012
В языке FORTRAN используется статическая проверка типов, но она непол
ная. Многие возможности языка, включая параметры в вызовах подпрограмм и ис
пользование блоков COMMON, не могут быть проверены статически — отчасти пото
му, что подпрограммы компилируются независимо. Конструкции, которые не могут
быть проверены статически, обычно остаются непроверенными во время работы
программ на языке FORTRAN.
Числовые типы данных. Для целых, вещественных и вещественных удвоенной
точности числовых типов обычно используется прямое аппаратное представле
ние чисел. Комплексный тип (complex) представляется парой вещественных чисел
(real), под которые отводится блок из двух машинных слов.
Для арифметических действий и преобразований между четырьмя числовыми
типами имеется широкий набор элементарных операций. Основные арифметиче
ские операции (+, –, *, /) и операция возведения в степень (**) дополняются как
большим набором стандартных встроенных функций, включая тригонометриче
ские и логарифмические функции (sin, cos, tan, log), операцию извлечения квад
ратного корня (sqrt), нахождения максимального (max) и минимального (min) числа,
так и явными функциями преобразования типов данных для различных числовых
типов. Также имеются обычные операции сравнения числовых значений, которые
записываются следующим образом.
Операция Значение Операция Значение
.EQ. Равно .NE. Не равно
.LT. Меньше .GT. Больше
.LE. Меньше или равно .GE. Больше или равно
Логический тип данных. Булев тип называется логическим (LOGICAL), литераль
ными константами этого типа являются .TRUE. и .FALSE.. Основные булевы опера
ции представлены операциями .NOT., .AND. и .OR.. Булева эквивалентность и ее от
рицание обозначаются как .EQV. и .NEQV. соответственно.
Логические выражения с числовыми данными можно конструировать обыч
ным способом (например, (Ï.LT.7).OR.(B.GE.15)).
Указатели. Более старые версии FORTRAN не поддерживают указателей, по
скольку все данные размещаются статически. Следовательно, построение списко