ВВЕДЕНИЕ В ФОРТРАН
Как пользоваться этим руководством.
Концепция данных Фортрана.
Типы и буквальные константы.
Имена (идентификаторы).
Переменные и константы.
Скаляры и массивы.
Именование данных.
Печать текста и чисел на экран.
Hello World!
Печать целых чисел.
Печать вещественных чисел.
Печать текста.
Когда format предпочтительней.
Арифметические и текстовые выражения.
Арифметические операторы и правила.
Вещественная арифметика.
Целая арифметика.
Смешанная арифметика.
Текстовые выражения.
Инициализация переменных и констант.
Оператор присваивания.
Инициализация скалярных констант.
Инициализация массивов констант.
Ввод данных с клавиатуры.
DATA-инициализация скалярных переменных.
DATA-инициализация массивов переменных.
Условные опреаторы.
Логические выражения.
Оператор IF.
Конструкция IF.
Конструкция CASE.
Циклы.
Цикл с фиксированным числом повторений.
Цикл с выходом по условию.
Пресловутый GOTO.
Неявные циклы.
Процедуры и функции.
Подпрограммы-процедуры.
Подпрограммы-функции.
Комплексный пример: сортировка массива.
Встроенные функции Фортрана.
Работа с внешними файлами.
Файловый ввод/вывод.
Открытие/закрытие файла.
Позиционирование файла.
ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ.
Логические выражения чаще всего используются в логическом операторе или конструкции IF. Над объектами данных логического типа определены следующие операции (указаны в порядке убывания приоритета, точки в написании обязательны):
ОПЕРАТОР |
ДЕЙСТВИЕ |
.NOT. ЛОГИЧЕСКОЕ ОТРИЦАНИЕ (НЕ) .AND. ЛОГИЧЕСКОЕ ПЕРЕСЕЧЕНИЕ (И) .OR. ЛОГИЧЕСКОЕ ОБЪЕДИНЕНИЕ (ИЛИ) |
Логическими данными могут быть не только переменные и константы логического типа. Данные или выражения любого встроенного типа связанные операцией логического отношения образуют конструкцию логического типа. Такие конструкции могут входить в логические выражения наравне с логическими переменными и константами. Логические отношения имеют более высокий приоритет выполнения по сравнению с логическими операциями. Каждое логическое отношение (утверждение) является элементарным логическим выражением и может принимать значения: ".TRUE." или ".FALSE.", все операции отношения имеют одинаковый приоритет выполнения по отношению друг к другу:
ОБОЗНАЧЕНИЕ |
ОТНОШЕНИЕ |
.EQ. РАВНО .NE. НЕ РАВНО .GT. БОЛЬШЕ .GE. БОЛЬШЕ ЛИБО РАВНО .LT. МЕНЬШЕ .LE. МЕНЬШЕ ЛИБО РАВНО |
Из логических данных и элементарных логических выражений можно выстраивать более сложные логические выражения. В программе LOGEQ показан порядок выполнения логических операций и операций отношения, в соответствии со степенью их приоритета. При записи логических выражений можно использовать круглые скобки. Заключенные в круглые скобки части логического выражения вычисляются в первую очередь:
program LOGEQ logical X, Y, Z, V, step1, step2, step3, step4 X = 1 .le. 2 .and. 4 .gt. 3 ! Истина Y = 1.2 .ge. 3.4 .or. 5.6 .lt. 7.8 ! Истина Z = 1 .eq. 2 .and. 4 .ne. 3 ! Ложь Y = 1.2 .eq. 3.4 .or. 5.6 .eq. 7.8 ! Ложь V = X.and.Y ! Истина print*, X.or.Y.and..not.Z.and.V step1 = .not.Z; step2 = Y.and.step1 step3 = step2.and.V; step4 = X.or.step3 print'(1x,L3)', step4 print'(1x,L3)', (X.or.Y).and..not.(Z.and.V) step1 = X.or.Y; step2 = Z.and.V step3 = .not.step2; step4 = step1.and.step3 print*, step4 end
Для форматного ввода и вывода логических данных используется дескриптор "L".