Выполнение - оператор - переход - Большая Энциклопедия Нефти и Газа, статья, страница 3
Покажите мне человека, у которого нет никаких проблем, и я найду у него шрам от черепно-мозговой травмы. Законы Мерфи (еще...)

Выполнение - оператор - переход

Cтраница 3


Что касается оператора с меткой FI, то, вообще говоря, этой меткой можно было бы пометить команду, с которой начинается реализация следующей по порядку части программы. Однако в этом случае был бы нарушен принцип структурного программирования, поскольку наша структура имела бы два выхода: один - в результате выполнения оператора перехода goto FI, и второй - в результате завершения выполнения e / se - части. Поэтому удобно считать, что меткой FI пометен ( единственный) выход из данной структуры, а поскольку в данном случае выход не требует выполнения каких-либо дополнительных действий, то он должен быть пустым оператором.  [31]

Оператор перехода записывается как перейти к W. Оператору перехода в языке логических схем соответствует понятие левого знака перехода. Выполнение оператора перехода заключается в получении по именующему выражению некоторой метки и в переходе к оператору, имеющему такую метку.  [32]

33 Синтаксические диаграммы объявлений. [33]

В качестве меток в языке Паскаль используются целые числа без знака. Метками снабжаются операторы, которым передается управление при выполнении оператора перехода GOTO-Все метки должны быть объявлены. Если в программе нет помеченных операторов, то раздел описания меток в соответствующем блоке должен отсутствовать.  [34]

Для проверки достаточно нажать клавиши БП N F ПРГ, и на индикаторе в знакоместах порядка, выделяемых в режиме программирования для хранения содержимого счетчика программных слов ( PC), высвечивается адрес АЬ. Следует учитывать, что при N С 7 адрес АЬ модифицируется при каждом выполнении оператора косвенных переходов.  [35]

Количество операторов, объединяемых в составной, не ограничивается. Как сам составной оператор, так и входящие в него операторы могут иметь метки. Работа составного оператора начинается либо вследствие естественного перехода к нему после выполнения предыдущего оператора, либо после выполнения оператора перехода, передающего управление по метке одному из внутренних операторов. Внутри составного операторы выполняются в естественной последовательности, которая может быть изменена при наличии в нем операторов перехода, передающих управление к внутренним или внешним операторам. Завершение работы составного оператора происходит либо после выполнения самого последнего оператора из числа входящих в составной, либо при передаче управления одному из внешних по отношению к составному операторов.  [36]

Оператор CALL может стоять в любой части вызывающего блока. При нормальном завершении подпрограммы управление возвращается вызывающему блоку. Если подпрограмма заканчивается достижением последнего оператора END или оператора RETURN, то управление передается оператору, следующему зае оператором вызова. Если же она заканчивается выполнением оператора перехода, то этот оператор и определяет точку возврата в вызывающем блоке. В случае ненормального завершения подпрограммы ( прерывание или исключительная ситуация) управление передается операционной системе.  [37]

Оператор CALL может стоять в любой части вызывающего блока. При нормальном завершении подпрограммы управление возвращается вызывающему блоку. Если подпрограмма заканчивается достижением последнего оператора END или оператора RETURN, то управление передается оператору, следующему за; оператором вызова. Если же она заканчивается выполнением оператора перехода, то этот оператор и определяет точку возврата в вызывающем блоке. В случае ненормального завершения подпрограммы ( прерывание или исключительная ситуация) управление передается операционной системе.  [38]

Войти в оператор цикла можно только через его заголовок; если какой-либо оператор перехода, находящийся вис данного оператора цикла, осуществляет переход к оператору, входящему в состав этого оператора цикла, то результат действия такого оператора перехода не определен. Говоря о значении параметра цикла после окончания выполнения оператора цикла, мы до сих пор имели в виду случай, когда его выполнение заканчивается в результате исчерпания списка цикла. Если же выполнение оператора цикла заканчивается в результате выполнения оператора перехода по метке, находящейся вне данного оператора цикла, то значение параметра цикла определено и равно тому его значению, при котором был выполнен отот оператор перехода.  [39]

Для того чтобы описание процедуры определяло значение указателя функции, необходимо, чтобы внутри тела процедуры встречался один или несколько явных операторов присваивания с идентификатором этой процедуры в качестве получателя; по крайней мере один из них должен выполняться, и тип идентификатора процедуры должен быть указан включением описателя типа в качестве самого первого символа описания процедуры. Последнее значение, присвоенное таким образом, используется для дальнейшего вычисления выражения, в котором встречается указатель функции. Любое вхождение идентификатора процедуры внутри ее тела не в качестве получателя оператора присваивания означает обращение к этой процедуре. Если оператор перехода, находящийся внутри данной процедуры или внутри любой другой процедуры, обращение к которой произведено из нее, осуществляет выход из данной процедуры минуя ее символ end, то прекращается исполнение всех начатых, но не завершенных операторов, не содержащих ту метку, к которой ведет этот оператор перехода. Значения всех переменных, имеющих еще смысл, остаются такими же, какими они были непосредственно перед выполнением оператора перехода.  [40]

Обращение к функции из главного процедурного блока производится по имени функции с аргументами. Имя функции в программе может использоваться наравне с любым выражением. В нашем примере оно является операндом операции умножения. После выполнения функции вместе с возвратом в точку вызова происходит и передача вычисленного значения. Возврат в точку вызова производится в том случае, если выполнение функции заканчивается оператором RETURN. Такой возврат в вызывающую программу не является единственным для функции. Она может заканчиваться и выполнением оператора перехода, который определит другую точку возврата. Очевидно, вычисление выражения, в котором было обращение к функции, не будет закончено в этом случае. Точка возврата для оператора перехода ( соответствующая метка) может быть параметром функции.  [41]



Страницы:      1    2    3