Информационные системы ускорителей

ВВЕДЕНИЕ В ФОРТРАН

Как пользоваться этим руководством.

Концепция данных Фортрана.

Типы и буквальные константы.

Имена (идентификаторы).

Переменные и константы.

Скаляры и массивы.

Именование данных.

Печать текста и чисел на экран.

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".