ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



 

Часть 1

                            ОБЗОР ЯЗЫКА.




            ОБ ЭТОЙ ЧАСТИ

     В этой части представлены как одно целое все компоненты язы-
ка МС Фортран.

СОДЕРЖАНИЕ


1. МЕТАКОМАНДЫ МС-ФОРТРАНА.  . . . . . . . . . . . . . . . .  1-1

2. ПРОГРАММЫ И КОМПИЛИРУЕМЫЕ ЧАСТИ ПРОГРАММ.  . . . . . . . . 1-1

3. ВВОД/ВЫВОД. . . . . . . . . . . . . . . . . . . . . . . .  1-2

4. ОПЕРАТОРЫ.  . . . . . . . . . . . . . . . . . . . . . . .  1-3

6. ИМЕНА.  . . . . . . . . . . . . . . . . . . . . . . . . .  1-5

7. ТИПЫ. . . . . . . . . . . . . . . . . . . . . . . . . . .  1-5

8. СТРОКИ. . . . . . . . . . . . . . . . . . . . . . . . . .  1-6

9. СИМВОЛЫ.  . . . . . . . . . . . . . . . . . . . . . . . .  1-6





     1. МЕТАКОМАНДЫ МС-ФОРТРАНА.

     Метаязык - это язык управления компилятором MS-Фортрана. Ме-
такоманды позволяют Вам определить  варианты,  воздействующие  на
все операции компиляции. Например, с помощью метакоманд Вы можете
включить  или  выключить  генерацию файла листинга, проверку кода
при ошибке счета, или использовать  такие  возможности  Фортрана,
которые не входят в подмножество или в полный стандарт языка. Ме-
таязык  содержит  команды,  которые  вставляются в файл исходного
текста, каждая из которых занимает отдельную строку, и каждая  из
которых начинается с символа доллар ($) в первой колонке.
     Метаязык - это уровень языка, позволяющий расширить  исполь-
зование  компилятора  MS-Фортрана.  Хотя в большинстве реализаций
Фортрана  есть  средства  управления  компилятором,   метакоманды
MS-Фортрана  не  входят в стандарт Фортрана (и поэтому не мобиль-
ны).
     Ниже приведены существующие в настоящий момент метакоманды:
  $[NO]DEBUG       $[NO]LARGE  $PAGESIDE
  $DEVFNH          $LINESIDE   $STORAGE
  $DO66            $[NOT]LIST  $[NOT]STRICT
  $[NO]FLOATCALLS  $MESSADE    $SUBTITLE
  $INCLUDE         $PAGE       $TITLE
     Смотрите  часть  6  "Метакоманды MS-Фортрана" для подробного
изучения метакоманд.

2.ПРОГРАММЫ И КОМПИЛИРУЕМЫЕ ЧАСТИ ПРОГРАММ.

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

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

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



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

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

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

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

     Для получения полной информации о компилируемых  программных
единицах смотрите часть 5 "Программы, подпрограммы и функции."

3. ВВОД/ВЫВОД.

     Ввод  - это передача данных из внешней среды или из внутрен-
ного файла во внутреннюю память. Процесс передачи называется чте-
нием. Вывод - это передача данных из внутренней памяти во внешнюю
среду или во внутренний файл. Этот процесс называется записью.

     В Фортране есть набор операторов, обеспечивающих такую пере-
дачу данных, кроме того существует набор операторов для  редакти-
рования таких данных.
     В  дополнение  к операторам передачи данных, существует нес-
колько вспомогательных операторов ввода/вывода, управляющих внеш-
ней средой, или определяющих, или описывающих свойства соединения
с внешней средой.



     В таблице 1-1 приведены операторы ввода/вывода, осуществляю-
щие каждую из этих трех функций.
  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДї
  іФункции ввода/вывода      і Операторы ввода/вывода    і
  ГДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
  і Передача данных          і READ                      і
  і                          і WRITE                     і
  і                          і                           і
  і Вспомогательные функции  і OPEN                      і
  і ввода/вывода             і CLOSE                     і
  і                          і BACKSPASE                 і
  і                          і ENDFILE                   і
  і                          і REWIND                    і
  і                          і INQUIRE                   і
  і                          і LOCKING                   і
  і                          і                           і
  і Определение положения    і BACKSPASE                 і
  і в файле                  і ENDFILE                   і
  і                          і REWIND                    і
  АДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
          Таб. 1-1 операторы ввода/вывода.

     Для понимания системы ввода/вывода нужны также следующие по-
