Fortran - Операторы
Оператор - это символ, который сообщает компилятору о необходимости выполнения определенных математических или логических операций. Fortran предоставляет следующие типы операторов -
- Арифметические операторы
- Операторы отношения
- Логические операторы
Давайте рассмотрим все эти типы операторов по порядку.
Арифметические операторы
В следующей таблице показаны все арифметические операторы, поддерживаемые Фортраном. Предположим переменнуюA содержит 5 и переменную B держит 3, тогда -
Показать примеры
Оператор | Описание | пример |
---|---|---|
+ | Оператор сложения, добавляет два операнда. | A + B даст 8 |
- | Оператор вычитания, вычитает второй операнд из первого. | A - B даст 2 |
* | Оператор умножения, умножает оба операнда. | A * B даст 15 |
/ | Оператор деления, делит числитель на де-числитель. | A / B даст 1 |
** | Оператор возведения в степень, возводит один операнд в степень другого. | A ** B даст 125 |
Операторы отношения
В следующей таблице показаны все операторы отношения, поддерживаемые Фортраном. Предположим переменнуюA содержит 10 и переменную B держит 20, то -
Показать примеры
Оператор | Эквивалент | Описание | пример |
---|---|---|---|
== | .eq. | Проверяет, равны ли значения двух операндов или нет, если да, то условие становится истинным. | (A == B) неверно. |
знак равно | .ne. | Проверяет, равны ли значения двух операндов или нет, если значения не равны, условие становится истинным. | (A! = B) верно. |
> | .gt. | Проверяет, больше ли значение левого операнда, чем значение правого операнда, если да, то условие становится истинным. | (A> B) неверно. |
< | .lt. | Проверяет, меньше ли значение левого операнда, чем значение правого операнда, если да, то условие становится истинным. | (A <B) верно. |
> = | .ge. | Проверяет, больше ли значение левого операнда или равно значению правого операнда, если да, то условие становится истинным. | (A> = B) неверно. |
<= | .le. | Проверяет, меньше ли значение левого операнда или равно значению правого операнда, если да, то условие становится истинным. | (A <= B) верно. |
Логические операторы
Логические операторы в Фортране работают только с логическими значениями .true. и .false.
В следующей таблице показаны все логические операторы, поддерживаемые Фортраном. Предположим, что переменная A содержит .true. а переменная B содержит .false. , тогда -
Показать примеры
Оператор | Описание | пример |
---|---|---|
.и. | Вызывается логическим оператором И. Если оба операнда ненулевые, условие становится истинным. | (A. И. B) ложно. |
.или же. | Вызывается логическим оператором ИЛИ. Если любой из двух операндов не равен нулю, тогда условие становится истинным. | (A. Или B) верно. |
.не. | Вызывается оператором логического НЕ. Используется для изменения логического состояния его операнда. Если условие истинно, то оператор логического НЕ сделает ложным. | ! (A. И. B) верно. |
.eqv. | Вызывается логическим оператором ЭКВИВАЛЕНТА. Используется для проверки эквивалентности двух логических значений. | (A .eqv. B) ложно. |
.neqv. | Вызывается логическим НЕЭКВИВАЛЕНТНЫМ оператором. Используется для проверки неэквивалентности двух логических значений. | (A .neqv. B) верно. |
Приоритет операторов в Фортране
Приоритет оператора определяет группировку терминов в выражении. Это влияет на то, как оценивается выражение. Некоторые операторы имеют более высокий приоритет, чем другие; например, оператор умножения имеет более высокий приоритет, чем оператор сложения.
Например, x = 7 + 3 * 2; здесь x присваивается 13, а не 20, потому что оператор * имеет более высокий приоритет, чем +, поэтому он сначала умножается на 3 * 2, а затем складывается в 7.
Здесь операторы с наивысшим приоритетом отображаются вверху таблицы, а операторы с самым низким - внизу. Внутри выражения в первую очередь будут оцениваться операторы с более высоким приоритетом.
Показать примеры
Категория | Оператор | Ассоциативность |
---|---|---|
Логическое НЕ и отрицательный знак | .не. (-) | Слева направо |
Возведение в степень | ** | Слева направо |
Мультипликативный | * / | Слева направо |
Добавка | + - | Слева направо |
Реляционный | <<=>> = | Слева направо |
Равенство | == / = | Слева направо |
Логическое И | .и. | Слева направо |
Логическое ИЛИ | .или же. | Слева направо |
Присвоение | знак равно | Справа налево |