6-ma’ruza. Takrorlanuvchi jarayonlar va ularni dasturlash. Parametr bo’yicha takrorlash operatorlari. Shart oldi takrorlanuvchi jarayonlarni dasturlash. Shart so’ng takrorlanuvchi jarayonlarni dasturlash. Reja


Parametr bo’yicha takrorlash operatori. for sikli


Download 55.13 Kb.
bet2/5
Sana18.06.2023
Hajmi55.13 Kb.
#1577945
1   2   3   4   5
Bog'liq
6-ma\'ruza

Parametr bo’yicha takrorlash operatori. for sikli

Vaziyat ko'pincha dasturlardan takroriy vazifalarni bajarishni talab qiladi, masalan, qator elementlarini birma-bir qo'shish yoki 20 martalik maqtovni chop etish. For sikli bu kabi vazifalarni bajarishni osonlashtiradi.


Quyidagi dasturdagi siklni ko'rib chiqamiz, va keyin qanday ishlashini ko'rib chiqamiz.

#include


int main()
{
using namespace std;
int i; //hisoblagich yaratish
for (i = 0; i < 5; i++ )
cout << "Bu matn takrorlanadi \n";
cout << "Takrorlanish to’xtaydi.\n";
return 0;
}

Ushbu takrorlanish i o'zgaruvchisiga 0 berish bilan boshlanadi:


i = 0;

Bu siklni boshlashning bir qismidir. So'ngra, siklni tekshirish qismida dastur i 5 dan kamligini tekshiradi:


i <5;
Agar shunday bo'lsa, dastur quyidagi buyruqni bajaradi, u sikl tanasi deb nomlanadi:
cout << "Bu matn takrorlanadi\ n";
Shundan so'ng, dastur siklning yangilanish qismini faollashtiradi va uni 1 ga oshiradi:
i++
Siklning yangilanish qismida ++ amalidan foydalaniladi, bu o'sish jarayoni deyiladi. U o'z operandining qiymatini 1 ga oshiradi.
Keyin sikl yangi o'tishni boshlaydi, i ning yangi qiymatini 5 bilan taqqoslaydi. Yangi qiymat (1) ham 5 dan kam bo'lganligi sababli, sikl yana bir qatorni bosib chiqaradi va yana i ni oshirish bilan tugaydi. Bu yangi sikldan o'tishni tayyorlaydi - tekshiruv, bayonotni bajarish va i qiymatini yangilash. Jarayon, 5 qiymatini olguncha davom etadi. Shundan so'ng, keyingi tekshiruv yolg’on natijani beradi va dastur sikldan keyingi bayonotga o'tadi.
for siklining qismlari. for sikli - takrorlanadigan harakatlar orqali o'tish vositasi. Uning qanday ishlashini batafsil ko'rib chiqamiz. Odatda for siklining qismlari quyidagi amallarni bajaradi.
1. Dastlabki qiymatni belgilash.
2. Siklni davom ettirish shartini tekshirish.
3. Sikl harakatlarini bajarish.
4. Sinov sharoitida ishlatilgan qiymatlarni baholash.
C++ siklining tuzilishida ushbu elementlar shunday joylashtirilganki, ular bir qarashda olinishi mumkin. Initsializatsiya, tasdiqlash va yangilash - bu qavs ichiga kiritilgan boshqaruv qismining uch qismi. Har bir qism boshqa qismlardan vergul bilan ajratilgan ifoda. Boshqaruv qismidan keyingi bayonot siklning tanasi deb nomlanadi va u sinov sharti rost bo'lgan taqdirda bajariladi:

for (initsializatsiya; tekshiriluvchi ifoda; ifodani yangilash)


tana

C ++ sintaksisida to'liq for operatori bitta bayonot deb hisoblanadi, garchi u o'z tanasida bir yoki bir nechta boshqa bayonotlarni qabul qilsa ham. (Agar siklning tanasida bir nechta bayonotlar mavjud bo'lsa, ular quyida tasvirlanganidek, blokga joylashtirilishi kerak.)


Sikl faqat bir marta initsializatsiyani amalga oshiradi. Odatda, dasturlar ushbu ifoda yordamida o'zgaruvchini ba'zi bir boshlang'ich qiymatni o'rnatadi va keyin bu o'zgaruvchini sikl hisoblagichi sifatida ishlatadi.
Tekshiriluvchi ifoda siklning tanasi bajarilishi kerakligini aniqlaydi. Odatda bu ifoda taqqoslash ifodasidir, ya'ni ikkita qiymatni taqqoslaydigan ifoda. Bizning misolimizda i va 5 qiymatlari taqqoslanadi, agar tekshiruv muvaffaqiyatli bo'lsa (test ifodasi rost bo'lsa), dastur sikl tanasini bajaradi. Aslida, C++ da tekshiruv ifodalari faqat rost yoki yolg’on natijalarni taqqoslash bilan chegaralanmaydi. Bu yerda har qanday ifodadan foydalanish mumkin va C++ uni bool tipiga o'tkazadi. Shunday qilib, 0 ni qaytaradigan ifoda mantiqiy yolg'onga aylantiriladi va sikl tugaydi. Agar ifoda nolga teng bo'lsa, u mantiqiy qiymatga to'g'ri keladi va sikl davom etadi. Ifodani yangilash sikl oxirida, sikl tanasi bajarilgandan so'ng baholanadi. Odatda sikldagi qadamlar sonini boshqaruvchi o'zgaruvchining qiymatini oshirish yoki kamaytirish uchun ishlatiladi. Biroq, bu boshqa barcha boshqaruv ifodalari kabi har qanday amaldagi C++ ifodasi bo'lishi mumkin. Bu for sikliga birinchi misolda bo'lgani kabi, 0 dan 5 gacha hisoblashdan ko'ra ko'proq moslashuvchanlikni beradi. 1-rasmda for siklining blok diagrammasini ko'rsatadi.



Download 55.13 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




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