ВВЕДЕНИЕ В ФОРТРАН
Как пользоваться этим руководством.
Концепция данных Фортрана.
Типы и буквальные константы.
Имена (идентификаторы).
Переменные и константы.
Скаляры и массивы.
Именование данных.
Печать текста и чисел на экран.
Hello World!
Печать целых чисел.
Печать вещественных чисел.
Печать текста.
Когда format предпочтительней.
Арифметические и текстовые выражения.
Арифметические операторы и правила.
Вещественная арифметика.
Целая арифметика.
Смешанная арифметика.
Текстовые выражения.
Инициализация переменных и констант.
Оператор присваивания.
Инициализация скалярных констант.
Инициализация массивов констант.
Ввод данных с клавиатуры.
DATA-инициализация скалярных переменных.
DATA-инициализация массивов переменных.
Условные опреаторы.
Логические выражения.
Оператор IF.
Конструкция IF.
Конструкция CASE.
Циклы.
Цикл с фиксированным числом повторений.
Цикл с выходом по условию.
Пресловутый GOTO.
Неявные циклы.
Процедуры и функции.
Подпрограммы-процедуры.
Подпрограммы-функции.
Комплексный пример: сортировка массива.
Встроенные функции Фортрана.
Работа с внешними файлами.
Файловый ввод/вывод.
Открытие/закрытие файла.
Позиционирование файла.
ЦИКЛ С ВЫХОДОМ ПО УСЛОВИЮ.
Программа FINDELM реализует поиск элемента и определение его номера в последовательности целых чисел. Последовательность вводится один раз, а поиск продолжается или прекращается, в зависмости от ответа на запрос программы. Этот запрос помещен в "бесконечный" цикл, выход из которого возможен лишь по условию, указанному в теле цикла.
program FINDELM parameter (N=3) integer SEQUENCE(N), FINSEQ logical ANSWER print '(1x,''Введите'',i2, '' элемента: ''$)', N read*, (SEQUENCE(i), i = 1, N) do print '(1x,''Искать элемент? (T/F): ''$)' read'(L1)', ANSWER; if(.not.ANSWER) exit print '(1x,''Введите искомый элемент: ''$)' read*, FINSEQ c Определение номера искомого элемента в последовательности. INDEX = 0 do i = 1, N if (SEQUENCE(i) .eq. FINSEQ) then INDEX = i exit endif enddo print*, INDEX enddo end
Если из DO- строки конструкции DO исключить переменную цикла, получится "бесконечный" (то есть с неограниченным числом повторений) цикл. Выход из него обеспечивается оператором EXIT, который помещается в оператор или конструкцию IF в теле цикла.
Оператор EXIT обеспечивает выход из цикла с ограниченным или неограниченным числом повторений. Если конструкция DO, из котрой осуществляется выход оператором EXIT, является вложенной, то есть существует цикл, внешний по отношению к ней, то из внешнего цикла выхода не произойдет.
Бесконечный цикл и оператор EXIT могут быть реализованы в Фортране-90 или ФОРТРАНе-77 с расширенными возможностями.