DO-WHILE OPERATORI Do-While operatori umumiy ko’rinishi quyidagicha: do Operator While(ifoda) Sikl operatorining bu ko’rinishida avval operator bajariladi so’ngra ifoda hisoblanadi. Agar uning qiymati 0 dan farqli bo’lsa operator yana bajariladi va hokazo. To ifoda qiymati 0 bo’lmaguncha sikl qaytariladi.
Misol. Berilgan n gacha sonlar yigindisi.
Void main()
{
long n,i=1,s=0;
cin >>n;
do
s+=i++;
while (i<= n );
Cout<<”\n s=”<< s;
};
Bu dasturning kamchiligi shundan iboratki, agar n qiymati 0 ga teng yoki manfiy bo’lsa ham, sikl tanasi bir marta bajariladi va s qiymati birga teng bo’ladi.
1 dan 10 gacha bo'lgan sonlarni chiqaruvchi dastur tuzilsin.
#include using namespace std;
int main()
{
int i = 1;
do {
cout << i << endl;
i++;
} while ( i <= 10);
return 0; }
Misol. Quyidagi yig`indini hisoblovchi dastur tuzilsin.
Bu dastur parametrli sikl operatoridan foydalangan holda oldingi darsda tuzilgan edi. Endi do - while sikl operatori orqali dastur tuzamiz va sikl operatorlarini farqini ko`rib olamiz.
#include using namespace std;
int main()
{
float i = 1; // i - sikl uchun
float s = 0; // s - yig'indi
do {
s += 1 / i;
i++;
} while ( i <= 50);
cout << "yig`indi = " << s << endl;
return 0;
}
NATIJA:
WHILE OPERATORI While operatori quyidagi umumiy ko’rinishga egadir:
While(ifoda) Operator
Bu operator bajarilganda avval ifoda hisoblanadi. Agar uning qiymati 0 dan farqli bo’lsa operator bajariladi va ifoda qayta hisoblanadi. To ifoda qiymati 0 bo’lmaguncha sikl qaytariladi.
Agar dasturda while (1); satr qo’yilsa bu dastur hech qachon tugamaydi.
1 dan 10 gacha bo'lgan sonlarni chiqaruvchi dastur tuzilsin.
#include using namespace std;
int main()
{
int i = 1;
while ( i <= 10 ) {
cout << i << endl;
i++;
}
return 0; }
Misol. Quyidagi yig`indini hisoblovchi dastur tuzilsin.
#include using namespace std;
int main()
{
float i = 1; // sanagich
float s = 0; // yig'indi
while ( i <= 50 ) {
s += 1 / i;
i++;
}
cout << s << endl;
return 0; }
Kompyuter o'ylagan sonni topish dasturi #include #include using namespace std;
int main()
{
int x, y = 0, u = 0;
srand(time(NULL));
x = rand() % 1000 + 1;
cout << "Kompyuter o'ylagan sonni toping" << endl;
while (x != y)
{
cin >> y;
u++;
if (x > y) cout << "Kompyuter o'ylagan son katta" << endl;
else if (x < y) cout << "Kompyuter o'ylagan son kichik" << endl;
}
cout << "Qoyil topdingiz!!!" << endl;
cout << "Urinishlar soni=" << u << endl;
return 0;
}