Skip to main content

Цыкл While

Уводзіны

У гэтым раздзеле тлумачыцца сінтаксіс і спосабы выкарыстання цыкла while, які з'яўляецца адным з канструкцый кіравання ў Wave. Цыкл while паўтарае блок кода, пакуль умова застаецца праўдзівай (true). Як толькі ўмова становіцца няпраўдзівай (false), паўтарэнне заканчваецца.

Асноўная структура

Асноўная структура цыкла while у Wave наступная:

while (умова) {
// код для выканання ў цыкле
}
  • Умова: павінна быць вылічана як тып bool.

  • Блок кода павінен быць абгорнуты ў фігурныя дужкі {}, і можа ўключаць некалькі каманд.

Напрыклад:

var i :i32 = 0;

while (i < 5) {
println("i роўна {}", i);
i = i + 1;
}

Гэты код выводзіць значэнне i, пакуль яно меншае за 5, і павялічвае i на 1 на кожным кроку.

Прыклад

Ніжэй прыведзены некалькі простых прыкладаў цыкла while:

Прыклад 1: Вывесці лікі ад 1 да 10

var n :i32 = 1;

while (n <= 10) {
println("{}", n);
n = n + 1;
}

Прыклад 2: Завяршыць цыкл па ўводзе карыстальніка

var input :str;

while (true) {
input = input("Для працягвання націсніце любую клавішу (каб выйсці, увядзіце 'exit'): ");

if (input == "exit") {
break;
}

println("Уведзенае значэнне: {}", input);
}

Укладзенасць

Wave падтрымлівае ўкладзеныя цыклы while, калі адзін цыкл знаходзіцца ўнутры іншага. Гэта дазваляе ствараць многавымерныя цыклы або складаную логіку ўмоў.

Напрыклад:

var i :i32 = 0;

while (i < 3) {
var j: int = 0;

while (j < 2) {
println("i={}, j={}", i, j);
j = j + 1;
}

i = i + 1;
}

Гэты код выводзіць камбінацыі значэнняў i і j, дзе i прымае значэнні ад 0 да 2, а для кожнага значэння i j прымае значэнні 0 і 1.