2-Amaliyot Dastur kodining biror qismining ko’p marta bajalishi sikl hisoblanadi. Dastur kodining qandaydir qismini qandaydir shart asosida birnecha marta bajartirish uchun dasturlashda sikldan foydalaniladi. Agar shart rost bo’lsa sikl davom qiladi. Aks holda to’xtatiladi. Agar shart hamisha rost bo’lsa bunday sikl cheksiz sikl deb ataladi.
C++ da siklni tashkil qilish uchun while, do while va for operatorlari mavjud.
Siklni o’rganish uchun eng oson misol bu 1 dan n gacha natural sonlarning yig’indisini(1+2+3+…+n) topish dasturini tuzish. Bu yig’indini takrorlanish jarayoni orqali hisoblash uchun 1 dan n gacha sonlarni birma-bir qo’shib chiqish lozim. Yig’indining dastlabki qiymatini 0 ga tenglaymiz. Siklning har bir qadamida quyidagi amallar bajariladi:
s=0;
1-qadam. s=s+1=0+1=1;
2-qadam. s=s+2=1+2=3;
3-qadam. s=s+3=3+3=6;
4-qadam. s=s+4=6+4=10;
5-qadam. s=s+5=10+5=15;
………………………….
i-qadam. s=s+i; ………………………….
n-qadam. s=s+n;
Har bir qadamda bir xil amal bajariladi, ya’ni yig’indining yangi qiymatini hosil qilish uchun uning avvalgi qadamdagi qiymatiga navbatdagi natural son qo’shiladi.
1) while sikli.
Bu siklda shart oldindan qo’yiladi. Agar shart rost bo’lsa sikl tanasi bajariladi. Aks holda sikl to’xtab undan keyingi qadamga o’tiladi.
while (shart) {
sikl tanasi
}
1 dan n gacha sonlar yig’indisini topish uchun har bir qadamda navbatdagi sonni qo’shib borish uchun i o’zgaruvchi e’lon qilamiz.
#include
using namespace std;
int main() {
int s = 0, i = 1, n;
cout<<"n=";
cin>>n;
while (i <= n) {
s += i;
i++;
}
cout<<"s="<}
Dastur kodini bir boshdan qarab chiqamiz. Bizga uchta o’zgaruvchi kerak. Birinchi o’zgaruvchi n soni, ikkinchi o’zgaruvchi sanab borish uchun ishlatiladigan i o’zgaruvchisi, uchinchisi yig’indining qiymatini saqlash uchun s o’zgaruvchi. Siklni boshlashdan oldin yig’indining qiymatini nolga tenglaymiz, shunda unga qandaydir sonni birinchi marta qo’shganimizda uning o’zi hosil bo’ladi. i o’zgaruvchining dastlabki qiymatini 1 ga tenglaymiz, chunki 1 dan boshlab yig’indiga qo’shib borishimiz lozim. Agar i≤n shart bajarilsa u holda i ni yig’indiga qo’shamiz(s+=i bu s=s+i ning qisqacha yozilishi) va i ning qiymatini orqali birga oshiramiz(i++ bu inkrement).
Cheksiz sikl. while yordamida cheksiz sikl hosil qilish uchun shart ifodaga hamisha rost qiymat qabul qiladigan mantiqiy ifoda, o’zgaruvchi yoki rost konstanta qiymatini yozishimiz mumkin.
while (1) {
cout<<"Cheksizsikl\n";
}
2) do while sikli.
do while sikli while sikliga o’xshash, farqi shart sikl oxirida tekshiriladi va shart bajarilsin yoki bajarilmasin kamida bir marta(1-sikl) sikl bajariladi.
1 dan n gacha sonlar yig’indisi quyidagicha yoziladi: