Управляющие конструкции
Условие
если (х больше 10)
вывести("Больше десяти");
иначе если (х больше 0)
вывести("Положительное");
иначе
вывести("Ноль или отрицательное");
конец
Цикл с условием
целое счётчик = 0;
пока (счётчик меньше 5)
вывести(целое_в_текст(счётчик));
счётчик = счётчик + 1;
конец
Цикл по коллекции
целое(3) числа = массив(1, 2, 3);
для каждого элемент в числа
вывести(целое_в_текст(элемент));
конец
Работает и с Список из T — тип переменной цикла выводится автоматически
из типа элемента списка:
Список из целых числа = Список из целых();
числа.добавить(1);
числа.добавить(2);
для каждого элемент в числа
вывести(целое_в_текст(элемент));
конец
Досрочный выход и переход к следующей итерации
прервать; — немедленно выходит из ближайшего охватывающего цикла
(пока или для каждого). продолжить; — пропускает остаток тела
текущей итерации и переходит к следующей (для для каждого — к
следующему элементу).
целое i = 0;
пока (i меньше 100)
i = i + 1;
если (i % 2 == 0)
продолжить; // пропустить чётные
конец
если (i больше 10)
прервать; // остановиться после 10
конец
вывести(целое_в_текст(i));
конец
Оба ключевых слова действуют только на САМЫЙ БЛИЖНИЙ охватывающий
цикл — во вложенных циклах прервать не выходит из внешнего, только
из внутреннего. Использование вне цикла — ошибка компиляции.
⚠️ Честное ограничение: тело параллельно ... конец компилируется в
отдельную функцию (см. раздел «Многопоточность») — прервать/
продолжить внутри него могут относиться только к циклу, объявленному
НЕПОСРЕДСТВЕННО внутри того же блока параллельно, не к циклу снаружи
него.