D = (1 + cos(9)) · (2 + cos(8)) · … · (9 + cos(1))
Ushbu muammoni hal qiladigan kod parchasi.
// D = (1 + cos(9))*(2 + cos(8))* ... *(9 + cos(1))
int i, j;
float d;
d = 1;
for (i = 1, j = 9; i<=9; i++, j--)
d = d * (i + Math::Cos(j));
Yuqoridagi kod parchasida for tsikli ularning qiymatini o'zgartiruvchi ikkita o'zgaruvchidan foydalanadi (i, j).
while tsikli. Umumiy shakl
while tsikli oldindan shartli sikl deb ataladi. while siklining umumiy shakli quyidagicha:
while (выражение)
{
// последовательность операторов
// ...
}
Bu erda ifoda har qanday to'g'ri C ++ ifodasidir. Ko'rsatmalar ketma-ketligi shartli ifoda rost bo'lguncha bajariladi. Ifoda noto'g'ri deb baholanishi bilan, while siklining bajarilishi to'xtaydi va boshqaruv while tsiklidan keyingi keyingi operatorga o'tkaziladi.
while sikl operatoridan foydalanishga misollar
1-misol. Haqiqiy a soni berilgan. Bunday eng kichik n ni toping
Mulohazalar. Boshida yig'indining qiymati a qiymatidan kichik. Har bir iteratsiya bilan yig'indining qiymati asta-sekin o'sib boradi. Bir nuqtada (n ning ba'zi bir qiymati uchun) bu miqdor a qiymatidan yuqori bo'ladi. Bu momentni (n qiymati) tuzatish kerak. n ni baholash uchun while tsikli qulay.
Ushbu muammoni hal qiladigan kod parchasi.
float a;
int n;
float sum;
// ввод значения a
a = 2.2;
n = 1;
sum = 1.0/n;
while (sum < a)
{
n++;
sum = sum + 1.0/n;
}
// n = 5; sum = 2.283334
Natural son berilgan. Undagi 3 ta raqam sonini aniqlang.
Ushbu muammoni hal qiladigan kod parchasi.
// sondagi raqamlar soni 3
int n; // berilgan natural son
int k; // sondagi raqamlar soni 3
int t, d; // qo'shimcha o'zgaruvchilar
// kirish qiymati n
n = 12343;
t = n; // n nusxasini yarating
k = 0;
esa (t> 0)
{
d = t% 10; // oxirgi raqamni belgilang
agar (d == 3) k ++;
t = t / 10; // raqamlar sonini kamaytirish
}
// k = 2
Ushbu misolda asl raqamning qiymati har bir iteratsiyada 10 ga bo'linadi. Shunday qilib, raqamning raqamli sig'imi kamayadi. Har bir iteratsiyada C++ operatsiyasi% yordamida 10 ga bo'linishning qolgan qismi olinadi, ya'ni sonning oxirgi raqami aniqlanadi. Agar bu raqam 3 bo'lsa, k hisoblagich 1 ga oshiriladi. sikl operatorining umumiy shakli do ... while Do… while tsikli takrorlash kamida bir marta bajarilishi kerak bo'lgan hollarda foydalidir. For va while sikllaridan farqli o‘laroq, do… while siklida shart sikldan chiqishda tekshiriladi (va davrga kirishda emas). Do… while sikli postshartli sikl deb ham ataladi. Do ... while sikl operatorining umumiy shakli:
do
{
// operatorlar ketma-ketligi
// ...
}
while (ifoda);
bu yerda ifoda shartli ifoda bo‘lib, unda sikl o‘zgaruvchisining qiymati tekshiriladi. Ushbu bosqichda tsiklning keyingi bajarilishi aniqlanadi.
Bu halqada jingalak qavslar ixtiyoriy.
Tsikl quyidagicha ishlaydi. Birinchidan, pastadir tanasi bajariladi. Keyin ifodaning qiymati (shartli ifoda) tekshiriladi. Agar ifoda rost bo'lsa, tsikl tanasi yana bajariladi. Ifodaning noto'g'ri bo'lishi bilan, tsiklning bajarilishi to'xtaydi.
Do'stlaringiz bilan baham: |