- •Казанский Государственный Технологический Университет
- •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.5.6. Логические выражения.
Результатом логического выражения является величина типа LOGICAL. Простейшие формы логических выражений следующие:
1. Логические константы.
2. Ссылки на логические переменные.
3. Ссылки на элементы логических массивов.
4. Ссылки на логические функции.
5. Выражения отношения.
Другие логические выражения состоят из простейших логических форм, приведенных выше, с использованием скобок и логических операторов, указанных в таблице 4.
Таблица 4 - Логические операторы
-
Оператор
Операция
Приоритет
.NOT.
Отрицание
Наивысший
.AND.
Конъюнкция
Средний
.OR.
Включающая дизъюнкция
Средний
.EQV.
Эквивалентность
Низший
.NEQV.
Неэквивалентность
Низший
2.5.7. Приоритеты операторов.
Когда в одном выражении встречаются арифметические, логические операторы и операторы отношения, они выполняются со следующими приоритетами :
1. Логические (низший).
2. Отношения (средний).
3. Арифметические (высший).
2.5.8. Правила вычисления выражений.
Любая переменная, массив, элемент или функция, на которые ссылаются в выражении, должны быть определены до момента ссылки. Целые переменные должны быть определены арифметической величиной, не величиной метки оператора, устанавливаемой оператором ASSIGN. Определенные арифметические операции, также как деление на нуль, математически неопределенные, запрещены. К другим запрещенным операциям относятся возведение нулевого операнда в нулевую или отрицательную степень и возведение отрицательного операнда в степень типа REAL.
3. Операторы
3.1. Категории операторов.
Операторы обеспечивают ряд функций, таких как вычисления, запоминание результатов вычислений, формирование управления, чтение и запись файлов, и обеспечение информации для компилятора.
Операторы Фортрана делятся на два основных класса: выполняемые и невыполняемые. Выполняемые операторы, будучи употребленными, вызывают действие. Невыполняемые операторы сами по себе действий не вызывают. Вместо этого они определяют, описывают или классифицируют элементы программ, такие как входные точки, данные или программные единицы.
К невыполняемым операторам относятся следующие:
1. Операторы PROGRAM, SUBROUTINE, FUNCTION и BLOCK DATA
2. Операторы описаний
3. Оператор DATA
4. Оператор FORMAT
Выполняемые операторы представляют собой существенно большую группу и могут быть разделены на следующие категории:
1. Операторы присвоения
2. Операторы управления
3. Операторы ввода/вывода.
3.1.1. Операторы program, subroutine, function и block data.
Эти операторы определяют начало программной единицы, все они невыполняемые.
3.1.2. Операторы описания.
В МС-Фортране операторы описания невыполняемые. Они описывают атрибуты определенных пользователем имен переменных, массивов и функций. В следующей таблице приведены девять операторов описаний.
Таблица 5 – Операторы описания
-
Оператор
Описание
COMMON
Обеспечивает совместное использование памяти двумя или несколькими программными единицами
DIMENSION
Описывает имя, определенное пользователем, как массив и определяет число его элементов
EQUIVALENCE
Определяет, что две или более переменных или массива используют одну и ту же память
EXTERNAL
Определяет заданное пользователем имя как внешнюю процедуру или функцию
IMPLICIT
Определяет тип по умолчанию для имен, определенных пользователем
INTERFACE
Описывает подпрограмму
INTRINSIC
Объявляет имя встроенной функцией
SAVE
Заставляет переменные сохранять их значения при выходе из процедуры, в которой они определены
Описание типа
Определяет типы имен, заданных пользователем
Oпepaтopы опиcaния должны пpeдшecтвoвaть вceм выпoлняeмым oпepaтopaм, пopядoк в пpeдeлax иx coбcтвeннoй гpуппы нe имeeт знaчeния. Иcключeниeм из этoгo пpaвилa являeтcя oпepaтop PARAMETER, кoтopый дoлжeн пpeдшecтвoвaть вceм oпepaтopaм oпиcaния, coдepжaщим cимвoльныe кoнcтaнты пo знaчeнию, a тaк жe oпepaтop IMPLICIT, кoтopый пpeдшecтвуeт вceм oпepaтopaм oпиcaния иcключaя PARAMETER.