Оператор перехода

Материал из K3-Macro

Оператор перехода имеет следующий вид:

goto <Label>

Оператор перехода указывает, что далее должен выполняться оператор, помеченный указанной в операторе перехода меткой <Label>. Метка представляет собой комбинацию символов, оканчивающуюся двоеточием.

Пример:

if (close==1) { goto met; }
i=i+1;
if (i>8) { goto met; }
prev[1]=curr[1]; prev[2]=curr[2]; prev[3]=curr[3];
curr[1]=next[1]; curr[2]=next[2]; curr[3]=next[3];
goto add1;
met:
zoom viewall all;

К сожалению, в макроязыке K3 отсутствуют специальные операторы организации циклов. Циклы в K3 организуются с помощью комбинаций вида:

 i=0;
 loop:
 i=i+1;
 . . .
 if (i<10)
 {
   goto loop;
 }

В целом же, злоупотреблять оператором перехода не рекомендуется. Следует помнить, что у каждой базовой конструкции языка (последовательное исполнение, ветвление и цикл) должен быть только один вход и только один выход.


Макро | Переменные и выражения | Присваивание значений переменной | Оператор условный | Оператор перехода | Оператор вызова подпрограммы | Оператор выхода в вызывающую макропрограмму | Оператор выхода в интерактивный режим | Оператор вызова макропрограммы | Оператор получения параметров в макропрограмме | Обработка ошибок | Команды системы