Guruh: io’M-201 Mavzu: C++ dasturlash tilida while, do while va for takrorlash strukturasi bilan


Download 0.51 Mb.
Pdf ko'rish
bet3/3
Sana05.01.2022
Hajmi0.51 Mb.
#221977
1   2   3
Bog'liq
'M-201 da 13.03.2020y da (1)

#include 

 

int main()

 

{

 

int i = 1;

 

while ( i <= 10 ) 

 

{

 

cout << i << endl;

 

i++;

 

}

 

system ("pause");

 

return 0;

 

}

 

Misol 2: 1+1/2+1/3+…+1/50 yig`indini  hisoblovchi dastur tuzilsin.

 

#include 

 

int main()

 

{

 

float i = 1; // sanagich

 

float s = 0; // yig'indi

 

while ( i <= 50 ) {

 

s += 1 / i;

 

i++;

 

}

 

cout << s << endl;

 

system ("pause");

 

return 0;

 

}

 

Misol 3: Kompyuter o'ylagan sonni topish dasturi

 

#include 

 

#include 

 

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;

 

system ("pause");

 

return 0;

 

}

 

2-Rejaga 

Bir hil hisoblash jarayonlarini bir necha bor takrorlanish jarayonga takrorlanish 

(takrorlanish) deyiladi. Borland C++ Builderdasturlashtirish tilida takrorlanish 

operatorining uch xil turi mavjud.

 

  

1. for takrorlanish operatori 



2. do .. while takrorlanish operatori 

3. while takrorlanish operatori

 

  



Yechilayotgan masalaga qarab, dasturchi o`zi uchun qulay bo`lgan takrorlanish 

operatoridan foydalanishi mumkin.

 

for takrоrlash оpеratоrining sintaksisi quyidagicha:



 

for ()

 

<оpеratоr yoki blоk>;

 

Bu оpеratоr amal qilishni  bajarishdan bоshlaydi. Kеyin takrоrlash qadamlari 



bоshlanadi. Har bir qadamda  bajariladi, agar natija 0 dan farqli yoki rоst 

(true) bo’ lsa, takrorlanish tanasi - <оpеratоr yoki blоk> bajariladi va охirida  

bajariladi, aks hоlda bоshqaruv takrоrlash оpеratоridan kеyingi оpеratоrga o’ tiladi. 

Takrorlanish tanasi – <оpеratоr yoki blоk> sifatida bitta оpеratоr, shu jumladan bo’sh 

оpеratоr, yoki оpеratоrlar blоki kеlishi mumkin.

 

Takrorlanish takrorlanishi davomida bajarilishi lozim bo'lgan operatorlar majmuasi 



takrorlanish tanasi deyiladi. Takrorlanish tanasi sifatida bir yoki bir nechta 

operatordan foydalanish mumkin.

 

Agar takrorlanish tanasida bir nechta operatordan foydalanmoqchi bo`lsak bu 



operatorlarni blok { } orasiga olishimiz kerak.

 

  



Misol 1: 1 dan 10 gacha bo'lgan sonlarni chiqaruvchi dastur:

 

  



Borland C++ Builder da dasturu:

 

  




void __fastcall TForm1::Button1Click(TObject *Sender) 



int i; 

for(i=1; i<=10; i++) 

Memo1->Lines->Add(i); 

}

 

  



NATIJA:

 

  



 

  

Ekranda quyidagicha natija xosil bo'ladi: Quyida for takrorlanish operatori batafsil 



berilgan. 

 

for takrorlanish operatorini umumiy ko'rinishda quyidagicha ifodalash mumkin: 



 

