- •1. Обзор языка.
- •1. Ввод/вывод.
- •2. Операторы.
- •3. Выражения.
- •4. Имена.
- •5. Типы.
- •6. Строки.
- •7. Символы.
- •2. Термины и концепции.
- •1. Запись программ.
- •1.1. Буквенноцифровые символы.
- •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рехмерные контурные графики
5.2. Деление целых.
Результатом деления двух целых чисел является величина, равная математическому частному двух этих величин, округленного до целого в сторону нуля. Поэтому 7/3 превращается в 2, а (-7)/3 превращается в -2. Как 9/10, так и 9/(-10) равны нулю.
5.3. Преобразования типов арифметических операндов.
Когда в арифметическом выражении все операнды одного типа, то величина, являющаяся результатом этого выражения, этого же типа. Когда операнды разного типа, типом результата выражения является тип операнда максимального ранга.
Ранг операнда зависит от его типа данных соответсвенно сле- дующему списку : 1. INTEGER * 2 (низший ранг) 2. INTEGER * 4 3. REAL * 4 4. REAL * 8 5. COMPLEX * 8 6. COMPLEX * 16 (высший ранг)
Например, результатом операции над элементами INTEGER*2 и REAL*4 будет величина, относящаяся к типу данных REAL*4.
Специальный случай : операция над операндами типов REAL*8 и COMPLEX*8 породит COMPLEX*16, а не COMPLEX*8.
Тип данных всего выражения - это тип данных результата последней операции, выполненной при вычислении всего выражения.
Типы данных операций могут быть INTEGER*2, INTEGER*4, REAL*4, REAL*8, COMPLEX*8 или COMPLEX*16.
Целые операции выполняются только над целыми операндами. Дробный результат от деления в целой арифметике превращается в целое, а не округляется. Поэтому следующие выражение равно нулю, а не единице :
1/4 + 1/4 + 1/4 + 1/4
Распределение памяти для типа INTEGER без указания длины *2 или *4 в определении типа зависит от использования метакоманды $STORAGE (для подробностей смотрите раньше в этой части и части 6 "Мета- команды МС-Фортрана").
Действительные операции выполняются только над действительными операндами или комбинацией действительного и целого операндов. Целые операнды сначала преобразуются в действительные прибавлением к каждому дробной части равной нулю. Затем для вычисления выражения используется действительная арифметика. Но в следующем операторе сначало осуществляется целое деление I на J, а потом действительное умножение результата на X :
Y = (I/J) * X
5.4. Символьные выражения.
Результатом символьных выражений является тип CHARACTER. Формы символьных выражений следующие : 1. Символьные константы. 2. Ссылки на символьные переменные. 3. Ссылки на элементы символьных массивов. 4. Любые символьные выражения, заключенные в скобки. 5. Ссылки на символьные функции. В символьных выражениях нет операторов.
5.5. Выражения отношения.
Выражения отношения сравнивают величины двух арифметических или двух символьных выражений. Арифметическое выражение нельзя сравнивать с символьным, пока не определена метакоманда $NOTSTRICT. В этом случае арифметические выражения сравнимы с символьными. Результатом выражения отношения является тип LOGICAL. Для сравнеия величин в выражениях отношения можно использовать любой оператор, указанный в таблице 2-4.
----------------------------T----------------------------¬
| Оператор | Операция |
+---------------------------+----------------------------+
| .LT. | Меньше чем |
| .LE. | Меньше или равно |
| .EQ. | Равно |
| .NE. | Не равно |
| .GT. | Больше чем |
| .GE. | Больше или равно |
L---------------------------+-----------------------------
Таблица 2-4. Операторы отношения.
Все операторы отношения бинарные и появляются между двумя операндами. Среди операторов отношения нет относительного стар- шинства или сочетательности и поэтому выражение следующего вида нарушает правила типов для операндов :
A .LT. B .NE. C
Выражения отношения могут появляться только в логических выраже- ниях.
Выражения отношения с арифметическими операндами могут иметь один операнд типа INTEGER и один операнд типа REAL. В этом случае перед вычислением выражения отношения целый операнд будет преоб- разован в тип REAL.
Выражения отношения символьных операндов сравнивают положение этих операндов в упорядоченной последовательности ASCII. Операнд является меньше чем другой, если он появляется раньше в упорядо- ченной последовательности. Если сравниваются операнды разной длины, то более короткий рассматривается как доплненный справа пробелами до такой же длины как и длинный.
