- •Казанский Государственный Технологический Университет
- •1. Обзор языка
- •1.1. Метакоманды мs-Фортрана.
- •1.2. Программы и компилируемые части программ.
- •1.3. Ввод/Вывод.
- •1.4. Операторы.
- •1.5. Выражения.
- •1.6. Имена.
- •1.7. Типы.
- •1.8. Строки.
- •1.9. Символы.
- •2. Термины и концепции
- •2.1. Запись программ.
- •2.1.1. Буквенноцифровые символы.
- •2.1.2. Пробелы.
- •2.1.3. Табуляторы.
- •2.2. Строки и операторы.
- •2.2.1. Начальные строки.
- •2.2.2. Строки продолжения.
- •2.2.3. Строки коментария.
- •2.2.4. Операторы описания данных и порядок следования операторов.
- •2.3. Типы данных.
- •2.4. Имена.
- •2.4.1. Область действия имен Фортрана.
- •2.4.2. Имена Фортрана по умолчанию.
- •2.5. Выражения.
- •2.5.1. Арифметические выражения.
- •2.5.2. Деление целых.
- •2.5.3. Преобразования типов арифметических операндов.
- •2.5.4. Символьные выражения.
- •2.5.5. Выражения отношения.
- •2.5.6. Логические выражения.
- •2.5.7. Приоритеты операторов.
- •2.5.8. Правила вычисления выражений.
- •3. Операторы
- •3.1. Категории операторов.
- •3.1.1. Операторы program, subroutine, function и block data.
- •3.1.2. Операторы описания.
- •3.1.3. Опepaтop data.
- •3.1.4. Oпepaтop format.
- •3.1.5. Oпepaтop пpиcвaивaния.
- •3.1.6. Oпepaтopы упpaвлeния.
- •3.1.7. Oпepaтopы ввoдa/вывoдa.
- •4. Программы, подпрограммы и функции.
- •4.1. Основная программа.
- •4.2. Подпрограммы.
- •4.3. Функции.
- •4.3.1. Внешние функции.
- •4.3.2. Встроенные функции.
- •4.3.3. Функции-операторы.
- •4.4. Параметры.
2.4.2. Имена Фортрана по умолчанию.
При проходе по выполняемым операторам программа компилятор заводит имена, встречающиеся ему впервые (т.е. те, которые не определены точно), в соответствии с контекстом.
Если имя используется как переменная, его тип определяется по первой букве имени ; I, J, K, L, M или N по умолчанию принимаются целыми, а остальные буквы - действительными числами. Вы можете использовать оператор IMPLICIT для замены соответствия типа и начальной буквы. Это же правило используется при использовании имени в функции для определения типа возвратной величины.
Когда имя используется как указатель в операторе CALL, подразумевается что это имя подрограммы. Точно так же подразумевается, что имя, используемое в ссылке на функцию, - это имя функции. Если подпрограмма или функция является частью этой же компилируемой единицы (т.е. находятся в этом же текстовом файле) и это определение приведено до оператора CALL или ссылки на функцию, то компилятор проверит, чтобы тип фактических параметров и их число в операторе CALLили ссылке на функцию соответствовали определениям в операторе SUBROUTINE или FUNCTION.
2.5. Выражения.
Выражение - это формула для вычисления величины. Она содержит последовательность операндов и операторов. Операнды могут содержать вызовы функций, переменные, константы, или другие выражения. Операторы определяют действия, которые необходимо произвести над операндами. В Фортране существует четыре класса выражений:
1. Арифметические.
2. Символьные.
3. Отношения.
4. Логические.
2.5.1. Арифметические выражения.
Результатом арифметических выражений являются величины типов INTEGER, REAL, DOUBLE PRECISION или COMPLEX. Простейшие виды арифметических выражений - это :
1. Константы.
2. Использование переменных.
3. Использование элементов массивов.
4. Использование функций.
Используемые величины переменных или элементов массивов должны быть определены до того, как они появятся в арифметическом выражении. Также, величины целых переменных должны быть арифметическими, а не величинами меток операторов, установленными оператором ASSIGN.
Другие арифметические выражения создаются из простейших форм, приведенных выше в списке, с использованием скобок и арифметических операторов, указанных в таблице 2.
Таблица 2 - Арифметические операторы
-
Оператор
Операция
Приоритет
**
Возведение в степень
Высший
/
Деление
Средний
*
Умножение
Средний
-
Вычитание или отрицание
Низший
+
Сложение или идентичность
Низший
Все операторы могут быть использованы как бинарные, т.е. стоящие между двумя операндами арифметического выражения. Плюс (+) и минус (-) могут быть также унарными и предшествовать какому-либо одиночному оператору.
Операции равного приоритета, за исключением возведения в степень выполняются слева направо. Возведение в степень выполняется справа налево. Поэтому каждое из следующих выражений слева эквивалентно выражению справа:
A/B * C (A/B) * C
A * * B * * C A * * (B * * C)
Арифметические выражения могут быть получены обычным математическим образом, как в большенстве языках программирования. Однако Фортран запрещает ставить два оператора подряд. Например, нельзя:
A * * - B но можно
A * * (- B)
Унарный минус имеет наименьший приоритет. Поэтому выражение -А**В понимается как - (А ** В).
Вы можете использовать скобки для группирования оераций и задания порядка, в котором операции должны выполняться.