Takrorlanuvchi jarayonlarni dasturlash.
Takrorlanuvchi jarayonlarni dasturlash. Reja: 1. Takrorlanuvchi jarayonlarni dasturlash 2. Parametr bo‘yicha sikl operatori. Ichma ich sikllarni tashkil qilish 3. C++ tilida shartsiz o‘tish operatori va uning ishlash prinsipi
Sikl (takrorlanish) - bu ko'rsatmalar to'plamining takroriy bajarilishini tashkil qilish uchun mo'ljallangan yuqori darajadagi dasturlash tillaridagi boshqaruv strukturasining bir turi. Shuningdek, siklni bir necha bor bajarilgan, har qanday usulda tashkil qilingan (masalan, shartli o’tish yordamida) har qanday ketma-ketlik deb atash mumkin. Qayta bajarilishi uchun mo'ljallangan ko'rsatmalar ketma-ketligi sikl tanasi deb ataladi. Sikl tanasining bitta bajarilishi takrorlash deyiladi. Takrorlashning yana bajarilishini yoki siklning tugashini aniqlaydigan ifoda chiqish sharti yoki siklni tugatish sharti (yoki davomiylik sharti, uning haqiqiyligi qanday talqin qilinishiga qarab - siklni to'xtatish yoki davom ettirish zarurati belgisi sifatida) deb nomlanadi. Joriy takrorlash raqamini saqlaydigan o'zgaruvchiga sikl takrorlash hisoblagichi yoki oddiygina sikl hisoblagichi deyiladi. Siklda hisoblagich bo'lishi shart emas, hisoblagich bitta bo'lishi shart emas - sikldan chiqish sharti sikldagi o'zgargan bir nechta o'zgaruvchiga bog'liq bo'lishi mumkin yoki uni tashqi sharoitlar bilan aniqlash mumkin (masalan, ma'lum bir vaqt boshlanishi), ikkinchi holda hisoblagich umuman kerak bo'lmasligi mumkin. Har qanday siklning bajarilishi sikl o'zgaruvchilarining dastlabki initsializatsiyasini, chiqish holatini tekshirishni, sikl tanasini bajarilishini va har bir takrorlashda sikl o'zgaruvchisini yangilashni o'z ichiga oladi. Bundan tashqari, aksariyat dasturlash tillarida siklni erta boshqarish uchun vositalar mavjud, masalan, siklni tugatish bayonotlari, ya'ni chiqish sharti (C++ da break ) va iteratsiyani o'tkazib yuborish bayonotlari (C da continue ) haqiqatidan qat'i nazar sikldan chiqishga imkon beradi. Kompyuterlar ma'lumotlarni saqlashdan tashqari ko'proq narsani amalga oshirishi mumkin. Ular ma'lumotlarni tahlil qiladi, birlashtiradi, buyurtma qiladi, ajratadi, o'zgartiradi, ekstrapolyatsiya qiladi, sintez qiladi va boshqa manipulyatsiyalarni amalga oshiradi. Ba'zan ular ma'lumotlarni buzadi va
yo'q qiladi, ammo biz ularning xatti-harakatlarini boshqarishga harakat qilamiz. Ushbu mo''jizalarni bajarish uchun dasturlarda takrorlanadigan amallarni bajarish va qaror qabul qilish vositalari zarur. Albatta, C++ bunday vositalarni taqdim etadi. Darhaqiqat, u C da for, while, do while va if so'zlarini ishlatiladi. Ushbu har xil boshqaruv bayonotlari dasturning to'g'ri ishlashini ta'minlash uchun ko'pincha taqqoslash iboralari va mantiqiy ifodalardan foydalanadi. Ushbu mavzuda sikllar qanday tashkil qilinishini ko'rib chiqamiz. 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 <iostream> 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