Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Язык программирования Фортран.doc
Скачиваний:
107
Добавлен:
02.05.2014
Размер:
228.35 Кб
Скачать

1. Обзор языка

1.1. Метакоманды мs-Фортрана.

Метаязык - это язык управления компилятором MS-Фортрана. Метакоманды позволяют Вам определить варианты, воздействующие на все операции компиляции. Например, с помощью метакоманд Вы можете включить или выключить генерацию файла листинга, проверку кода при ошибке счета, или использовать такие возможности Фортрана, которые не входят в подмножество или в полный стандарт языка. Метаязык содержит команды, которые вставляются в файл исходного текста, каждая из которых занимает отдельную строку, и каждая из которых начинается с символа доллар ($) в первой колонке.

Метаязык - это уровень языка, позволяющий расширить использование компилятора MS-Фортрана. Хотя в большинстве реализаций Фортрана есть средства управления компилятором, метакоманды MS-Фортрана не входят в стандарт Фортрана (и поэтому не мобильны).

Ниже приведены существующие в настоящий момент метакоманды:

$[NO]DEBUG $[NO]LARGE $PAGESIDE

$DEVFNH $LINESIDE $STORAGE

$DO66 $[NOT]LIST $[NOT]STRICT

$[NO]FLOATCALLS $MESSADE $SUBTITLE

$INCLUDE $PAGE $TITLE

1.2. Программы и компилируемые части программ.

Компилятор MS-Фортрана производит программные единицы. Ими могут быть основная программа, подпрограмма или функция. Вы можете откомпилировать любую из этих единиц отдельно и затем загрузить их вместе без объединения их еще до компиляции.

1.Программа.

Любая программная единица начинается с оператора FUNCTION или SUBROUTINE. Первым оператором может быть PROGRAM, но такой оператор не обязателен. Выполнение программы всегда начинается с первого выполняемого оператора в главной программе. Следовательно в каждой выполняемой программе должна быть единственная главная программа.

2.Подпрограмма.

Программная единица,которая может вызваться из других программных единиц оператором CALL, будучи вызванной, подпрограмма осуществляет набор действий, определенных ее выполняемыми операторами, и затем возвращает управление на оператор, стоящий непосредственно за оператором вызова. Подпрограмма не возвращает прямо величины, хотя они могут быть переданы в вызывающую программную единицу через параметры или общие переменные.

3.Функция.

Программная единица, которая может быть употреблена в выражении. Функция прямо возвращает величину, которая используется при вычислении этого выражения, и кроме того может возвращать величины через параметры. Существует три вида функций: внешние, внутренние и функция-оператор. (Функция-оператор не может быть скомпилирована отдельно).

4.Подпрограмма блока данных.

Программная единица, обеспечивающая начальные значения переменных в COMMON-блоках. Переменные обычно заводятся оператором DATA, но переменные в COMMON не могут быть заведены нигде кроме подпрограммы блока данных.

Подпрограммы и функции позволяет Вам создавать большие структурированные программы, которые можно делить на части. Это дает преимущества в следующих ситуациях:

1. Если программа большая, разделение ее на части облегчает создание, тестирование и ее сборку.

2. Если программа большая и повторная компиляция всего исходного текста занимает много времени, разделение ее на части экономит время компиляции.

3. Если Вам надо использовать некоторые процедуры во многих других программах, Вы можете создать один объектный файл из этих процедур и затем загружать его в каждую из программ, в которой нужны эти процедуры.

4. Если процедуру надо использовать в разных случаях разным образом, можно записать ее в отдельный файл и скомпилировать отдельно. Затем для обеспечения ее вариативности Вы можете изменить содержание и даже переписать имена Ассемблере или MS-Паскале, а остальная часть Вашей программы не изменится.