While циклус је сложена наредба која представља петљу са ПРЕДУСЛОВОМ. Код while петље имамо услов на почетку петље који проверавамо да ли је испуњен.
*** Пример из свакодневног живота којим можемо илустровати while петљу: Кафићима који се налазе у стамбеним зградама дозвољено је пуштање музике докле год није 1 сат после поноћи.
Синтакса наредбе while је следећа:
while (uslov)
{
naredba (ili grupa naredbi);
}
Напомена: For петља еквивалентна је следећој while петљи |
izraz1;
while (izraz2)
{
naredba (ili grupa naredbi);
izraz3;
}
Све наредбе које се налазе између знакова { и } називају се тело петље.
Наредба у телу петље може бити проста или сложена. While петља се ивршава на следећи начин:
While петљу можемо представити и блок дијаграмом. (Слика 8.5)
Слика 8.5. Приказ while петље |
*** Пример из свакодневног живота:
Сада ћемо видети како ради while петља на примеру са музиком и кафићем.
Часовник откуцава, тј. имамо време и сваки пут када уђемо у петљу проверимо да ли је време које је тренутно на часовнику мање од једног сата после поноћи.
Уколико је услов испуњен, музику смемо да наставимо да пуштамо. Онда опет после одређеног времена (нпр. после пола сата) проверимо да ли је услов испуњен и уколико јесте музика и даље остаје укључена.
Међутим, уколико услов више није испуњен, односно уколико време прелази границу од једног сата после поноћи, тада се наша петља завршава и обуставља се пуштање музике у кафићу.
Пример 1. Написати програм који притиском на командно дугме ODREDI узима природан број n који је корисник унео, израчунава збир првих n природних бројева и исписује резултат на екрану.
Решење:
|
|||
Слика 8.6. Изглед форме у Примеру 1 |
int n = int.Parse(textBox1.Text);
int zbir = 0;
if (n < 0)
{
MessageBox.Show("Unesite prirodan broj n!");
textBox1.Text = "";
}
while (n > 0)
{
label2.Text = "Zbir prvih " + n + " prirodnih brojeva je ";
//Na prthodnu vrednost promenljive zbir
//Dodajemo tekucu vrednost broja n koji smo uneli.
zbir = zbir + n;
//Umanjimo broj n za 1.
n--;
}
label2.Text = label2.Text + zbir;
Слика 8.7. Изглед форме у Примеру 1 ако је унос исправан | Слика 8.8. Изглед форме у Примеру 1 ако унос није исправан |