ВВЕДЕНИЕ В ФОРТРАН
Как пользоваться этим руководством.
Концепция данных Фортрана.
Типы и буквальные константы.
Имена (идентификаторы).
Переменные и константы.
Скаляры и массивы.
Именование данных.
Печать текста и чисел на экран.
Hello World!
Печать целых чисел.
Печать вещественных чисел.
Печать текста.
Когда format предпочтительней.
Арифметические и текстовые выражения.
Арифметические операторы и правила.
Вещественная арифметика.
Целая арифметика.
Смешанная арифметика.
Текстовые выражения.
Инициализация переменных и констант.
Оператор присваивания.
Инициализация скалярных констант.
Инициализация массивов констант.
Ввод данных с клавиатуры.
DATA-инициализация скалярных переменных.
DATA-инициализация массивов переменных.
Условные опреаторы.
Логические выражения.
Оператор IF.
Конструкция IF.
Конструкция CASE.
Циклы.
Цикл с фиксированным числом повторений.
Цикл с выходом по условию.
Пресловутый GOTO.
Неявные циклы.
Процедуры и функции.
Подпрограммы-процедуры.
Подпрограммы-функции.
Комплексный пример: сортировка массива.
Встроенные функции Фортрана.
Работа с внешними файлами.
Файловый ввод/вывод.
Открытие/закрытие файла.
Позиционирование файла.
ИМЕНОВАНИЕ ДАННЫХ.
Именование данных рассмотрим на примере программы NAMEDEMO. В правила написания операторов на этом этапе можно не вникать. Важна лишь общая логика именования данных:
- Если имя в процессе объявления не стало ни константой, ни массивом, то это скалярная преременная.
- Если имя объявлено константой, не попав до этого в категорию массивов, то это скалярная константа.
- Если имя сначала объявлено массивом, а затем константой (наоборот не бывает) то это массив констант.
- Если имя будучи, объявлено массивом, не попало в категорию констант - перед нами массив переменных.
program NAMEDEMO integer SCALE, SIZE, RANGE, VALUE, SAMPLE parameter (SIZE = 7, SAMPLE = 10) dimension SCALE(SIZE), VALUE(SAMPLE) parameter (SCALE = (/-3, -2, -1, 0, 1, 2, 3/) ) RANGE = SCALE(SIZE) - SCALE(1) do INC = 1, SAMPLE VALUE(INC) = 0 enddo end
Сначала объявляется 5 имен: SCALE, SIZE, RANGE, VALUE и SAMPLE. Все они целые и, изначально, не связаны с какими либо данными.
Затем, с помощью оператора PARAMETER, имена SIZE и SAMPLE связываются с буквальными целыми константами: 7 и 10. С этого момента SIZE и SAMPLE являются именованными целыми константами.
Далее, оператор DIMENSION устанавливает, что SCALE и VALUE это массивы. Протяженность (число элементов) массива указывается в круглых скобках после его имени.
Следующий оператор PARAMETER фиксирует тот факт, что SCALE это массив констант. На этом раздел объявлений заканчивается и начинается выполнение программы. В разделе объявлений сначала объявляются типы имен, а затем именованные константы и массивы. Причем именованная константа не может быть использована до того как она объявлена.
Поскольку массив VALUE не отнесен к константам, то это массив элементами которого являются скалярные целые переменные.
Имя RANGE не объявленое ни константой ни массивом, становится вещественной скалярной переменной.
В операторе DO-цикла встречается имя INC, отсутствующее в разделе объявлений. В таких случаях имя расценивается как скалярная переменная, типизируемая по умолчанию. Поскольку первым символом имени INC является символ 'I', то INC - это целая переменная.
Если бы имя RANGE, так же как и INC, не было типизировано как INTEGER в разделе объявлений, то считалось бы переменной типа REAL, поскольку первым символом имени не является ни один из:'I', 'J', 'K','L','M' или 'N'.