- •8. Все разновидности чисел integer и real, представление чисел в Фортране, операции над числами
- •Строковое выражение
- •Логическое выражение
- •10. Логические выражения и порядок действий при их вычислении. Интерпретация отношений, логических значений, операций, выражений. Булева алгебра и ее законы
- •11. Оператор присваивания, арифметический, логический, строковый. Смешанные числовые выражения и порядок их вычислений
- •12. Структурный if, одноблочный if, логический if, многоблочный if Ветвления – конструкция If
- •13. Сравнение трех видов циклов, вспомогательные операторы
- •Цикл по переменной
- •14. Цикл с заранее известным числом повторений, его подробная блок-схема
10. Логические выражения и порядок действий при их вычислении. Интерпретация отношений, логических значений, операций, выражений. Булева алгебра и ее законы
Осмысленная логическая формула, изучаемая в математической логике и записанная по правилам Фортрана, называется логическим выражением. Принципы написания логических выражений те же, что и для числовых формул
вытянуть формулу в строку символов
именовать по смыслу все величины, а не обозначать буквами разнообразных алфавитов
писать единообразно знаки функций, операции, скобки
имеются аналогии в сопоставлении
логического и обычного умножения,
логического и обычного сложения,
логического и обычного отрицания
для лучшего понимания полезно сопоставлять понятия алгебры логики и обычной алгебры
В математической логике имеют дело с истинностью высказываний, число “1” интерпретируют как TRUE - истину, а число “0” как FALSE- ложь. Именно эти слова, окруженные точками, выбраны в качестве логических констант в ФОРТРАНе. Операндами в логической формуле являются логические переменные, отношения и подвыражения, каждое из которых принимает одно из двух указанных значений. Значение кодируется в компьютере одним битом из 4, 2 или 1 байтов. Логические переменные и логические именованные константы надо описывать в операторе описания типа, например
Logical L2, h4; Logical, Parameter ::On=.TRUE.
Логические выражения используются
в логическом операторе присваивания
при инициализации
как элемент списка вывода
для записи условий в операторах IF, DO и WHERE
вообще в каждом языке программирования и в электронных таблицах, наподобие EXCEL
в качестве аргументов функций и процедур
Логическое выражение имеет значение «истина» или «ложь», состоя из:
логических констант и переменных;
пяти логических операций с операндами логического типа;
выражения, либо два символьных выражения.
Результат вычисления отношения – это либо .true. – «истина» либо .false.– «ложь». В Фортране шесть операций отношения
Отношения |
Фортран 90 сейчас пишут так |
В стиле Фортран 77, устаревающее |
меньше чем A<b |
a<b |
a .lt. b |
меньше или равно A≤b |
a<=b |
a .le. b |
равно A=b |
k==m |
a .eq. b |
не равно A≠b |
k/=m |
a .ne. b |
больше или равно A≥b |
a>=b |
a .ge. b |
больше чем a>b |
a>b |
a .gt. b |
Отношения вычисляются после вычисления их операндов. Например, при A=2, B=0 для отношения A+3 >B порядок действий такой: сначала вычисляется А+3 и получается 5; затем 5 сравнивается с В, которое равно 0; результат вычисления выражения 5>0 – «истина».
Логические операции выполняются после вычисления отношений. В Фортране пять логических операций(Булева алгебра)
Операция |
Обозначение |
Старшинство |
Пример |
Отрицание НЕ |
.not. |
1 |
.not.a |
Конъюнкция И |
.and. |
2 |
a.and.b |
Дизъюнкция ИЛИ |
.or. |
3 |
a.or.b |
Эквивалентность |
.eqv. |
4 |
a.eqv.b |
Неэквивалентность |
.neqv. |
4 |
a.neqv.b |
Операция .not.a является, как и (–x), одноместной (унарной) и пишется перед операндом, остальные знаки логических операций записываются между операндами. Две логические операции могут следовать в выражении непосредственно друг за другом, только если второй операцией является операция отрицания. Например, допустимо a.and. .not.b.