|
#include <iostream>
using
namespace
std;
int
main()
{
int
i = 1;
int
s = 0;
while
(i <= 5)
{
cout <<
"Dodavam
"
<< i <<
"."
<< endl;
s = s + i;
i++;
//zgolemi go i
}
//1+2+3+4+5 = 15
cout <<
"Zbir: "
<<
s << endl;
//pechati 'Zbir: 15'
return
0;
} |
На почеток, променливите i и s ги добиваат вредностите 1 и 0, соодветно. Потоа, бидејќи условот (1<=5) е задоволен, ќе се извршат неколкуте наредби дадени во блокот на while циклусот (ќе се отпечати "Dodavam 1.", вредноста на s ќе се зголеми за вредноста i=1 и, потоа, ќе се зголеми вредноста на i). Сега, наместо да заврши извршувањето на овие наредби и програмата да продолжи понатаму, повторно се врши проверка на while условот. Бидејќи тој (2<=5) е задоволен, програмата повторно ги извршува наредбите од while блокот (печати "Dodavam 2.", го зголемува s за вредноста i=2 и ја зголемува вредноста на i). Блокот од наредби ќе се изврши уште три пати (за i=3, i=4 и i=5), по што условот (6<=5) нема да биде задоволен (6<=5 има вредност false) и циклусот ќе заврши. На крај, програмата ја печати вредноста на променливата s - која претставува збир на првите 5 природни броеви 1+2+3+4+5=15.
Доколку уште при првата проверка условот uslov има вредност false, наредбите нема да бидат извршени ниту еднаш. На пример, во програмата дадена погоре, доколку на почетокот променливата i добиеше вредност 10, со што условот (10<=5) во while циклусот не би бил задоволен ниту еднаш, програмата немаше да ги изврши наредбите од while блокот и ќе отпечатеше "Zbir: 0".
Никогаш не заборавајте, во while блокот, да ја ажурирате променливата/променливите која е дел од while условот. Во спротивно, програмата постојано ќе извршува едни исти наредби и никогаш нема да заврши. Ваша обврска е да предизвикате, во одреден момент, неисполнување на while условот. Во програмата дадена погоре, тоа се прави преку зголемување на вредноста на променливата i. Бидејќи i е вклучена во условот uslov (i<=5), во одреден момент (кога i ќе добие вредност поголема од 5), циклусот ќе заврши со извршување.
Следнава програма демонстрира некои од работите кои ги дискутиравме погоре:
#include <iostream>
using
namespace
std;
int
main()
{
int
z = 10;
while
(z < 5)
{
cout <<
"Ova
nema nikogash da se izvrshi."
<< endl;
}
z = 6;
while
(z >= 1)
{
cout << z
<<
", " ;
z--;
}
cout <<
"KRAJ NA NATPREVAROT."
<< endl;
//izlez: 6, 5, 4, 3, 2,
1, KRAJ NA NATPREVAROT.
z = 100;
while
(z < 1000)
{
//bidejki 'z' ne go azurirame nikade, uslovot
//(z < 1000) kje bide sekogash zadovolen
//naredbite kje se izvrshuvaat se dodeka
ne ja ubieme
//programata - na primer, so pomosh na
//alatkite koi gi nudi Operativniot
Sistem
cout << z << endl;
}
return
0;
} |