ке их следования в тексте. Но без операторов, передающих управление, никакие алгоритмы, содержащие выбор варианта расчета в зависимости от результатов предыдущих вычислений, не могут быть реализованы.
Если оператор передачи управления использует метку, то в начале той строки текста, в которую передается управление, должно быть записано уникальное имя, называемое меткой, за которым следует двоеточие. (В качестве наследства от родоначальника всех диалектов BASIC возможно использование числовой метки, то есть условного номера в начале строки.)
Необходимость выполнения различных участков текста программы обусловила существование как операторов условной передачи управления, так и операторов безусловной передачи управления. Хотя вместо оператора безусловной передачи управления можно использовать оператор условной передачи управления с заведомо выполняемым условием (например, 1>0). Таким образом количество необходимых для написания любой программы видов операторов может быть сведено до двух!
ОПЕРАТОРЫ БЕЗУСЛОВНОЙ ПЕРЕДАЧИ УПРАВЛЕНИЯ
В QBasic имеется четыре разновидности операторов безусловной передачи управления. Оператор
GOTO line (3.1)
используется для того, чтобы перейти к выполнению строки, в начале которой записана метка line. Пропущенная часть текста может выполнятся посредством передачи ей управления из другой части программы, например, при соблюдении некоторого условия.
Другое использование операторов безусловной передачи управления связано с подпрограммами — многократно выполняемыми участками текста программы. Оператор
GOSUB linel (3.2)
обычно используется для того, чтобы выполнить некоторую часть текста, называемую подпрограммой и обозначенную меткой linel. В конце подпрограммы обязательно должна быть команда, являющаяся еще одной разновидностью оператора безусловного перехода,
RETURN [line2] (3.3).
В случае умолчания метки выполняется возврат управления к выполнению строки, следующей за последней передавшей управление командой GOSUB. При использовании метки line2 после выполнения подпрограммы происходит передача управления по этой метке.
Использование команд SUB и CALL предпочтительнее использования GOSUB.
В составных операторах повторения или подпрограммах часто бывает необходимо прекратить их выполнение. Для этого используется безметочный оператор безусловного перехода:
EXIT (DEF ¦ DO ¦ FOR I FUNCTION) SUB} (3.4).