1 – misol. Doira yuzini topish uchun bir misol keltiramiz. Radius nol deb kiritilgan holda dastur to`tatilishi kerak. Quyidagi dastur while konstruksiyasining ishlatilishini izohlab beradi:
1-dastur //Calculate the area of the circle until radius entered is zero
#include< iostream.h >
#include #include < math.h > //for pow( ) function
#define PI 3.141 59
void main( )
{
float radius,area;
clrscr( );
cout<<"Enter the radius(to terminate enter 0): ";
cin >>radius; 57 while(radius) //the radius is non-zero
{
if(radius > 0.0)
{
area = PI*pow(radius, 2);
cout<< "\nArea is: " <}
Else cout << "\nArea is not possible\nn;
getch( 1; //freeze the monitor
clrscr( );
cout << "Enter the radius(to terminate enter 0): ";
cin >> radius; //update the loop control variable inside loop
}
}
Output Enter the radius (to terminate enter 0): 5
Area is: 78.539749 sq. units
Enter the radius (to terminate enter 0): 0
Birinchin ta natural sonlarni va ularning yig`indisini chop qilish uchun dastur quyida berilgan:
//Print first n natural numbers and their sum using while loop
#include< iostream.h >
#include void main( )
{
int n,i = 1,sum = 0;
clrscr( );
cout <<"Enter the value of n: ";
cin >> n;
cout << "\nFirst " << n << " natural numbers are: \n\nN;
while(i < = n)
{
cout<sum + = i;
i+ +;
}
cout << "\n\nSum = " <}
Output Enter the value of n: 10
First 10 natural numbers are:
I2345678910
Sum = 55
3-misol. Quyidagi dasturda:
(i)While sikli necha marta bajariladi?
(ii) Aks ettirilgan A ning oxirgi qiymati nima bo`ladi?
#include< iostream.h >
void main( )
{
int A=10;
while(+ +A< 15)
{
cout<}
}
Yechim.(i)While sikli ikki marta amalga oshiriladi.
(ii) Aks ettirilgan A ning oxirgi qiymati 13 bo`ladi.58 while оператори орқали циклларни ташкил этиш. while оператори ёрдамида циклларни ташкил этишда операциялар кетма-кетлиги циклнинг давом этиш шарти «тўғри» бўлсагина унинг навбатдаги операциялари амалга оширилади.
9.1. – листинг. whileоператори ёрдамида циклни ташкил этиш include int main()
{
int counter=0; //Бирламчикийматни ўзлаштириш
while(counter<5)//Циклшартинитекшириш
{
counter ++;
cout << “counter :’’ << counter << “. \n” ;
}
cout<<“Tsikl tugadi.Counter:”<return 0;
НАТИЖА:
counter : 1
counter : 2
counter : 3
counter : 4
counter : 5
Tsikl tugadi.Counter: 5.
whileоператори орқали мураккаб конструкцияларни тузиш . while оператори шартида мураккаб мантиқий ифодаларни ҳам қўллаш мумкин. Бундай ифодаларни қўллашда && (мантиқий кўпай-тириш), || (мантиқий қўшиш), ҳамда !(мантиқий ИНКОР) каби опера-циялардан фойдаланилади. 9.2-листингда while оператори конс-трукциясида мураккаброқ шартларни қўйилишига мисол келтирилган.
9.2-листинг. whileконструкциясидаги мураккаб шартлар. include int main()
{
unsigned short kichik;
unsigned long katta;
const unsigned short MaxKichik=65535;
cout << “Kichik sonni kiriting:”;
cin >> kichik;
cout << “Katta sonni kiriting:”;
cin >> katta;
cout << “kichik son:” << kichik << “…”;
//Xар бир итерацияда учта шарт текширилади.
while (kichik0 &&
kichik< MaxKichik )
{
if(kichik%5000==0) //Xар 5000 сатрдан
//кейиннуктачикарилади
cout<<“.” ;
kichik++;
katta-=2 ;
}
cout<<“\n kichik son:”<<return 0 ;
}
НАТИЖА:
Kichik sonni kirit : 2
Katta sonni kirit : 100000
Kichik son : 2 ………
Kichik son :33335 katta son : 33334