Логическими данными чаще всего являются логические отношения числовых или текстовых данных (п. 5.1), хотя могут иметь вид самостоятельных логических выражений. Каждая операция логического отношения имеет два равноценных обозначения, поддерживаемых стандартом Фортрана 90/95 (Таблица 4.5).
Для обозначений в первом столбце таблицы, унаследованных от ранних версий Фортрана (ФОРТРАН 77), обязательны обрамляющие точки, являющиеся частью мнемоники операции. Т.е. запись с обрамляющими точками: «.EQ.» – правильно, а без них: «EQ» – неправильно. При записи операций отношения, таких как «= =«, «/ =« и ниже, в том же столбце Таблицы 4.5, обрамляющие символы (точки или что-то еще) не требуются, но нужно следить, чтобы между символами не было пробелов. Если в тексте данного руководства такие пробелы присутствуют, то только для улучшения читаемости, поскольку некоторые читатели будут искать на клавиатуре кнопку с длинным знаком равенства (по аналогии с клавишей Any Key).
Таблица 4.5. Логические отношения в Фортране
Правила объявления и инициализация логических переменных и констант практически ничем не отличается от объявления и инициализация числовых данных (п. 4.1) – в точности также используется атрибут PARAMETER для объявления именованных констант и оператор присваивания «=« для присваивания логических значений переменным и именованным константам (Пример 4.6). Для объявления логических массивов в примере в пример используется атрибут DIMENSION
Структура программы на Fortran
Для обеспечения возможности построения из операций отношения более сложных логических выражений в Фортране предусмотрены логические операции, представленные в Таблице 4.6 в порядке убывания приоритета.
Пример 4.6. Особенности деления целых чисел
program LOGFACT1 logical, parameter :: TRUFACT=.TRUE., FALFACT=.FALSE. logical, parameter , dimension(0:1):: FACTS=(/.FALSE., .TRUE. /) logical FACT1, FACT2 FACT1 = 0 .EQ. 0; FACT2 = – 1 /= 1 !Присваивание логических значений print*, TRUFACT, FALFACT ! Печать логических именованных констант print*, FACT1, FACT2 print*, FACTS end
Таблица 4.6. Логические операторы Фортрана
.NOT. | ЛОГИЧЕСКОЕ ОТРИЦАНИЕ (НЕ) |
.AND. | ЛОГИЧЕСКОЕ ПЕРЕСЕЧЕНИЕ (И) |
.OR. | ЛОГИЧЕСКОЕ ОБЪЕДИНЕНИЕ (ИЛИ) |
.EQV. | ЛОГИЧЕСКАЯ ЭКВИВАЛЕНТНОСТЬ |
.NEQV. | ЛОГИЧЕСКАЯ НЕЭКВИВАЛЕНТНОСТЬ |
Если операндами логических отношений (Таблица 4.5) могут быть только текстовые и числовые данные, то операндами логических операций могут быть только логические данные.
Логические отношения (Таблица 4.5) имеют более высокий приоритет выполнения по сравнению с логическими операциями (Таблица 4.6). Каждое логическое отношение (утверждение) является элементарным логическим выражением и может принимать значения: «.TRUE.» или «.FALSE.», все операции отношения имеют одинаковый приоритет выполнения по отношению друг к другу:
Из логических данных и элементарных логических выражений можно выстраивать достаточно сложные логические выражения. При записи логических выражений можно использовать круглые скобки. Заключенные в круглые скобки части логического выражения вычисляются в первую очередь.
Оба логических выражения (для переменной FACT1 и FACT2 в Примере 4.7) содержат смешение стилей: для X > 0 используется знак «больше», а для Y.LT.2 используется мнемоника «меньше», что допустимо, но чего лучше избегать, в силу возникающей путаницы. В первом выражении проверяется истинность хотя бы одного из условий: принадлежности X интервалу от нуля до двух (включая два) или принадлежности Y тому же интервалу, но (включая ноль), а во втором выражении проверяется одновременная истинность тех же условий.
Поскольку логическое объединение «ИЛИ» (.OR.) имеет меньший приоритет, по сравнению с логическим пересечением «И» (.AND.), то в первом выражении скобки не требуются, а во втором выражении они необходимы для регулирования приоритета – иначе логические пересечения «И» (.AND.) будут выполняться последовательно, как имеющие равный приоритет.
Пример 4.7. Сложные логические выражения
program LOGFACT2 logical FACT1, FACT2 real :: X= 1., Y =2. FACT1=X > 0. .and. X (X > 0. .and. X .and. (Y .ge. 0. .and. Y .lt.
2.) print*, FACT1, FACT2 end
Практическое использование логических выражений рассматривается в связи с их использованием в логических операторах и конструкциях IF (п. 6.1).
Источник: www.accel.ru
Лекция-1 основы программирования на языке фортран
символ подчеркивания и следующие специальные символы:
знак доллара (денежный знак)
точка с запятой
Другие символы, допускаемые в конкретной персональной ЭВМ (ПЭВМ) и ее программным обеспечением, могут использоваться только в комментариях и текстовых константах.
Традиционно в Фортране не различаются заглавные и строчные буквы.Пробелы используются, в частности, для оформления текста программы.
§ 1.2. Структура главной программы. Форматы записи
1.2.1. Структура главной программы.
Любая программа, написанная на Фортране, представляет собой последовательность операторов языка. Она имеет однуглавнуюилиголовнуюпрограмму, которая в общем случае имеет вид:
[program имя программы]
end [program [имя программы]]
Как видно, при формальной записи структуры программы часть ее компонентов заключена в квадратные скобки. Это означает, что такие компоненты являются необязательными и могут отсутствовать. В частности, например, необязательным является оператор program, но если он присутствует, то должно быть задано иимя программы, в качестве которого может выбираться любое правильно сформированное в Фортране имя. Разумеется, если завершающий программу операторendсодержитимя программы, то оно должно совпадать с именем, заданным в оператореprogram.
Единственным обязательным оператором в главной программе является завершающий ее оператор end.
Любая строка программы может завершиться полем комментария, которое располагается справа от восклицательного знака. Комментарии служат для пояснения программы и выполняемых действий и игнорируются при исполнении программы.
Приведем ниже пример простейшей программы, в которой задаются значения двух действительных чисел, вычисляется их разность и на экран монитора выводится этот результат:
program sample_1_2_1 ! sample_1_2_1 – имя программы
real x, y, z ! Объявление типов переменных
x=1.2 ! Задание исходных значений переменных x,y
z=y-x ! Присваиваем z результат разности y и x
print *,’z=’,z ! Вывод результата на экран
! Результат вывода: z= 2.200000
end ! end – обязательный оператор завершения программы
Операторы Фортрана разделяются на исполняемые и неисполняемые.
Исполняемые операторы описывают действия, которые должны быть выполнены программой. В данном примере случае это:
x=1.2 ! Задание исходных значений переменных x,y
z=y-x ! Присваиваем z результат разности y и x
print *,’z=’,z ! Вывод результата на экран: z= 2.200000
end ! end – обязательный оператор завершения программы
Неисполняемые операторы, напротив, не участвуют в обработке данных их задача описывать элементы программы, например, данные или программные единицы. Они, как правило, располагаются в верхней части программы и образуют раздел объявлений. В представленном выше примере это:
program sample_1_2_1 ! sample_1_2_1 – имя программы
real x, y, z ! Объявление типов переменных
Второй оператор в этом фрагменте является неисполняемом оператором объявления типа. Дело в том, что в Fortran90 рекомендуется (хотя это и необязательно) предварительно объявлятьвсеиспользуемые переменные, то есть явно указать их тип, а при необходимости и другие свойства. Заметим, что неисполняемые операторы объявления типа должны располагаться в программе до первого исполняемого оператора.
Как видно, из приведенного примера программы наиболее часто используется оператор присваивания, имеющий формальный вид:
имя переменной = выражение
В результате его выполнения переменной присваивается результат выражения, записанного справа от знака равенства.
В примере, в частности, используются такие операторы присваивания:
x=1.2 ! Задание исходного значения переменной x
у=3.4 ! Задание исходного значения переменной y
z=y-x ! Присваивание z результата разности y и x
Источник: studfile.net
Какой оператор является обязательным в программе на fortran
webkonspect.com — сайт, с элементами социальной сети, создан в помощь студентам в их непростой учебной жизни.
Здесь вы сможете создать свой конспект который поможет вам в учёбе.
Чем может быть полезен webkonspect.com:
- простота создания и редактирования конспекта (200 вопросов в 3 клика).
- просмотр конспекта без выхода в интернет.
- удобный текстовый редактор позволит Вам форматировать текст, рисовать таблицы, вставлять математические формулы и фотографии.
- конструирование одного конспекта совместно с другом, одногрупником.
- webkonspect.com — надёжное место для хранения небольших файлов.
Обзор сайта:
Источник: webkonspect.com