ложения:

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

2. Файлы.
     Последовательности записей. Файлы могут  быть  внешними  или
внутренними.
     Внешние файлы - это файлы, относящиеся к устройству, или са-
мо  устройство. Внутренний файл - это текстовая переменная, кото-
рая используется либо как текст, либо  как  назначение  некоторых
действий по форматному вводу/выводу.
     Все файлы имеют следующие атрибуты:
a. имя файла (произвольное)
b. указатель позиции в файле
c. структура (форматная, неформатная или двоичная)
d. метод доступа (последовательный или прямой)
     Хотя возможно большое разнообразие типов файлов, большинство
приложений  сводится  к двум типам: неявно открытые и явно откры-
тые, внешние, последовательные, форматные файлы. Смотрите часть 3
"Операторы", где приведены описания операторов ввода/вывода.  Для
изучения  полного  описания  записей, файлов и редакции форматной
информации смотрите часть 4 "Система ввода/вывода".

4. ОПЕРАТОРЫ.

     Операторы представляют собой набор функцый, таких как вычис-
ления,  запись результатов вычислений, изменение цепочек управле-
ния, чтение и запись файлов и определение информации для компиля-
тора. Операторы Фортрана разделяются на два основных класса:  вы-
полняемые и невыполняемые.
     Выполняемые операторы вызывают требуемые действия.  Невыпол-
няемые  операторы  никаких действий не вызывают. Вместо этого они
определяют, описывают или классифицируют элементы программ, такие
как входные точки, данные или программные  единицы.  Таблица  1-2
описывает функциональные категории операторов.



ЪДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і    Категория      і           Описание                 і
ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і Присваивание      і Выполняемый. Присваивает величину  і
і                   і переменной или элементу массива.   і
і                   і                                    і
і Комментарий       і Невыполняемый. Допускает коммента- і
і                   і рии внутри подпрограммы.           і
і                   і                                    і
і Управления        і Выполняемый. Управляет порядком вы-і
і                   і полнения операторов.               і
і                   і                                    і
і DАТА              і Невыполняемый. Присваивает началь- і
і                   і ные значения переменным.           і
і                   і                                    і
і FORMAT            і Невыполняемый. Обеспечивает инфор- і
і                   і мацию о редактировании данных.     і
і                   і                                    і
і Ввод/вывод        і Выполняемый. Определяет тексты и   і
і                   і адреса передачи данных идругие осо-і
і                   і бенности ввода/вывода.             і
і                   і                                    і
і Описание          і Невыполняемый. Определяет отрибуты і
і                   і переменных, массивов и имен функцийі
і                   і программиста.                      і
і                   і                                    і
і Функция-оператор  і Невыполняемый. Определяет простую, і
і                   і локально используемую функцию.     і
і                   і                                    і
і                   і                                    і
і Заголовок         і Невыполняемый. Определяет начало   і
і программной       і программной единицы и описывает ее і
і единицы           і формальные параметры.              і
і                   і                                    і
АДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
      Таб. 1-2 Категории операторов Фортрана.

     Для полной информации об использовании операторов MS-Фортана
смотрите часть 3 "Операторы".

5. ВЫРАЖЕНИЯ.

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

1.   Арифметические выражения
2.   Символьные выражения
3.   Выражения отношения
4.   Логические выражения


     Каждый тип выражений работает с определенным типом операндов
и использует определенный тип операторов. Результатом  вычисления
каждого выражения является величина определенного типа.
     Выражения не являются операторами, но могут  входить  в  них
как  их  части. В следующем примере вся строка - это оператор, но
только часть его после знака равенства является выражением:
     X = 2.0/3.0 + A + B
     Для подробного рассмотрения выражений в MS-Фортране смотрите
часть 2 "Термины и концепции".

6. ИМЕНА.

     Именами обозначают переменные, массивы, функции или подпрог-
раммы в вашей программе, независимо от того определены ли они Ва-
ми  или самой системой MC-Фортран. Имя в Фортране содержит после-
довательнось буквенноцифровых символов. Ограничения на имена  та-
ковы:
1. Максимальное число символов в имени не привышает  1320  (двад-
   цать строк по 66 символов).
