ВВЕДЕНИЕ В ФОРТРАН
Как пользоваться этим руководством.
Концепция данных Фортрана.
Типы и буквальные константы.
Имена (идентификаторы).
Переменные и константы.
Скаляры и массивы.
Именование данных.
Печать текста и чисел на экран.
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 расценивает подряд следующие "пробелы" как один единственный. То есть, в принципе, "пробелы" используются для улучшения читаемости программы и не более того.