|
Dasturlash asoslari
|
bet | 11/13 | Sana | 17.02.2024 | Hajmi | 55,94 Kb. | | #158194 |
Bog'liq Dasturlash tillari va ularning afzalliklari. Reja-fayllar.org#include
int main(){
int Summa=0;
for (int i=1; i<=20; i++)
Summa+=i;
cout<<’’yig’indi=’’ <
return 0;
}
Dasturdagi takrorlash operatori o‘z ishini, i takrorlash parametriga (takrorlash sanagichiga) boshlang‘ich qiymat – 1 sonini berishdan boshlaydi va har bir takrorlash qadamidan (itaratsiyadan) keyin uning qiymati bittaga oshadi. Har bir takrorlash qadamida takrorlash tanasidagi operator bajariladi, ya’ni summa o‘zgaruvchisiga i ning qiymati qo‘shiladi. Takrorlash sanagichi i ning qiymati 21 bo‘lganda “i<=20” takrorlash sharti (0-qiymati) bo’ladi va takrorlash tugaydi. Natijada boshqaruv takrorlash operatoridan keyingi operatorga o‘tadi va ekranga yig’indi chop etiladi.
Yuqorida keltirilgan misolga qarab takrorlash operatorlarining qavs ichidagi ifodalariga izoh berish mumkin:
- takrorlash sanagichi vazifasini bajaruvchi o‘zgaruvchisiga boshlang’ich qiymat berishga xizmat qiladi va u takrorlash jarayoni boshida faqat bir marta hisoblanadi. Ifodada o‘zgaruvchi e’loni uchrash mumkin va bu o‘zgaruvchi takrorlash operatori tanasida amal qiladi va takrorlash operatoridan tashqarida «ko‘rinmaydi» (C++ Builder kopiilyatori uchun); ifoda> - takrorlashni bajarish yoki yo‘qligini aniqlab beruvchi mantiqiy ifoda, agar shart rost bo‘lsa, takrorlash davom etadi, aks holda yo‘q. Agar bu ifoda bo‘sh bo‘lsa, shart doimo rost deb hisoblanadi;
- odatda takrorlash sanagichning qiymatini oshirish (kamaytirish) uchun xizmat qiladi yoki unda takrorlash shartiga ta’sir boshqa amallar bo‘lishi mumkin.
Takrorlash operatorida qavs ichidagi ifodalar bo‘lmasligi mumkin, lekin sintsksis: ‘;’ bo‘lmasligiga ruxsat bermaydi. Shu sababli sodda ko‘rinishdagi takrorlash operatori quyidagicha bo’ladi: for(;;) cout <<”Cheksiz takrorlash…’’;
While takrorlash operatori: While takrorlash operatori, operator yoki blokni takrorlash sharti yolg’on (false yoki 0) bo‘lguncha takror bajaradi.
While sikl operatori takrorlanishlar soni oldindan aniq bo‘lmagan hollarda takrorlanishni biror-bir shart asosida bajaradi. Berilgan shart oldin tekshiriladi va keyin shartning rost yoki yolg‘onligiga qarab kerakli operatorlar ketma-ketligi bajariladi. Bu operatorning C++ tilidagi sintaksisini keltiramiz:
while () ;
Agar rost qiymatli o‘zgarmas ifoda bo‘lsa, takrorlash cheksiz bo’ladi. Xuddi shunday, takrorlash boshlanishida rost bo’lib, uning qiymatiga takrorlash tanasidagi hisoblash ta’sir etmasa, ya’ni uning qiymati o‘zgarmasa, takrorlash cheksiz bo’ladi.
While takrorlash shartini oldindan tekshiruvchi takrorlash operatori hisoblanadi. Agar takrorlash boshida yolg‘on bo‘lsa, while operatori tarkibidagi qismi bajarilmasdan chetlab o’tiladi.
Ayrim hollarda qiymat berish operatori ko‘rinishida kelishi mumkin. Bunda qiymat berish amali bajariladi va natija 0 solishtiriladi. Natija noldan farqli bo‘lsa, takrorlash davom ettiriladi. Agar rost ifodaning qiymati noldan farqli o‘zgarmas bo‘lsa, cheksiz takrorlash ro‘y beradi. Masalan: While(1); // cheksiz takrorlash.
Sharti keyin tekshiriladigan sikl operatori: Sharti keyin tekshiriladigan sikl operatori ham takrorlanishlar soni oldindan aniq bo‘lmagan hollarda takrorlanishni biror-bir shart asosida bajaradi. Oldin sikl tanasidagi operatorlar ketma-ketligi bajariladi. Berilgan shart keyin tekshiriladi.
C++ tilida sharti keyin tekshiriladigan operator sifatida do-while operatori ishlatiladi. Do-while takrorlash operatori quyidagi sintaksisga ega:
do ; while ();
#include
int main()
{ char javob;
do{
… // sikl tanasi
cout<<’’ jarayonni to’xtashish(N):_’’;
cin>>javob; }
while(javob !=”N”)
return 0; }
|
| |