Составители:
31
не вышло. Еще раз напомним, что оператор
wait, как и другие последовательные операто-
ры, может размещаться только в теле процесса или теле подпрограммы.
4.7.4. Операторы повторения
Операторы повторения loop позволяют сокращенно записывать совокупности одно-
типных действий.
<оператор повторения>::=
[<метка оператора повторения>:] [<итерационная схема>] loop
<оператор> {<оператор>}
end loop [<метка оператора повторения>];
<итерационная схема>::=
while <условие>
| for <имя переменной> in <диапазон>
Последовательность операторов (здесь могут быть только последовательные операто-
ры), заключенная между ключевыми словами
loop и end loop, называется телом опера-
тора повторения или телом цикла. Операторы в теле цикла выполняются друг другом в
порядке записи, причем такое выполнение повторяется многократно. Число повторений оп-
ределяется итерационной схемой.
Оператор повторения, не содержащий явного объявления итерационной схемы, пред-
полагает бесконечное повторение последовательностей вложенных в него операторов. Та-
кая модель, в целом, соответствует поведению реальных дискретных устройств, повторяю-
щих некоторую последовательность действий вплоть до отключения питания. В то же время
эта конструкция имеет логический смысл, только если тело цикла содержит оператор ожида-
ния
wait или оператор выхода из цикла exit. В противном случае бесконечное безус-
ловное повторение блокировало бы исполнение любых других операторов и процессов.
Оператор с ключевым словом
while обязательно должен содержать в теле цикла опе-
раторы, изменяющие описанное в итерационной схеме условие. Операторы цикла повторя-
ются, пока при вычислении условия не получается значения
false. Условие проверяется
каждый раз перед исполнением тела цикла.
Оператор повторения с ключевым словом
for повторяется для всех значений перемен-
ной из заданного итерационной схемой диапазона.
Отметим, что присвоенные в теле цикла значения переменных могут быть исходными
данными для очередного цикла. Если же в цикле выполнено присвоение значения сигналу,
то в следующих операторах тела и очередных повторениях того же цикла используются ста-
рые значения, если только
тело цикла не содержит операторов ожидания.
Если при моделировании и, в частности, при описании тестовых воздействий смысл
операторов повторения практически не отличается от смысла подобных конструкций в тра-
диционных языках программирования высокого уровня, то при интерпретации в аппаратуре
имеются существенные отличия. Предусматривается не просто последовательное во времени
повторение набора преобразований, а реализация набора устройств, выполняющих одно-
типные действия, причем эти устройства работают параллельно.
не вышло. Еще раз напомним, что оператор wait, как и другие последовательные операто- ры, может размещаться только в теле процесса или теле подпрограммы. 4.7.4. Операторы повторения Операторы повторения loop позволяют сокращенно записывать совокупности одно- типных действий. <оператор повторения>::= [<метка оператора повторения>:] [<итерационная схема>] loop <оператор> {<оператор>} end loop [<метка оператора повторения>]; <итерационная схема>::= while <условие> | for <имя переменной> in <диапазон> Последовательность операторов (здесь могут быть только последовательные операто- ры), заключенная между ключевыми словами loop и end loop, называется телом опера- тора повторения или телом цикла. Операторы в теле цикла выполняются друг другом в порядке записи, причем такое выполнение повторяется многократно. Число повторений оп- ределяется итерационной схемой. Оператор повторения, не содержащий явного объявления итерационной схемы, пред- полагает бесконечное повторение последовательностей вложенных в него операторов. Та- кая модель, в целом, соответствует поведению реальных дискретных устройств, повторяю- щих некоторую последовательность действий вплоть до отключения питания. В то же время эта конструкция имеет логический смысл, только если тело цикла содержит оператор ожида- ния wait или оператор выхода из цикла exit. В противном случае бесконечное безус- ловное повторение блокировало бы исполнение любых других операторов и процессов. Оператор с ключевым словом while обязательно должен содержать в теле цикла опе- раторы, изменяющие описанное в итерационной схеме условие. Операторы цикла повторя- ются, пока при вычислении условия не получается значения false. Условие проверяется каждый раз перед исполнением тела цикла. Оператор повторения с ключевым словом for повторяется для всех значений перемен- ной из заданного итерационной схемой диапазона. Отметим, что присвоенные в теле цикла значения переменных могут быть исходными данными для очередного цикла. Если же в цикле выполнено присвоение значения сигналу, то в следующих операторах тела и очередных повторениях того же цикла используются ста- рые значения, если только тело цикла не содержит операторов ожидания. Если при моделировании и, в частности, при описании тестовых воздействий смысл операторов повторения практически не отличается от смысла подобных конструкций в тра- диционных языках программирования высокого уровня, то при интерпретации в аппаратуре имеются существенные отличия. Предусматривается не просто последовательное во времени повторение набора преобразований, а реализация набора устройств, выполняющих одно- типные действия, причем эти устройства работают параллельно. 31
Страницы
- « первая
- ‹ предыдущая
- …
- 29
- 30
- 31
- 32
- 33
- …
- следующая ›
- последняя »