- •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. Типы данных.
В МС-Фортране существует шесть основных типов данных: 1. Целый (INTEGER*2 INTEGER*4) 2. Действительный (REAL*4 или REAL) 3. Двойной точности (REAL*8 или DOUBLE PRECISION) 4. Комплексный (COMPLEX*8 и COMPLEX*16) 5. Логический (LOGICAL*2 и LOGICAL*4) 6. Символьный.
Свойства, состав и форма представления констант каждого типа описаны на следующих страницах; требования по памяти приведены в таблице 2-2.
-----------------------T---------------------T-----------¬
| Тип | Число байтов |Примечание |
+----------------------+---------------------+-----------+
| LOGICAL | 2 или 4 | 1 |
| LOGICAL*2 | 2 | |
| LOGICAL*4 | 4 | |
| INTEGER | 2 или 4 | 1 |
| INTEGER*2 | 2 | |
| INTEGER*4 | 4 | |
| SHARACTER | 1 | 2 |
| SHARACTER*n | n | 3 |
| REAL | 4 | 4 |
| REAL*4 | 4 | |
| REAL*8 | 8 | 5 |
| DOUBLE PRECISION | 8 | |
| COMPLEX | 8 | 6 |
| COMPLEX*8 | 8 | |
| COMPLEX*16 | 16 | |
L----------------------+---------------------+------------
Таб.2-2. Требования по памяти.
Примечание к таблице 2-2: 1. Может использоваться 2 или 4 байта. По умолчанию - 4, но мета- командой $STORAGE может быть установлено 2 или 4. 2. CHARACTER и CHARACTER*1 - синонимы. 3. Максимальное n равно 127. 4. REAL и REAL*4 - синонимы. 5. REAL*8 и DOUBLE PRECISION - синонимы. 6. COMPLEX и COMPLEX*8 - синонимы.
Замечания.
На многих микропроцессорах команды, необходимые для выполне- ния 16-битовой арифметики, значительно быстрее и короче соответс- твующих команд для выполнения 32-битовой арифметики. Поэтому, по- ка Вы не используете метакоманду МС-Фортрана $STORAGE, устанавли- вающую 2, в программе по умолчанию будет 32-битовая арифметика и она будет выполняться существенно медленней, чем ожидается. (Смотрите описание метакоманды $STORAGE в части 6). Установка 2 метакомандой $STORAGE ускорит выполнение программы и сделает ее короче.
Вы можете использовать внутреннюю функцию INT2 для указанию компилятору использовать в выраженных 16-битовую арифметику.
3.1. Целые типы данных.
Целый тип данных состоит из подмножества целых чисел. Целая величина - это точное представление соответствующего целого. Це- лая величина занимает 2 или 4 байта, в зависимости от установки метакоманды $STORAGE. 2-байтовое целое, INTEGER*2, может содер- жать величину в диапазоне от -32767 до 32767. 4-байтовое целое, INTEGER*4, может содержать величину в диапазоне от -2147483647 до 2147463647.
Целые константы содержат последовательность одной или более десятичных цифр или определитель системы счисления, за которым следует строка цифр в диапазоне от 0...(основание системы счисле- ния - 1), где величины от 10 до 35 представлены буквами от А до Z соответственно. Указатель системы счисления содержит символ "#", которому обычно предшествует строка десятичных цифр, представляю- щая величину основания системы счисления. Если строка отсутству- ет, подразумевается, что основание равно 16. Если указатель сис- темы счисления отсутствует, подразумевается, что основание равно 10.
Любому формату может предшествовать произвольный арифмети- ческий знак плюс (+) или минус (-). Целые константы не должны вы- ходить из диапазона. Десятичная точка недопустима в целой конста- не.
Замечание: диапазон величин как для 16-битовых так и для 32- битовых целых не включает наиболее отрицательное число, которое может быть представлено в двоичном дополнительном коде этим чис- лом битов. Эти числа, 16#8000 и 16#80000000 обрабатываются как "неопределенные" для сигнализации об ошибке.
Хотя максимальная величина 32-битового целого определена как 2**31-1, при компиляции и счете будут считываться и большие вели- чины, которые выходят за диапазон 2**32. Но эти величины будут только считываться без ошибки, если их основание счисления не равно 10. Они будут интегрироваться как отрицательные числа с со- ответствующим внутренним представлением. Например, 16#FFFFFFFF приведет к тому что все биты 32-битового числа будут единицы, что соответствует арифметической величине -1.
Примеры целых констант:
123 +123 0
00000123 32767 -32767
-#AB05 2#010111 -36#ABZ07
В МС-Фортране точность целых определяется следующим образом:
*Константы.
Точность устанавливает метакоманда $STORAGE.
*Результат выражения.
Точность результата определяется точностью максимального операнда и величиной установленной метакомандой $STORAGE.
*Формальные параметры.
Если точность неизвестна, предлагается, что она такая же как у фактического параметра. Если тип известен, он должен точно со- ответствовать фактическому параметру (до тех пор пока параметр не передается величиной, использующей атрибут VALUE, описанный в части 7).
*Целые переменные и функции.
Точность задана для каждой переменной или функции (по умолча- нию установлена метакомандой $STORAGE).
