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


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

Sikl yordamida to’xtatib turish. Ba'zan dasturning bajarilishini bir muddat to'xtatib turish kerak bo'ladi. Masalan, dastur ekranda tezkor xabarni ko'rsatishi va uni o'qish uchun vaqt topmasdan darhol boshqa ish bilan shug'ullanishi mumkin. Bunday holda, hayotiy muhim ma'lumotlarni e'tiborsiz qoldirib ketish xavfi mavjud. Agar bu holda dasturlar davom etishdan oldin 5 soniya to'xtab qolsa, bu juda ham qulayroq bo'ladi. Ushbu effektni yaratish uchun while sikli judayam qulay hisoblanadi.
Shaxsiy kompyuterlar mavjud bo'lgan qadimgi davrlardan boshlab oddiy hisoblagichni ishga tushirishdan iborat bo'lgan dasturning bajarilishini to'xtatib turish usuli ishlatilgan:
Long wait = 0;

While (wait < 10000)


wait++;

Ushbu yondashuvdagi muammo shundaki, boshqa protsessor tezligi bo'lgan kompyuterga o'tishda siz hisoblagich chegarasini o'zgartirishingiz kerak edi. Masalan, haqiqiy IBM PC uchun yozilgan ba'zi o'yinlar yuqori ishlaydigan kompyuterlarga ko'chirilganda nazoratsiz tezlashib ketadi.


Hozirgi kunda kompilyator hatto kutishni 1000 ga o'rnatish va umuman sikldan o'tish yetarli degan xulosaga kelishi mumkin. Kechikishni tashkil qilish uchun tizim soatlaridan foydalanish yanada to'g'ri yondashuvdir.
ANSI C va C ++ kutubxonalari bunga yordam beradigan funksiyani o'z ichiga oladi. U time() deb nomlanadi va dastur boshlangandan beri tizim vaqtini qaytaradi. Biroq, u bilan bog'liq bir nechta muammolar mavjud. Birinchidan, time() vaqtni bir necha soniya ichida qaytarishi shart emas. Ikkinchidan, ba'zi bir tizimlarda ushbu funksiyani qaytarish turi long bo'lishi mumkin, boshqalarida – usigned long, boshqalarida – butunlay boshqacha.


Shart so’ng takrorlanuvchi jarayonlarni dasturlash. do while sikli
C ++ dagi uchinchi sikl bu do while. Qolgan ikkitadan farqi shundaki, u chiqishda shartni tekshiradi. Bu shuni anglatadiki, bunday "kim biladi" sikli avval o'z tanasini bajaradi va shundan keyingina shart holatini baholab, uni davom ettirish kerakligini biladi. Agar shart yolg’on deb baholansa, sikl tugaydi; aks holda, yangi qadam amalga oshiriladi, so'ngra shart tekshiriladi. Bunday sikl har doim kamida bir marta bajariladi, chunki dasturni boshqarish oqimi shart holatiga kelguniga qadar uning tanasidan o'tadi. do while sikli uchun sintaksis quyida keltirilgan:

do
tana


while (shart);

Tana qismi bitta ifoda yoki figurali qavslar ichiga olingan bayonotlar bloki bo'lishi mumkin. 3-rasmda do while siklidagi blok-sxemasini ko'rsatadi.


Odatda kirish sikli chiqishga qaraganda yaxshiroq tanlovdir, chunki tekshirish boshlanishidan oldin amalga oshiriladi. Quyidagi misol do whiledan qanday foydalanishingiz mumkinligini ko'rsatadi.
#include
using namespace std;

int main ()


{
int i = 0; //sikl hisoblagichini initsializatsiyalash.
int sum = 0; // Summa.
do {// Siklni boshlash.
i++;
sum += i;
} while (i < 1000); // shartni tekshirish.
cout << "1 dan 1000 gacha sonlar yig'indisi sum = " << sum << endl;
return 0;
}

Operator1


while (shart)
operator2
operator3



3-rasm. do while siklining blok-sxemasi

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