[CALL] name [ < [argumentlist]) ] (3.7).

В основной программе подпрограмма-процедура должна быть объявлена командой DECLARE (среда QBasic создает ее автоматически при вводе текста подпрограммы). По умолчанию CALL список аргументов не заключается в скобки. Имена или значения данных в списке аргументов разделяются запятыми. Для того, чтобы значение аргумента не могло быть изменено процедурой, его имя в списке должно быть заключено в скобки. При использовании массива в качестве аргумента за его именем должна следовать пустая пара скобок ().

При программировании часто использовались определенного вида конструкции из операторов условного и безусловного перехода. От таких конструкций ведут свое происхождение используемые при структурном безметочном программировании

СОСТАВНЫЕ ОПЕРАТОРЫ

УСЛОВНЫЙ ОПЕРАТОР

позволяет выполнять различные участки текста в зависимости от некоторых условий, не используя метки. Он существует в двух формах:

Однострочная форма

XF condition THEN statements [ELSE statements] (3.8)

и многострочная форма

IF conditioni THEN (3.9)

[statementblock-l]

[ELSEIF condition2 THEN

[statementblock-2]]... [ELSE

[statementblock-n]]

END IF

Где: condition conditioni . condition2 — любое выражение логического или числового типа, которое может иметь значение истина или ЛОЖЬ, statementblock-l statenientblock-2...statementblock-n— блок операторов и statements — один или более операторов разделенных двоеточиями.

В однострочной форме при истинности выражения выполняется блок операторов, следующий за THEN, в противном случае — за ELSE. В однострочном варианте блок операторов может быть пустым, содержать один оператор или несколько операторов, разделенных двоеточиями. Умолчание блока с ELSE означает, что в случае невыполнения условия оператор IF не делает ничего.

В многострочной форме выражение и блок операторов имеют тот же смысл, но операторы в блоке могут быть записаны и в следующих одна за другой строках. В отличие от однострочной формы здесь в случае ложности первого условия проверяется еще одного условие, заданное выражением после ELSEIF. При истинности первого условия выполняется блок