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

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

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

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

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

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

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

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

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

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

Hello World!

Печать целых чисел.

Печать вещественных чисел.

Печать текста.

Когда format предпочтительней.

Арифметические и текстовые выражения.

Арифметические операторы и правила.

Вещественная арифметика.

Целая арифметика.

Смешанная арифметика.

Текстовые выражения.

Инициализация переменных и констант.

Оператор присваивания.

Инициализация скалярных констант.

Инициализация массивов констант.

Ввод данных с клавиатуры.

DATA-инициализация скалярных переменных.

DATA-инициализация массивов переменных.

Условные опреаторы.

Логические выражения.

Оператор IF.

Конструкция IF.

Конструкция CASE.

Циклы.

Цикл с фиксированным числом повторений.

Цикл с выходом по условию.

Пресловутый GOTO.

Неявные циклы.

Процедуры и функции.

Подпрограммы-процедуры.

Подпрограммы-функции.

Комплексный пример: сортировка массива.

Встроенные функции Фортрана.

Работа с внешними файлами.

Файловый ввод/вывод.

Открытие/закрытие файла.

Позиционирование файла.

ПЕЧАТЬ ТЕКСТА.

Программа CHRPRN демонстрирует печать одних и тех же текстовых данных в раличных вариантах.

      program CHRPRN
c     Печать текста в формате по умолчанию 
      print*, 'Папа у Васи'
      print*, 'Силен в математике'
      print*, 'Учится папа'
      print*, 'За Васю весь год'
c     Форматная печать текста с учетом символьной длины каждой строки
      print'(1x,a11)', 'Папа^у^Васи'
      print'(1x,a18)', 'Силен^в^математике'
      print'(1x,a11)', 'Учится^папа'
      print'(1x,a16)', 'За^Васю^весь^год'
c     Форматная печать текста одним оператором print
      print'(1x,a11/1x,a18/1x,a11/1x,a16)', 'Папа у Васи',
^^^^^1 'Силен в математике','Учится папа',
     2 'За Васю весь год'
c     Форматная печать текста одним оператором print
c     с использованием коэффициента повторения
      print'(4(1x,a18/))', 'Папа у Васи','Силен в математике',
     1 'Учится папа', 'За Васю весь год'
      end

Для форматной печати текстовых данных используется дескриптор "A", после которого указывается число символов в текстовой строке.

Строки можно печатать по отдельности, а можно несколько строк вывести в одним оператором PRINT - это относится ко всем типам данных. Для этого спецификации формата, соответствующие разным выводимым строкам разделяются символом "/" (перевод строки).

Запись любого оператора Фортрана не должна быть слишком длинной. В ФОРТРАНЕ-77 оператор не может выйти за 72-ю символьную позицию строки, а в Фортране-90 за 132-ю позицию. Длинные строки можно продолжать. Вторая и последующие строки оператора в этом случае называются строками продолжения.

В ФОРТРАНЕ-77 каждая строка продолжения, так же как и основная, начинается не раньше 7-й позиции и простирается не далее 72-й символьной позиции строки. При этом строка продолжения должна содержать в 6-й позиции символ, отличный от "нуля" и "пробела", например "1" и "2". Основная строка может содержать до 17-ти строк продолжения.

В Фортране-90 каждая продолжаемая строка завершается символом "&" (амперсанд). Допускается до 39 строк продолжения.

Слишком длинные операторы - это плохой стиль. Ухудшается прозрачность логики программы, и в этом мраке всегда таятся неочевидные ошибки. Пожалуй, лишь при форматном выводе или вводе данных не всегда удается избежать длинных операторов.