for (o'zgaruvchisining_boshlang'ich_qiymati; takrorlanish_sharti;

 

o'zgaruvchisini_oshirish)



 

takrorlanish _tanas i;

 

o'zgaruvchisini_oshirish o'rnida kamaytirish ham bo'lishi mumkin.



 

Agar takrorlanish tanasida bir nechta operatordan foydalanmoqchi bo`lsa unda 

operatorlarniblok { } (begin va end) orasiga olishimiz kerak.

 

  



Misol 2: 10 dan 1 gacha bo'lgan sonlarni chiqaruvchi dastur:

 

Borland C++ Builder da dasturu:

 

  

void __fastcall TForm1::Button1Click(TObject *Sender) 





int i; 

for(i=10; i>=1; i--) 

Memo1->Lines->Add(i); 

}

 

  




NATIJA:

 

  



 

  

break – funksiyasini har qanday takrorlanish operatoriga qo`llash mumkin. Bu 



funksiya takrorlanish tugatilishini ta’ minlaydi. Ya`ni boshqarilishni takrorlanish 

operatoridan keyingi operatorga uzatadi. 

 

continue – funksiyasini har qanday takrorlanish operatoriga qo`llash mumkin. Bu 



funksiya takrorlanish parametrining keyingi qiymatni qabul qilishini taminlaydi. 

Boshqacha so`z bilan aytganda takrorlanish tanasi tugatiladi. Bunda takrorlanishning 

o`zi tugatilmaydi.

 

  



Misol 3: n natural soni berilgan. Birdan n gacha bo`lgan sonlar yig`indisini 

hisoblovchi dastur tuzilsin

 

  

Borland C++ Builder da dasturu:



 

  

void __fastcall TForm1::Button1Click(TObject *Sender) 





int s,n,i; 

n=StrToFloat(Edit1->Text); 

s=0; 

for (i=1; i<=n; i++) 

s=s+i; 

Label2->Caption=(s); 

}

 

  



NATIJA:

 



  

 

for takrorlanish operatorining boshqa imkoniyatlari for takrorlanish operatorida qavs 



ichidagi ifodalar bo'lmasligi mumkin, lekin ";" bo'lishi shart.

 

Eng sodda doimiy takrorlanuvchi takrorlanish operatori quyidagicha:



 

for ( ; ; )

 

3-Rejaga 

do - while operatorida takrorlanishning  tanasi kamida  bir marta  takrorlanadi.  Shu 

bir marta hisoblash ham yechilayotgan  masalani  mohiyatini  buzib yuborishi 

mumkin.  Bunday hollarda while takrorlanish operatoridan foydalangan maqsadga 

muvofiq. 

 

while operatorining umumiy ko'rinishi:



 

while ( shart ) { 

 

takrorlanish_tanasi;

 

}

 

takrorlanish_tanasi ixtiyoriy operator yoki operatorlar majmuidan  iborat bo'lishi 



mumkin.

 

while  takrorlanish operatorning ishlash tartibi:



 

Agar (shart) rost ( true ) qiymatga  ega bo`lsa, takrorlanish_tanasi bajariladi. Agar 

(shart) yolg`on (false) qiymatga teng bo`lsa takrorlanish tugatiladi.

 

Agar ( shart ) true qiymatga  ega bo`lmasa takrorlanish  tanasi biror marta ham 



bajarilmaydi.

 

while takrorlanish operatoridan, qachon (shart) false (yolg'on) qiymat qabul qilsa 



chiqiladi.

 

Ya'ni boshqarilish while operatoridan keyingi operatorga uzatiladi. Agar (shart) false 



qiymat qabul qilmasa, while takrorlanish operatoridan chiqib ketilmaydi va bu jarayon 

takrorlanishlanib  qolish deyiladi. 

 

Dasturlash san'ati. do  -  while va while takrorlanish operatorlarida takrorlanish tanasi 



sifatida faqat bitta operator ishlatiladiga bo'lsa, bu operatorni blok orasiga { } 

olmasdan ham yozish mumkin. Lekin professional dasturchilar har qanay xolda 

takrorlanish tanasini blokka { } olib yozishni tavsiya qilishadi. Bu esa sodir bo'lishi 

mumkin bo'lgan mantiqiy xatoliklarni  oldini oladi.

 

Misol 1: 1 dan 10 gacha bo'lgan sonlarni  chiqaruvchi  dastur tuzilsin.

 



#include 

 

int main()

 

{

 

int i = 1;

 

while ( i <= 10 ) 

 

{

 

cout << i << endl;

 

i++;

 

}

 

system ("pause");

 

return 0;

 

}

 

Misol 2: 1+1/2+1/3+…+1/50 yig`indini  hisoblovchi dastur tuzilsin.

 

#include 

 

int main()

 

{

 

float i = 1; // sanagich

 

float s = 0; // yig'indi

 

while ( i <= 50 ) {

 

s += 1 / i;

 

i++;

 

}

 

cout << s << endl;

 

system ("pause");

 

return 0;

 

}

 

Misol 3: Kompyuter o'ylagan sonni topish dasturi

 

#include 

 

#include 

 

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;

 

system ("pause");

 

return 0;

 

}



 


 


 

 

Download 0.51 Mb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling