Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лек-2.doc
Скачиваний:
33
Добавлен:
03.03.2015
Размер:
223.23 Кб
Скачать

Лекция-2

ОСНОВЫ ПРОГРАММИРОВАНИЯ

НА ЯЗЫКЕ ФОРТРАН

§ 1.8. Логические операции и выражения

1.8.1. Операции отношения (сравнения) и выражения отношения.

Выражение отношения сравнивает значения двух арифметических или символьных выражений. Результатом выражения отношения является значение .TRUE.или.FALSE..

Операции отношения (операции сравнения) в Фортране могут быть записаны в двух формах (см. таблицу 1.8.1).

Таблица 1.8.1.Операции отношения (операции сравнения).

Операция сравнения

FORTRAN 77 и выше

Fortran 90 и выше

меньше

.LT.

<

меньше или равно

.LE.

<=

больше

.GT.

>

больше или равно

.GE.

>=

равно

.EQ.

==

не равно

.NE.

/=

Пробелы в записи обозначения операции являются ошибкой, например:

a. le.b ! Ошибка – неверно. Правильно: a.le.b

a< =b ! Ошибка – неверно. Правильно: a<=b

Все операции отношения являются двуместными (бинарными) и должны появляться между операндами. Операции отношения выполняются слева направо.

Если в выражении отношения один операнд имеет вещественный тип, а другой целый, то перед выполнением операции целочисленный операнд преобразовывается в вещественный тип.

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

1.8.2. Логические выражения.

Логические выражения имеют результатом логическое значение – истина (.TRUE.) или ложь (.FALSE.). Логические операции, принятые в Фортране, перечислены в таблице 1.8.2.

Все логические операции, кроме отрицания, являются бинарными. Логическая операция .NOT. является унарной и располагается перед операндом. Выполняются логические операции слева направо.

Таблица 1.8.2.Логические операции.

логическая операция

Fortran

логическое НЕ (отрицание)

.NOT.

логическое И

.AND.

логическое ИЛИ

.OR.

логическое исключающее ИЛИ

.XOR.

эквивалентность

.EQV.

Неэквивалентность

.NEQV.

В таблице 1.8.3 приведены результаты логических операций над логическими переменными aиb, принимающими значения.TRUE.и.FALSE..

Таблица 1.8.3.Таблица результатов логических операций над логическими переменнымиaиb.

a

B

a.AND.b

a.OR.b

.NOT.a

a.XOR.b

a.EQV.b

a.NEQV.b

.TRUE.

.TRUE.

.TRUE.

.TRUE.

.FALSE.

.FALSE.

.TRUE.

.FALSE.

.TRUE.

.FALSE.

.FALSE.

.TRUE.

.FALSE.

.TRUE.

.FALSE.

.TRUE.

.FALSE.

.TRUE.

.FALSE.

.TRUE.

.TRUE.

.TRUE.

.FALSE.

.TRUE.

.FALSE.

.FALSE.

.FALSE.

.FALSE.

.TRUE.

.FALSE.

.TRUE.

.FALSE.

Еще раз отметим, что операции отношения и логические операции выполняются слева направо, то есть две последовательные операции имеют равный приоритет, и первоначально выполняется левая операция.

1.8.3. Приоритет выполнения операций.

Когда арифметические и логические операции присутствуют в одном выражении, приоритет выполнения операций таков (дан в порядке убывания приоритета):

 арифметические операции;

 операции отношения;

 логические операции.

В таблице 1.8.4 встроенные операции Фортрана расположены в порядке убывания приоритета. Каждая ячейка содержит операции с равным приоритетом.

Таблица 1.8.4.Приоритет выполнения операций.

**

*

/

+

-

.LT., <

.LE., <=

.GT., >

.GE., >=

.EQ., ==

.NE., /=

.NOT.

.AND.

.OR.

.XOR.

.EQV.

.NEQV.