- •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рехмерные контурные графики
3.3. Функции-операторы.
Функция-оператор определена единственным оператором и по виду подобна оператору присваивания. Функция-оператор может появиться только после операторов описания и перед любыми выполняемыми опера- торами в программной единице.
Функция-оператор не является выполняемым оператором, так как она не выполняется, как стоящая первой в конкретной программной единице. Однако, тело функции-оператора используется для определе- ния значения функции-оператора. Она выполняется, как и любая другая функция при вычислении ссылки на функцию в выражении.
Для информации о синтаксисе и использовании функции-оператора смотрите часть 3 "Операторы".
4. Параметры.
Формальный параметр - это имя, с помощью которого параметр передается функции или подпрограмме; фактический параметр - это указанная переменная, выражение, массив и т.д., передаваемый процедуре при конкретном ее вызове. Взаимодействие между формаль- ными и фактическими параметрами в функции или подпрограмме детально раскрывается ниже.
Параметры передают величины и берут их из процедуры ссылочным образом. Число действительных параметров должно совпадать с числом формальных параметров и при этом их типы должны быть согласованы.
На входе в подпрограмму или функцию фактические параметры связываются с формальными, во многом подобно тому как оператор EQUIVALENCE связывает два или более массива или переменные, а оператор COMMON в двух или нескольких программных единицах связы- вает списки переменных. Эта связь действует, пока не закончилось выполнение подпрограммы или функции. Поэтому присвоение величины формальному параметру во время выполнения подпрограммы или функции может изменить величину соответствующего фактического параметра.
Если фактический параметр - константа, ссылка на функцию или выражение, а не простая переменная, то присвоение величины соот- ветствующему формальному параметру недопустимо и может вызвать непредсказуемые последствия. В частности, присвоение величины фор- мальному параметру типа CHARACTER, когда фактический параметр - литерал, может вызвать ненормальное поведение.
Если фактический параметр - выражение, то оно вычисляется немедленно, еще до установления связи формальных и фактических параметров. Если фактический параметр - элемент массива, его ин- дексные выражения вычисляются тоже до установления связи и остаются постоянными во время выполнения процедуры, даже если они содержат переменные, которые переопределяются во время выполнения процедуры.
Формальный параметр, описанный как переменная, может быть связан с фактическим параметром - переменной, элементом массива, выражением. Формальный параметр, описанный как переменный возврат (*) может быть связан с определителем переменного возврата (*n) в операторе CALL и является повторяемым.
Формальный параметр, описанный как массив, может быть связан с фактическим параметром, являющимся массивом или элементом мас- сива. Число и размер размерностей формального параметра могут быть отличны от этих характеристик фактического параметра, но любая ссылка на формальный массив должна быть в пределах памяти, отве- денной под фактический массив. Когда ссылка на элемент выходит за границы, это не фиксируется как ошибка при исполнение программы на МС-Фортране и результат непредсказуем.
Формальный параметр может быть также связан с внешней подпрог- рвммой, функцией или встроенной функцией, если он используется в теле процедуры как ссылка на подпрограмму или функцию или он по- является в операторе EXTERNAL.
Соответствующий фактический параметр должен быть внешней под- программой или функцией, объявленной в операторе EXTERNAL или встроенной функцией, которую допускается связывать с формальным параметром процедуры. Встроенные функции должны быть объявлены в операторе INTRISIC в программной единице, где они используются как фактические параметры.
Все встроенные функции, за исключением нижеуказанных, могут быть связаны с формальными параметрами процедуры:
INT SNGL CHAR MAX0 MIN0
INT2 REAL LGE AMAX1 AMIN1
INT4 DBLE LGT DMAX1 DMIN1
IFIX COMPLX LLE AMAX0 AMIN0
IDINT DCMPLX LLT MAX1 MIN1
FLOAT ICHAR MAX MIN
