- •1. Обзор языка.
- •1. Ввод/вывод.
- •2. Операторы.
- •3. Выражения.
- •4. Имена.
- •5. Типы.
- •1. Запись программ.
- •1.1. Буквенноцифровые символы.
- •6. Строки.
- •7. Символы.
- •2. Термины и концепции.
- •1.2. Пробелы.
- •1.3. Позиции.
- •2. Строки и операторы.
- •2.1. Начальные строки.
- •2.2. Строки продолжения.
- •2.3. Строки коментария.
- •2.4. Операторы описания данных и порядок следования операторов.
- •3. Типы данных.
- •3.1. Целые типы данных.
- •3.2. Тип действительных данных обычной точности ieee.
- •3.3. Действительный тип данных ieee двойной точности.
- •3.4. Формат десятичных чисел с плавающей точкой обычной и двойной точности.
- •3.5. Комплексные типы данных.
- •3.6. Логические типы данных.
- •3.7. Символьный тип данных.
- •4. Имена.
- •4.1. Имена Фортрана по умолчанию.
- •5. Выражения.
- •5.1. Арифметические выражения.
- •5.2. Деление целых.
- •5.3. Преобразования типов арифметических операндов.
- •5.4. Символьные выражения.
- •5.5. Выражения отношения.
- •5.6. Логические выражения.
- •5.7. Приоритеты операторов.
- •5.8. Правила вычисления выражений.
- •5.9. Ссылки на элемент массива.
- •3. Операторы.
- •1.Категории операторов.
- •1.1.Операторы program, subroutine, function и block data.
- •2.Операторы описания.
- •3.Cправочник операторов.
- •Часть 4 "Система ввода/вывода".
- •1.Записи.
- •2.Файлы.
- •2.1.Xapaктepиcтики фaйлoв.
- •2.2.Ocoбeннocти внутpeниx фaйлoв.
- •2.3.Устройства.
- •2.4.Наиболее широко используемыe cтpуктуpы фaйлoв.
- •2.5.Дpугиe cтpуктуpы фaйлa.
- •2.7.Совмещение фaйлa.
- •3.Oператоры ввода/вывода.
- •4.Форматный ввод/вывод.
- •4.1.Взаимодeйcтвиe фopмaтa и cпиcкa ввoдa/вывoдa.
- •4.Bвод/вывод списком.
- •5. Программы, подпрограммы и функции.
- •1. Основная программа.
- •2. Подпрограммы.
- •3. Функции.
- •3.1. Внешние функции.
- •3.2. Встроенные функции.
- •3.3. Функции-операторы.
- •4. Параметры.
- •5. Передача целых параметров.
- •1. Обзор языка.
- •2. Особенности графики системы matlab
- •3. Построение графика функций одной переменной
- •4. Построение в одном окне графиков нескольких функций
- •5. Графическая функция fplot
- •6. Столбцовые диаграммы
- •7. Построение трехмерных графиков
- •7. Контекстное меню графиков
- •8. Форматирование линий и маркеров для графика нескольких функций
- •9. Построение графиков отрезками прямых
- •10. Столбцовые диаграммы
- •11. Графики с зонами погрешности
- •12. График проекций векторов на плоскость
- •13. Построение графиков поверхностей
- •13. Tрехмерные контурные графики
3.4. Формат десятичных чисел с плавающей точкой обычной и двойной точности.
Десятичные числа с плавающей точкой содержат байт с битом знака и семибитовой экспонентой в 64-ричной системе счисления, за которым следует мантисса из 6 (для обычной точности) или из 14 (для двойной точности) двоично-десятичных цифр, упакованных по 2 в байт (если байт экспоненты нулей - число равно нулю). Запись десятичных констант с плавающей точкой производится в том же фор- мате, что и для стандартных действительных констант Фортрана обычной и двойной точности. Допустимый диапазон чисел обычной точности следующий:
от +1.0Е-64 до +9.99Е+62 (положительные числа)
от -9.99+62 до -1.0Е-64 (отрицательные числа)
0 (нуль)
Точность равна точно 6 цифрам. Допустимый диапазон чисел двойной точности следующий:
от +1.0D-64 до +9.999D+62 (положительные числа)
от -9.99D+62 до -1.0D-64 (отрицательные числа)
0 (нуль)
Точность равна точно 14 цифрам.
Метакоманда $DECMATH вызывает представление констант тексто- вого файла в виде с плавающей запятой.
3.5. Комплексные типы данных.
Тип данных COMPLEX*8 задает пару действительных чисел обыч- ной точности, второе из которых представляет мнимую часть. Число COMPLEX*8 занимает 8 байтов памяти.
Комплексная константа состоит из необязательного знака, ле- вой скобки, двух целых или действительный чисел, разделенных за- пятой, и правой скобки. Элемент данных COMPLEX*16 содержит упоря- доченную пару действительных чисел двойной точности. Элемент дан- ных COMPLEX*16 занимает 16 байтов памяти. Каждая компонента (дей- ствительная и мнимая) COMPLEX*8 - это REAL*4. Каждая компонента COMPLEX*16 - это REAL*8.
3.6. Логические типы данных.
Логический тип данных содержит две логических величины .TRUE. и .FALSE. Логическая переменная занимает два или четыре байта памяти в зависимости от установки метакоманды $STORAGE. По умолчанию это 4 байта. Значение логической переменной независит от метакоманды $STORAGE, которая соответствует требованию ANSI, чтобы логические, целые и действительные переменные обычной точ- ности занимали одинаковое место в памяти. Величины LOGICAL*2 за- нимают два байта. Младший значащий (первый) байт - либо 0(.FALSE.), либо 1(.TRUE.); старший значащий байт не определен.
Переменные LOGICAL*4 занимают два слова, младшее значащее (первое) из которых содержит величину LOGICAL*2. Старшее значащее слово не определено.
3.7. Символьный тип данных.
Символьный тип данных содержит последовательность символов ASCII. Длина символьной величины равно числу символов в последо- вательности. Длина заданной константы или переменой фиксирована и должна составлять от 1 до 127 символов. Символьная переменная за- нимает один байт памяти для каждого символа в последовательности. Предполагается, что символьная переменная занимает цепочку байтов без учета границ слов. Однако компилятор предполагает, что несим- вольные переменные, следующие за символьными, начинаются с грани- цы слова.
Символьная константа содержит последовательность из одного или более символов, заключенных в пару одиночных кавычек. В сим- вольной константе символы пробелов допустимы и значимы. Регистры буквенных символов значимы. Одиночная кавычка в символьной конс- танте представляется двумя одиночными кавычками без пробелов меж- ду ними.
Длина символьной константы равна числу символов между оди- ночными кавычками. Пара одиночных кавычек означает один символ. Несколько примеров символьных констант:
'A'
' '
'Help!'
'A very long CHARACTER constant'
'O''Brien'
''''
Последний пример - это символьная константа содержащая один апостроф (одиночную кавычку).
Символьной переменной может быть присвоена несимвольная ве- личина, если присвоение не включено в выражение. Допустимо следу- ющее:
REAL R
CHARACTER*5 C
C=R,
но следующее недопустимо
REAL R
CHARACTER*5 C
C=R+1.0
Фортран допускает строки исходного текста длиной до 72 пози- ций. Короткие строки дополняются пробелами до 72 позиции. Когда символьная константа переходит через границу строки, ее величина такова, как если бы часть строки продолжения, начиная с 7-ой по- зиции, добавить к 72-й позиции начальной строки. Поэтому следую- щий текст Фортрана
200 СН='ABC
X DEF'
Эквивалентен:
200 CH='ABC(58 пробелов)...DEF'
С 58-ю пробелами между С и Д, равными пространству от С в 15-й позиции до 72-й позиции плюс одному пробелу в 7-ой позиции строки продолжения. Таким образом могут быть представлены очень длинные символьные константы.
