ВВЕДЕНИЕ В ФОРТРАН
Как пользоваться этим руководством.
Концепция данных Фортрана.
Типы и буквальные константы.
Имена (идентификаторы).
Переменные и константы.
Скаляры и массивы.
Именование данных.
Печать текста и чисел на экран.
Hello World!
Печать целых чисел.
Печать вещественных чисел.
Печать текста.
Когда format предпочтительней.
Арифметические и текстовые выражения.
Арифметические операторы и правила.
Вещественная арифметика.
Целая арифметика.
Смешанная арифметика.
Текстовые выражения.
Инициализация переменных и констант.
Оператор присваивания.
Инициализация скалярных констант.
Инициализация массивов констант.
Ввод данных с клавиатуры.
DATA-инициализация скалярных переменных.
DATA-инициализация массивов переменных.
Условные опреаторы.
Логические выражения.
Оператор IF.
Конструкция IF.
Конструкция CASE.
Циклы.
Цикл с фиксированным числом повторений.
Цикл с выходом по условию.
Пресловутый GOTO.
Неявные циклы.
Процедуры и функции.
Подпрограммы-процедуры.
Подпрограммы-функции.
Комплексный пример: сортировка массива.
Встроенные функции Фортрана.
Работа с внешними файлами.
Файловый ввод/вывод.
Открытие/закрытие файла.
Позиционирование файла.
КОНСТРУКЦИЯ CASE.
Конструкция CASE поддерживается только Фортраном-90 или компиляторами ФОРТРАН-77 с расширенными возможностями.
program DETECTSYM character SYMBOL read*, SYMBOL c Классификация введенного символа. select case (SYMBOL) case('-','+','/','*') print*,'Арифметический оператор' case('0':'9') print*,'Цифра' case default print*,'Неизвестный символ' end select end
Подобно конструкции IF конструкция CASE позволяет выполнять тот или иной блок операторов, в зависимости от определенного условия. Условие определяется значением выражения дискретного типа, которое указывается в качестве параметра строки SELECT CASE, являющейся первой строкой конструкции.
Далее следуют CASE-блоки. Каждый CASE-блок состоит из CASE-строки и относящихся к ней операторов. В CASE-строке указываются значения, которые может принимать выражение из SELECT CASE-строки. Эти значения могут задаваться списком, диапазоном либо комбинировано (диапазон, как элемент списка). При этом диапазоны "case"-блоков одной "case"-конструкции не должны пересекаться.
В программе DETECTSYM приводится пример задания значений списком и закрытым диапазоном, а в программе SUBSTEMP значения задаются как закрытым, так и открытым диапазоном.
Диапазон открытый слева аналогичен логическому отношению "меньше либо равно", задается значением правой границы и "двоеточием" слева.
Диапазон открытый справа аналогичен логическому отношению "больше либо равно", задается значением левой границы и "двоеточием" справа.
program SUBSTEMP c Состояние субстанции как функция температуры. integer TEMPERATURE, ABSNUL, FLAME parameter(ABSNUL = -273, ICE = 0, FLAME = 1000000) read*, TEMPERATURE select case (TEMPERATURE) case(:-274) print*,'Давно замерзло все, что можно' case(ABSNUL:ICE) print*,'Лед' case(FLAME:) print*,'Пламень' case default print*,'Слякоть' end select end
Конструкция CASE может содержать не обязательный CASE-блок, начинающийся строкой CASE DEFAULT. В этот блок входят опрераторы, выполняемые, если все прочие CASE-блоки не сработали. Этот блок не обязательно должен быть последним.