Этот оператор передает управление первому оператору, следующему за тем составным оператором, из которого осуществлен выход, или за оператором, вызвавшим подпрограмму. Ключевые слова соответствуют выходу из составных операторов:

DEF — ОПИСаНИЯ ФУНКЦИИ DEF FN,

DO — оператора повторения DO,

FOR — оператора повторения FOR,

FUNCTION — оператора подпрограммы-функции FUNCTION,

SUB — оператора подпрограммы-процедуры SUB.

ОПЕРАТОРЫ УСЛОВНОЙ ПЕРЕДАЧИ УПРАВЛЕНИЯ

предназначены для изменения естественного порядка исполнения команд при выполнении некоторых условий. По аналогии с операторами безусловной передачи управления (3.1) и (3.2) имеется два оператора условной передачи управления:

ON expression» GOSUB line-list (3.5)

ON expression» GOTO line-list (3.6),

в которых целочисленное выражение expression% может принимать значения от о до количества меток в списке line-list (а список может содержать до 255 меток). По нулевому значению выражения выполняется оператор в следующей строке, а по другим значениям управление передается метке, положение которой в списке соответствует вычисленному номеру.

Использование команды SELECT CASE предпочтительнее использования ON. . .GOSUB и ON. . .GOTO (за исключением команд прерывания). Поскольку мы упомянули прерывания, необходимо дать краткое разъяснение.

Кроме операторов, передающих управление в зависимости от значения вычисленного выражения, существуют операторы передающие управление при наступлении какого-то заранее заданного в программе события. В отличие от описанных операторов, которые могут управлять вычислительным процессом только в момент их исполнения, операторы передачи управления по событию могут изменить естественный порядок исполнения команд в любой момент и поэтому носят название прерываний. (Поневоле вспоминается известный анекдот о капрале, приказавшем солдату выкопать канаву от столба до обеда.) Такого рода операторы описаны далее в разделе о командах для взаимодействии с внешними по отношению к ОЗУ-ЦП устройствами.

ПРОЦЕДУРНЫЙ ОПЕРАТОР

Это специально выделенный оператор, возникший в результате усовершенствования оператора безусловного перехода к подпрограмме (3.2). В отличие от этого оператора при обращении к процедуре

• указывается не метка, а имя подпрограммы-процедуры name,

• из вызывающей программы подпрограмме могут быть переданы аргументы в соответствии со списком argument! ist