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

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

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

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

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

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

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

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

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

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

Hello World!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оператор IF.

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

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

Циклы.

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

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

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

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

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

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

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

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

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

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

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

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

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

Hello World!

По традиции, берущей начало от авторов языка программирования Си Б.Кернигана и Д.Ричи, именно этот "канонический" текст должна напечатать на экране первая простейшая программа, создаваемая программистом на новом для себя языке. Чем, собственно, и занимается программа HELLO:

^^^^^^program HELLO
      print*, 'Hello^World!'
      end

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

program HELLO
print*, 'Hello^World!'
end

Фортран-программа начинается с оператора PROGRAM, после которого указывается имя программы (в данном случае HELLO). Однако это необязательный оператор и его часто пропускают.

Любая Фортран-программа завершается оператором END в обязательном порядке.

Программа HELLO содержит единственный исполняемый оператор PRINT. В простейшем случае после ключевого слова оператора указывается символ "звездочка", затем, через запятую список вывода. В общем случае на месте "звездочки", указывается формат вывода данных или ссылка на формат.

В приведенном примере PRINT содержит в списке вывода текстовую константу 'Hello^World!'. Напомним, что текстовая константа это последовательность символов (включая пробелы), заключенных в одиночные апострофы.

Каждый новый оператор программы записывается с новой строки, то есть разделителем между операторами является символ "конец строки". Этот символ обычно не видим в текстовых редакторах, а его ввод (клавиша "Enter") инициирует перевод курсора в начало новой строки.

Как уже отмечалось, Фортран не различает строчных ("маленьких") и прописных ("больших") букв, поэтому программа HELLO может быть записана и так:

      PROGRAM HELLO
      PRINT*, 'Hello^World!'
      END

Следует иметь в виду, что 'Hello^World!' и 'HELLO^WORLD!' это две разные текстовые константы, так же, как 'Hello^World!' и 'Hello^^World!'. При смысловой идентичности заглавная и прописпая буквы это два разных символа. Если две текстовые константы отличаются на один пробел, то у них разная символьная длина, а значит, это две разные константы.

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