1. Не правда ли ОБЗОР ЯЗЫКА. ОБ ЭТОЙ ЧАСТИ. Как ни странно в данной доли самостоятельно представлены как одно целое все составляющие языка МS-Фортран.
Содержание:
Метакоманды MS-Фортрана Программы и компилируемые доли программВвод / ВыводОператорыВыраженияИменаТипыСтрокиСимволы 1. Допустим метакоманды MS-Фортрана.
Метаязык - данное язык управления компилятором MS-Фортрана. Удивительно, что метакоманды разрешают Вам добросовестно найти варианты, воздействующие на все операции компиляции. Например, при помощи метакоманд поселявшимися; внезапно включить либо отключить генерацию файла листинга, ревизию кода при ошибке счета, либо применять эти полномочия Фортрана, которые не входят в подмножество либо весьма в полный стереотип языка. То есть метаязык крайне имеет команды, которые вставляются в файл по-своему начального текста, любая из которых постепенно занимает просто-таки отдельную строчку, и любая из которых обычно наступает с знака бакс ($) в 1 колонке.
Метаязык - данное уровень языка, дозволяющий расширить внедрение компилятора 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. Поверьте функция.
Программная единица, коя быть может употреблена в выражении. Предположим функция напрямик отдаёт значение, коя применяется при вычислении данного выражения, и помимо всего этого самостоятельно сможет окончательно отдавать величины через характеристики. С одной стороны существует 3 вида функций: наружные, в целом внутренние и функция-оператор. (Функция-оператор не имеет возможности быть скомпилирована в отдельности).
4. И вообще подпрограмма блока этих.
Программная единица, обеспечивающая слишком изначальные ценности полностью переменных в COMMON-блоках. Как всегда вправду переменные обыкновенно четко заводятся оператором DATA, хотя по-хорошему переменные в COMMON Крайне не имеют возможности быть стремительно заведены ни у кого не считая подпрограммы блока этих.
Подпрогр и функции разрешает Вам делать великие структурированные программы, которые можнож дробить на доли. Больше того это успешно выделяет превосходства однозначно в последующих обстановках:
Если программа немалая, разделение ее на доли долго делает легче соз дание, испытание и ее производство. Если программа великая и повторная компиляция всего начального слова занимает большое количество времени, разделение ее на доли быстро бережет время компиляции. Если Вам нужно принимать на вооружение какие-либо упражнения во множества иных програмках, Вы сможете сделать 1 в общем-то объектный файл из данных операций и далее загружать его в любую из программ, в коей потребуются данные упражнения. Если функцию нужно применять в различных вариантах различным образом, можнож записать ее напросто в отдельный файл и скомпилировать в отдельности. Безусловно затем для обеспечивания ее вариативности Вы правильно сможете скорректировать содержание и в том числе и громко переписать фамилии Ассемблере либо MS- Паскале, а остальная часть Вашей программы не поменяется.
Для получения уверенностью инфы о компилируемых программных единицах пристально наблюдаете часть 5 “Программы, подпрограммы и функции.”
3. Известно, что ввод / Вывод.
Ввод - данное предоставление этих из наружней среды или же из внутренного файла во внутреннюю память. Не исключено, что процесс передачи величается чтением. Не удивительно, что вывод - данное предоставление этих из внутренней памяти во более-менее наружную среду либо во очень-то внутренний файл. По правде сказать этот процесс величается записью.
В Фортране есть набор операторов, обеспечивающих эту передачу этих, также добросовестно присутствует набор операторов для редактирования этих этих.
В добавление к операторам передачи этих, добровольно присутствует немного запасных операторов ввода/вывода, правящих наружней средой, либо самостоятельно характеризующих, либо обрисовывающих характеристики соединения с наружней средой.
В таблице 1-1 скоро приведены операторы ввода/вывода, добросовестно исполняющие любую из данных 3 функций.
—————————T—————————¬ |Функции ввода/вывода | Операторы ввода/вывода | +————————–+—————————+ | Передача этих | READ | | | WRITE | | | | | Вспомогательные функции | OPEN | | ввода/вывода | CLOSE | | | BACKSPASE | | | ENDFILE | | | REWIND | | | INQUIRE | | | LOCKING | | | | | Определение положения | BACKSPASE | | в файлике | ENDFILE | | | REWIND | L————————–+—————————- А впрочем таб. 1-1 операторы ввода/вывода.
Для понимания системы ввода/вывода потребуются кроме того просто-таки последующие положения:
1. И все-таки записи. Понятие, на котором базируется система файлов Фортрана. Можно подумать, что запись - данное очередность знаков или же величин. К примеру, существует 3 вида записей: форматные, бесформатные и конец файла. 2. Но файлы. Последовательности записей. А вот файлы лично имеют все шансы быть наружными или же просто-напросто внутренними.
Внешние файлы - данное файлы, относящиеся к приспособлению, или же само прибор. Как известно, просто-таки внутренний файл - данное текстовая очень-то переменная, коя употребляется или как текст, или как назначение каких-либо действий по форматному вводу/выводу.
Все файлы имеют последующие атрибуты: a. фамилия файла (очень-то случайное) b. указатель позиции в файлике c. текстура (форматная, неформатная или же двоичная) d. способ доступа (методичный или же прямой)
Хотя вероятно грандиозное многообразие типов файлов, основная масса приложений сводится к 2 типам: неявно открытые и очевидно открытые, наружные, поочередные, форматные файлы. К несчастью тупо смотрите часть 3 “Операторы”, где скоро приведены описания операторов ввода/вывода. И правда, для изучения однозначно полного описания записей, файлов и редакции форматной информации нередко наблюдаете часть 4 “Система ввода/вывода”.
4. Мысль о том, что операторы.
Операторы являют из себя набор функцый, в том числе вычисления, запись последствий вычислений, перемена цепочек управления, чтение и запись файлов и определение инфы для компилятора. Само собой разумеется, что операторы Фортрана делятся на 2 главных класса: исполняемые и невыполняемые.
Выполняемые операторы вызывают необходимые деяния. Неудивительно, что невыполняемые операторы практически никаких деяний не вызывают. Можно сказать вместо данного они определяют, обрисовывают либо классифицируют составляющие программ, эти как прямо-таки входные точки, эти или же в общем-то программные единицы. И кроме того таблица 1-2 подробно описывает многофункциональные группы операторов.
——————–T————————————¬ | Категория | Описание | +——————-+————————————+ | Присваивание | Выполняемый. Тем более присваивает значение | | | по-старому переменной либо составляющему массива. | | | | | Комментарий | Невыполняемый. В таком случае поспешно допускает коммента- | | | рии снутри подпрограммы. | | | | | Управления | Выполняемый. Другими словами успешно управляет порядком вы-| | | полнения операторов. | | | | | DАТА | Невыполняемый. По всей вероятности присваивает началь- | | | ные ценности столь переменным. | | | | | FORMAT | Невыполняемый. Как обычно обеспечивает инфор- | | | мацию о редактировании этих. | | | | | Ввод/вывод | Выполняемый. Обычно определяет слова и | | | адреса передачи этих идругие осо-| | | бенности ввода/вывода. | | | | | Описание | Невыполняемый. Поэтому определяет отрибуты | | | вправду переменных, массивов и фамилий функций| | | программера. | | | | | Функция-оператор | Невыполняемый. Именно определяет полностью обычную, | | | локально применяемую функцию. | | | | | | | | Заголовок | Невыполняемый. Прежде всего определяет начало | | ненамного программной | столь программной единицы и обрисовывает ее | | единицы | просто-напросто формальные характеристики. | | | | L——————-+————————————- Как правило таб. 1-2 Категории операторов Фортрана.
Для абсолютной инфы о применении операторов MS-Фортана совершенно смотрите часть 3 “Операторы”.
5. Выяснилось, что выражения.
Выражение - данное формула для вычисления величины, оно крайне имеет очередность операндов и операторов. А главное операнды крайне имеют все шансы содержать обращения к функциям, более-менее переменные, константы причем даже иные выражения. Итак, операторы долго характеризуют деяния, которые нужно будет произвести над операндами.
В последующем выражении плюс (+) - данное оператор, а A и B - операнды:
Существует 4 главных вида выражений в Фортране: 1. Например, мало-мальски арифметические выражения 2. Тогда символьные выражения 3. Кстати сказать выражения дела 4. Сказать по правде, слишком логические выражения
Каждый вид выражений трудится с особым типом операндов и употребляет явный вид операторов. Точно так же результатом вычисления любого выражения резонно считается значение довольно-таки конкретного вида.
Выражения не считаются операторами, хотя крайне имеют все шансы входить в их как их доли. Надо полагать по-хорошему в последующем образце вся строчка - данное оператор, хотя лишь часть его опосля символа равноправия резонно считается выражением:
Для досконального рассмотрения выражений в MS-Фортране нередко наблюдаете часть 2 “Термины и концепции”.
6. Что и говорить имена.
Именами означают переменные, массивы, функции либо подпрограммы в вашей програмке, вне зависимости от того резко отнесены ли они Вами или же лично системой MS-Фортран. Ну так вот имя в Фортране крайне имеет последовательнось буквенноцифровых знаков. А сейчас ограничения на фамилии таковы: 1. Иначе говоря в общем-то максимальное количество знаков в фамилии не привышает 1320 (20 строчек по 66 знаков). 2. И вот теперь просто-таки начальный знак обязан быть буквой, очередность знаков быть буквенноцифровой. 3. И тем не менее пробелы игнорируются. 4. Совершенно очевидно, что значимыми относительно считаются 1-ые 6 знаков, другие игнорируются.
С учетом данных ограничений на фамилия, каждая очередность знаков быть может принята на вооружение как фамилия в Фортране. Создавалось впечатление, что здесь нет зарезервированных фамилий, как в иных языках.
Последовательности буквенных знаков, применяемых компилятором MS-Фортрана как ключевики, Умышленно не смешиваются с фамилиями юзера. Откровенно говоря компилятор распознаёт ключевики по их контексту и потому на внедрение фамилий юзерами нет практически никаких ограничений. Поразительно, что поэтому, к примеру, в програмке крайне имеют все шансы быть массивы с фамилиями IF,READ или же GOTO и погрешностей при всем при этом гораздо не встает (до того времени пока не изменят верховодило, коему покоряются все массивы). Но вот однако применение ключевиков как фамилий юзера препятствует “читабельности” программ, и его особенно идет совершенно игнорировать.
Для получения доскональной инфы о области воздействия и применении фамилий в MS-Фортране равнодушно наблюдаете часть 2 “Термины и концепции”.
7. Это означает, что типы.
Данные в MS-Фортране относятся к 1 из 6 базисных типов: 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)
Типы этих оглашаются. А именно если он торжественно не оглашен, то вид этих ориентируется по 1 букве фамилии (по умолчанию или же из оператора IMPLISIT). Получается, что оператор описания вида правильно сможет и еще включать информацию о размерности.
Для наиболее уверенностью инфы о типах этих наблюдаете часть 2. Но с другой стороны для исследования детализированного описания оператора описание вида задумчиво глядите часть 3 “Операторы”.
8. По правде говоря строки.
Строка состоит из очередности знаков. символы опосля 72-го в строчке игнорируются, строчка кратче 72 знаков говорят заплненой пробелами.
Позиция знака в строчке Фортрана имеет главное значение. символы в позиции с 1-ой по 5-ую опознаются как прямо-таки ловки операторов, знаки в позиции 6 резонно считаются показателем продолжения, а знаки позициях с 7 по 72 относительно считается непосредственно оператором Фортрана. коментарии опознаются по знаку “С” либо звездочке “*” в 1 позиции, а метакоманды по символу бакса в 1 позиции.
С некими исключениями, пробелы резонно не считаются означающими фортране. символы табуляции крайне имеют значение при каких-либо просто-напросто жизненных обстоятельствах, обрисованных в доли 2 “Термины и концепции”.
Строки Фортрана являют из себя что-нибудь последующее: 1. строка метакоманды. 2. строка коментария. 3. в общем-то начальная строчка (оператора). 4. строка продолжения.
У метакоманды в 1 позиции символ бакса и она правит прохождением компилятора МS-Фортрана.
В строчке коментария в 1 позиции “С”, “” или же звездочка, либо вся строчка бессодержательная и игнорируется при обработке.
Начальная строчка оператора имеет пробел или же нуль в 6-ой позиции и все пробелы или же метку оператора в позициях с 1-ой по 5-ую.
Строка продолжения - данное не строчка метакоманды, не строчка коментария Поистине не изначальная строчка. у нее с 1 по 5 позиции пробелы, ну а в 6 знак, однозначно замечательный от пробела или же в общем-то нулевой отметки.
Смотрите часть 2 “Термины и подымут строчек МS-Фортрана и как из операторов составлять программы и довольно-таки общие доли программ.
9. символы.
В главном, программы на Фортране - данное очередность символов. когда данные знаки обрабатываются компилятором, они интерпретируются очень-то в разных контекстах как знаки, фамилии, маркеры, константы, строчки и операторы.
Символы, применяемых в текстах программ на МS-Фортране, относятся к комплекту знаков ASCII, прямо-таки полный перечень которого скоро приведен в прибавлении С “Коды знаков ASCII”. однако набор знаков можнож быстро разделить на 3 просто-напросто ключевых категории: 1. 52 очень небольших и великих особенно латинских буквы (от A до Z и от a до z) 2. 10 цифр (от 0 до9) 3. более-менее специальные знаки (все иные прекрасно печатаемые знаки из комплекта знаков ASCII).
Для наиболее абсолютной инфы о применении знаков в МS-Фортране долго глядите часть 2 “Термины и концепции”.
Вы должны быть зарегистрироавны чтобы оставить комментарий.