ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.07.2024
Просмотров: 91
Скачиваний: 0
- 16 -
яым вызвавшей эту функцию (в данный шме«т) программной
единице,
В одной и той ке подпрограмме может встретиться не
сколько операторов RETURN.
2.6.1.2.6. Оператор С0МТНШЕ.
Оператор с у а и м имеет вид:
CONTINUE{
Выполнение этого оператора сводится к продолжению обычной (естественной) последовательности выполнения операторов.
Как правило, данный оператор монет использоваться в
конце области цикла Dg или в конце блока, обращение к ко торому осуществляется с помощью оператора Gg Tflc возвра
том.
Например, блок суммирования двух векторов Л и В раз
мерности 20 может ш.;еть вид: 3 : 1 = 1; 1 : С(1)=А(1)+ва); 1=1+ 1 ;
IP ( I . L E . 2 0 ) Gg Т0 1}
2: C0NTIWUB:
Обращение к. этому блоку из какого-либо места (той же) про граммной единицы может иметь вид:
2 0 £ О , 3» 2J } 4:
2.6Л„2,7, Операторы управления программой.
Имеются два типа операторов управления программой:
-оператор STCJ?;
-оператор
2.6,1.2.7.1. Оператор |
STgp. |
||
t |
-~ |
1 |
имеет вид: |
ипе^ат%р sTgg |
- 17 -
STgP;
Этот оператор реализуется в рабочей программе в виде пол ного останова:
7.77.7777.7777.7777
и приводит поэтому |
к прекращению выполнения программы. |
D основной программе должен находиться по крайней |
|
мере один оператор |
. Таких операторов в основной |
программе межет встретиться и несколько.
2.6.1.2.7.2. Оператор PAUSE^
Оператор PAUSE тлеет вид: PAUSE;
или
PAUSE п;
где п - восьмеричное целое число в диапазоне 0^п£?777> Оператор
PAUSE; эквивалентен оператору
PAUSE О;
Этот оператор реализуется в рабочей программе в виде оста нова
о. 77.run.п
Как правило, данный оператор используется для приос тановки работы программы (.например, для того, чтобы •устано вить на читающее устройство новую колоду перфокарт с вводи мыми данными и т.п.;. Вслед за этим, после нажатия на "Пуск", работа программы продолжается.
Программист должен указать в своей шструвдйи дейст вия в случае соответствующего останова.
2.6.1.2.8. Оператор Ш
Оператор Djg имеет вид
Dg п 1=11,12,13;
I I см*. НУМИчМАн
-НАУЧИ#-ТШ(НИЧЕСКЛЯ
- IB -
или, при 13=1 {
Dg n 1=11,12?
Этот оператор реализует цикл,п, .е. многократное вы
полнение одного или нескольких операторов. Здесь:
п - метка выполняемого оператора, который называется
последним оператором соответствующего цикла. Оператор, по
меченный меткой п , должен находиться вслед за описывае
мым оператором |
и в той ке программной единице. Послед- |
ним оператором |
цикла не могут быть операторы gg Tfl , |
НВТШШ , арифметический I F или Dg , Если это все лее тре
буется, то следует использовать оператор cgNTIOTR. I - идентификатор простой переменной. Эта переменная называет
ся параметром цигла (пли управляющей переменной).
I I , 12, 13 - натуральные (целые нолокительше) числа или простые переменные, которые в MOMCKV: выполнения оператора
Dg должны иметь натуральные значения, Указанные числа или значения переменных не должны превосходить 4095. ц назы вается начальным значением, 12 - конечным значением, 13 - шагом. Если 13 равно единице, то его можно не писать. Кро
ме того, должно быть 11^12.
Областью цикла Dg называется множество выполняемых операторов, начинающихся с непосредственно следующего за Dg выполняемого оператора и оканчивающихся последним опе ратором цикла, включая этот оператор.
2.6.1.2.8.1. Оператор Dg (т.е. оператор цикла) выполняется следующим образом:
а) параметру цикла I присваивается начальное значе ние Ц ;
б) выполняются все выполняемые операторы, входящие в область данного цикла;
в) после выполнения последнего оператора щита, если
оно происходит, текущее значение параметра цшела 1 увеличи
вается на значение шага 13;
- 19 -
г) если полученное таким образом новое текущее зна чение параметра цикла I меньше иди равно конечному значе
нию 12, то происходит переход па пункт б), В противном
случае рассматриваемый оператор цикла считается выполнен ным, и значение параметра цикла становится неопределенным.
В области цикла Dg могут находиться любые выполняе
мые операторы, в том числе п другие операторы Dg , Если в области цикла Dg встречаются другие операторы J5g , то
такое явление называется вложенностью циклов» а циклы,
оператор Dg которых находится в области исходного цикла
Ш, называются вложенными.
Область вложенного цикла Dg должна полностью входить
•в состав области исходного цикла Dg . Вложенный цикл Dg, в свою очередь может содержать другие, вложенные в него
циклы.
Несколько вложенных друг в друга циклов Dg могут
иметь один и тот же последний оператор цикла.
Теперь можно определить, что происходит после выпол~
нения цикла Dg. Itemto, если последний оператор рассматри
ваемого цикла og не является последним оператором ни для какого другого внешнего по отношению к этому Dg цикла, то после выполнения указанного цикла Dg выполняется непосред ственно следующий за последним оператором цикла выполняе мый оператор.
Если же последний оператор рассматриваемого цикла является последним оператором для какого-либо внешнего по отношению к нему оператора цикла, то значение параметра ближайшего внешнего (по отношению к рассматриваемому) цик ла увеличивается на значение шага соответствующего цикла, и повторяется действие, указанное в пункте г)', но уже для
этого внешнего цикла. Описанный процесс повторяется вплоть
до выполнения всех циклов Dg , последним оператором кото
рых является рассматриваемый последний оператор.
Затем выполняется непосредственно следующий за ука занным последним оператором цикла выполняемый оператор.
-20 -
2.6.1.2.8.2.Если виход изсбласти цикла осущестззляется в результате выполнения этого цикла, то значение его пара метра становится неопределенным.
Если же выход из области цикла осуществляется с по мощью безусловного или вычисляемого операторов G0 Tg или арифметического оператора IF , то значение параметра цикла определено и совпадает с его значением в момент выполнения оператора, выводящего из облаоти цикла.
Замечание. Дня того, чтобы к определенному таким об разом параметру цикла можно было обращаться вне этого цик ла, необходимо предварительно преобразовать его значение.
Это осуществляется путем обращения (вне области цикла!) к встроенной функции FLgAr. Внутри области цикла, однако, к параметрам этого и внешних по отношению к нему циклов мож но (и нужно!) обращаться как к обычным переменным.
|
Пример. |
> |
|
Печать номера первого отрицательного элемента в мас |
|
сиве длины 100. |
|
|
|
Dg 1 1=1, 10 О; |
Gg Tg 2{ |
1 : |
IP (A(I).LT.O) |
|
|
KsO; |
|
2s |
Gg Tg 3; |
|
K=FL0AT ( I ) ; |
|
|
|
PRCTP 4-,K; |
|
4: FgRMAT ...
2.6.1.2.8.3.Внутри'области цикла запрещается изменять зна чения параметра цикла, а также начального, конечного зна чений и шага.
2.6.1.2.8.4.Запрещается переход извне внутрь области цик ла. В частности, если один и тот же оператор является ко нечным оператором для нескольких вложенных циклов, то ис-
- 21 -
пользование мотки упошнутого оператора разрешается толь
ко внутри области самого внутреннего (наиболее глубоко вложенного) цикла.
В случае, когда вход внутрь области цикла пли выход
из этой области осуществляются с помощью каких-либо ко
манд автокода или оператора cgf Tgf с возвратом, компилятор не обеспечивает ни сохранение значения параметра цикла
при выходе из пего, ни проверку на допустимость входа внутрь цикла. Программист при этом-должен учитывать, что
параметр самого внутреннего цикла хранятоя в РА (регист ре адреса), а значение параметра внешнего цикла J хранит
ся в той ;;:е ячейке, что и переменная J,B виде:
0.52. О. J.0
Таким образом, с помощью средств автокода параметр цикла
можно использовать и в этом случае.
Еще один пример. Печать таблицы значений полинома
11 |
а - х 1 1 - 1 (Л-массив коэффициентов полинома а. ) . |
|
^~ |
||
1=1 |
1 |
. |
|
|
|
|
Ш |
x»i,aoi |
Р=0;
DJ 2 1=1,11; 2: Р=РяХ+А(1)|
1: PRINT |
з, х. ?; |
3; | Я |
• • • |
Замечание. Разность между конечным значением и начальным значением должна быть кратна шагу.
2.6.1.3. Операторы ввода/вывода. ,
Имеются-.следующие типы операторов ввода/вывода:
-операторы печати;
-оператор ввода с перфокарт;
-оператор перфорации;
-оператор обмена с МБ и МП;
-оператор отладочной печати.
- 22 -
Все операторы ввода/вывода реализуются о помощью
обращений к соответствующим стандартным программам (за исключением ввода с перфокарт без контроля и без перевода).
2.6.1.3.1. Операторы печати.
Операторы печати имеют вид:
ГЮ1Ж; |
п, |
< список печати) ; |
или |
cW, |
< список печати > ? |
PMCNT |
Первый оператор осуществляет вывод на АЦПУ, а второйна
узкую печать.
п -метка оператора У0кгЛАт , в соответствии с которым осуществляется преобразование (редактирование) печатаемой
информации (этот оператор FgRUAlдолжен быть |
в той же |
программкой единице, что и оператор PRIKT |
; |
^ -признак виде узкой печати (десятичная(с переводом
или 6es него) или восьмеричная).
Список ьечати состоит из одного или отделенных друг о? друга запятыми нескольких элементов списка печати.
(Иногда он может отсутствовать - см.ниже). Элементом списка печати может быть:
-переменна? (простая или с индексом);
-идентификатор массива*
-неквный икнл.
Есда. в описке печати встречается переменная с индек
сом (либо в качестве самостоятельного элемента списка,ли
бо в качестве части неявного цикла), то индексные выраже
ния еч-ой переменной могут быть только (натуральными) чис
лам |
ИЛИ простыми переменными (но не выражениями вида |
С- s |
I , I + К илз С к I + К). |
Простейший элемент списка печати - это простая пере менная ы'4 один элемент массива. Таким образом, каждый элемент списка Печати эквивалентен одному ( переменная) кла нескольким (идентификатор массива* неявный цикл)
простейшим элементам списка печати.