2. Начальный символ должен быть буквой, последовательность симво-
   лов быть буквенноцифровой.
3. Пробелы игнорируются.
4. Значимыми являются первые шесть символов, остальные игнориру-
   ются.

     С  учетом  этих ограничений на имя, любая последовательность
символов может быть использована как имя в  Фортране.  Здесь  нет
зарезервированных имен, как в других языках.
     Последовательности буквенных символов, используемые компиля-
тором  MС-Фортрана  как  ключевые слова, не смешиваются с именами
пользователя. Компилятор различает ключевые слова по их контексту
и поэтому на использование имен пользователями нет никаких  огра-
ничений. Поэтому, например, в программе могут быть массивы с име-
нами  IF,READ или GOTO и ошибок при этом не возникает (до тех пор
пока не изменят правило, которому подчиняются все массивы). Одна-
ко использование ключевых слов как имен пользователя мешает  "чи-
табельности" программ, и его следует избегать.
     Для получения подробной информации об области действия и ис-
пользовании  имен  в MС-Фортране смотрите часть 2 "Термины и кон-
цепции".

7. ТИПЫ.

     Данные в MC-Фортране относятся к одному из шести базовых ти-
пов:
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.   Символьный (CHARACTER)

     Типы данных объявляются. Если он не объявлен, то тип  данных
определяется по первой букве имени (по умолчанию или из оператора
IMPLISIT). Оператор описания типа может также включать информацию
о размерности.
     Для более полной информации о типах данных смотрите часть 2.
Для изучения детального описания оператора описание типа смотрите
часть 3 "Операторы".



8. СТРОКИ.

     Строка состоит из последовательности символов. Символы после
72-го  в строке игнорируются, строка короче 72 символов считается
заполненой пробелами.
     Позиция символа в строке  Фортрана  имеет  важное  значение.
Символы в позиции с 1-ой по 5-ую опознаются как метки операторов,
символы  в  позиции 6 являются признаком продолжения, а символы в
позициях с 7 по 72 является собственно оператором  Фортрана.  Ко-
ментарии опознаются по символу "С" или звездочке "*" в первой по-
зиции, а метакоманды по знаку доллара в первой позиции.
     С  некоторыми  исключениями, пробелы не являются значащими в
Фортране. Символы табуляции имеют значение при некоторых  обстоя-
тельствах, описанных в части 2 "Термины и концепции".
     Строки Фортрана представляют собой что-либо следующее:
1.   Строка метакоманды.
2.   Строка коментария.
3.   Начальная строка (оператора).
4.   Строка продолжения.
     У  метакоманды в первой позиции знак доллара и она управляет
прохождением компилятора МС-Фортрана.
     В строке коментария в первой позиции "С", "с" или звездочка,
или вся строка пустая и игнорируется при обработке.
     Начальная строка оператора имеет пробел или нуль в 6-ой  по-
зиции  и  все  пробелы  или  метку оператора в позициях с 1-ой по
5-ую.
     Строка  продолжения  -  это не строка метакоманды, не строка
коментария и не начальная строка. У нее с первой по пятую позиции
пробелы, а в шестой символ, отличный от пробела или нуля.
     Смотрите часть 2 "Термины и концепции" для подробностей  ис-
пользования различных видов строк МС-Фортрана и как из операторов
составлять программы и совместные части программ.

9. СИМВОЛЫ.

     В основном, программы на Фортране -  это  последовательность
символов.  Когда эти символы обрабатываются компилятором, они ин-
терпретируются в различных контекстах как символы, имена,  метки,
константы, строки и операторы.
     Символы, используемые в текстах программ на МС-Фортране, от-
носятся к набору символов ASCII, полный список которого  приведен
в  приложении С "Коды символов ASCII".Однако набор символов можно
поделить на три основных группы:
1. 52 малых и больших латинских буквы (от A до Z и от a до z)
2. 10 цифр (от 0 до9)
3. Специальные символы (все другие печатаемые символы из набора
   символов ASCII).
     Для более полной  информации  об  использовании  символов  в
МС Фортране смотрите часть 2 "Термины и концепции".


Яндекс цитирования