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

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

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

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

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

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

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

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

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

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

Hello World!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оператор IF.

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

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

Циклы.

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

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

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

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

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

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

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

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

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

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

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

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

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

DATA-ИНИЦИАЛИЗАЦИЯ МАССИВОВ ПЕРЕМЕННЫХ.

Массивы, также как и скалярные переменные могут инициализироваться оператором DATA.

      program ARRDAT
      parameter(N=3)
      dimension VECTOR(7), SCALE (-5:5), MATRIX(N, N)
      data VECTOR / -3., -2., -1., 0., 1., 2., 3. /   SCALE / 11*1. /

c                              10 20 30
c     Двумерный массив MATRIX: 40 50 60   
c                              70 80 90

      data MATRIX / 10, 40, 70, 20, 50, 80, 30, 60, 90 /

      print*, VECTOR
      print*, SCALE

c     Можно вывести матрицу, как она хранится - тогда строки и столбцы поменяются местами.
      print'(3(1x,i2))',MATRIX

c     Можно вывести матрицу в естественном виде, используя неявный цикл.
c     i - номер строки, j - номер столбца

      print'(3(1x,i2))',((MATRIX(i,j), j = 1, 3), i=1, 3)

      end

При инициализации массвов оператором DATA значения элементов указывются в том порядке, в котором будут храниться в массиве. Поскольку матрицы в Фортране хранятся "по столбцам", то именно в таком порядке должны располагаться элементы матрицы при ее инициализации опрератором DATA.

Программа ARRDAT так же демонстрирует, что начальное значение индекса для каждого измерения массива не обязательно равно единице, если указать его явно, как для одномерного массива SCALE, у которого индекс меняется от "-5" до "5", включая ноль (итого 11 элементов).