
- •Лекция-2
- •1.8.2. Логические выражения.
- •1.8.3. Приоритет выполнения операций.
- •1.8.4. Пример записи логических выражений.
- •§ 1.9. Оператор и конструкции if.
- •1.9.1. Предварительные понятия и понятия.
- •1.9.2. Условный логический оператор if.
- •1.9.6. Программирование ветвлений.
- •§ 1.10. Метки и комментарии
Лекция-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. |