ВВЕДЕНИЕ В ФОРТРАН
Как пользоваться этим руководством.
Концепция данных Фортрана.
Типы и буквальные константы.
Имена (идентификаторы).
Переменные и константы.
Скаляры и массивы.
Именование данных.
Печать текста и чисел на экран.
Hello World!
Печать целых чисел.
Печать вещественных чисел.
Печать текста.
Когда format предпочтительней.
Арифметические и текстовые выражения.
Арифметические операторы и правила.
Вещественная арифметика.
Целая арифметика.
Смешанная арифметика.
Текстовые выражения.
Инициализация переменных и констант.
Оператор присваивания.
Инициализация скалярных констант.
Инициализация массивов констант.
Ввод данных с клавиатуры.
DATA-инициализация скалярных переменных.
DATA-инициализация массивов переменных.
Условные опреаторы.
Логические выражения.
Оператор IF.
Конструкция IF.
Конструкция CASE.
Циклы.
Цикл с фиксированным числом повторений.
Цикл с выходом по условию.
Пресловутый GOTO.
Неявные циклы.
Процедуры и функции.
Подпрограммы-процедуры.
Подпрограммы-функции.
Комплексный пример: сортировка массива.
Встроенные функции Фортрана.
Работа с внешними файлами.
Файловый ввод/вывод.
Открытие/закрытие файла.
Позиционирование файла.
ЦИКЛ С ФИКСИРОВАННЫМ ЧИСЛОМ ПОВТОРЕНИЙ.
Наиболее часто циклы с фиксированным числом повторений используются для накопления сумм или произведений, как в программе CUMULAT, либо для вычисления значений или перестановки элементов массивов, как в программе TRNSPMTRX. В Фортране циклы с фиксированным числом повторений реализуются конструкцией DO.
program CUMULAT parameter(N=5) integer FCTR dimension ARR(N) data ARR /-1.2, 3.4, -5.6, 7.8, -9./ c Произведение всех целых чисел от 1 до N (факториал) FCTR = 1 do 10 i = 1, N FCTR = FCTR*i 10 continue c Сумма четных целых чисел от 1 до N ISUM = 0 do i = 0, N, 2 ISUM = ISUM + i enddo c Сумма элементов нерегулярной последовательности, c записанной в массив ARR SUM = 0. do i = 1, N SUM = SUM + ARR(i) enddo print*, FCTR, ISUM, SUM end
Конструкция DO обеспечивает изменение значения целой переменной, называемой параметром цикла, в заданных пределах и с заданным шагом. Для каждого значения переменной цикла выполняется блок операторов, называемый телом цикла.
В ФОРТРАНЕ-77 Цикл начинается DO-строкой, в которой, после ключевого слова DO, сначала указывается метка последнего оператора тела цикла, а затем преременная цикла. Переменной цикла присваивается начальное значение, а за тем, через запятую указываются конечное значение и шаг изменения. Далее следует тело цикла, завершающееся оператором, помеченным меткой, указанной в DO-строке. Как правило меткой помечается "пустой" (не вызывающий какого-либо действия) оператор CONTINUE.
Стандарт Фортран-90 и большинство современных компиляторов ФОРТРАН-77 поодерживают безметочную конструкцию DO. В этом случае метка в DO-строке отсутствует, а тело цикла завершается ENDDO-строкой.
program TRNSPMTRX c Транспонирование матрицы c (строки становятся столбцами, а столбцы - строками) parameter( N = 2 ) real MATRIX(N,N) read*,((MATRIX(i,j), j = 1,n), i= 1,n) print*, 'Исходная матрица' print'(2f5.1)',((MATRIX(i,j), j = 1,n), i= 1,n) do i = 1, n do j = 1, i SAVE = MATRIX(i,j) MATRIX(i,j) = MATRIX(j,i) MATRIX(j,i) = SAVE enddo enddo print*, 'Транспонированная матрица' print'(2f5.1)',((MATRIX(i,j), j = 1,n), i= 1,n) end
Тело цикла может содержать произвольное число циклов и условных конструций при условии их взаимного непересечения.