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

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

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

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

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

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

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

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

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

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

Hello World!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оператор IF.

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

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

Циклы.

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

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

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

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

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

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

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

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

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

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

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

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

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

ПЕЧАТЬ ЦЕЛЫХ ЧИСЕЛ.

Для наглядности в программе INTPRN печатаются буквальные целые константы. Точно так же можно печатать именованные константы и переменные.

      program INTPRN
c     Печать в формате "по умолчанию"
      print*, 12345, 678, 90
c     Печать в формате, указанном непосредственно в операторе print
      print'(2x,i5,1x,i3,1x,i2)', 12345, 678, 90
c     Печать в формате, указанном в операторе format
      print 100, 12345, 678, 90
  100 format(2x,i5,1x,i3,1x,i2)
      end

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

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

Для форматного вывода целых данных используется дескриптор "I", после которого указывается число символных позиций, отводимых для печати числа. Так для целой константы "12345", занимающей 5 позиций, подойдет спецификация формата "i5". Если, к примеру выбрать спецификацию "i7", то печать осуществится в виде: "^^12345".

Список спецификаций формата должен в точности соответствовать списку выводимых данных. Для вывода констант "12345", "5679" и "90" приемлемый список спецификаций: "i5,i4,i2", однако вывод по такому формату будет иметь вид: "1234567890" - пробелы будут начисто отсутствовать. Для появления пробелов можно увеличивать ширину поля вывода (выводимые данные "прижимаются" к правоиу краю поля вывода) или добавить пробелы явно.

Для явного указания пробелов пользуются спецификацией "X", которой предшестует коэффициент повторения, указывающий сколько пробелов необходимо вывести.

Следует учесть, что при форматном выводе первый выводимый символ расценивается как управляющая команда и на экран не выводится. Не углубляясь в дебри управляющих команд, следите, чтобы первым выводимым символом был "пробел" - это безобидный управляющий символ.

При указании формата вывода непосредственно в операторе PRINT список спецификаций заключается в круглые скобки и одиночные апострофы.

При указании формата вывода в операторе FORMAT список спецификаций заключается в круглые скобки. Оператор PRINT ссылается на FORMAT по метке (в данном случае "100").

Метка может содержать от одной до пяти цифр, из которых хотя бы одна не ноль. В ФОРТРАНЕ-77 метка может быть записана только в первых пяти позициях строки. В Фортране-90 лишь необходимо, чтобы метка предшествовала помеченному оператору.