5-dars taqdimot


for ни while га алмаштириш ва аксинча


Download 280.95 Kb.
bet7/7
Sana05.04.2023
Hajmi280.95 Kb.
#1274411
1   2   3   4   5   6   7
Bog'liq
11-dars taqdimot

for ни while га алмаштириш ва аксинча
for( i=1; i<=10; i++)
{
// sikl tanasi
}
i = 1;
while ( i <= 10 ) {
// sikl tanasi
i ++;
}
for ( i=a; i>=b; i--)
{
// sikl tanasi
}
i = a;
while ( i >= b ) {
// sikl tanasi
i --;
}
С++ тилида for ни while га алмаштириш ва аксинча ҳолати
Ҳар доим мумкин!
!
12:59
Масала
"4": Бутун сонни киритиш ва ундаги рақамлар йиғиндисини киритинг.
Мисол:
Бутун сонни киритинг: 1234
1234 сонидаги рақамлар йиғиндиси 10га тенг.
"5": Бутун сонни киритинг ва унинг таркибида 2 та бир хил сонлар борлигини аниқланг.
Мисол:
Бутун сонни киритинг: Бутун сонни киритинг:
1234 1224
Yo’q Ha
http://acm.tuit.uz/forum
12:59
Кетма-кетликлар
Мисоллар:
    • 1, 2, 3, 4, 5, …
    • 1, 2, 4, 7, 11, 16, …
    • 1, 2, 4, 8, 16, 32, …

an = n
a1 = 1, an+1 = an+1
a1 = 1, an+1 = an + n
an = 2n-1
a1 = 1, an+1 = 2an
b1 = 1, bn+1 = bn+1
c1 = 2, cn+1 = 2cn
http://acm.tuit.uz/forum
12:59
Кетма-кетликлар
Масала: Модули 0,001дан катта бўлган ушбу кетма-кетликдаги элементлар йиғиндисини топиш:
Элемент кетма-кетлиги (№2 дан бошлаб):

n

1

2

3

4

5

...

b

1

2

3

4

5

...

c

2

4

8

16

32

...

z

-1

1

-1

1

-1

...

b = b+1;
c = 2*c;
z = -z;
http://acm.tuit.uz/forum
12:59
Алгоритми
Боши:
S
тамом
йўқ
ҳа
|a| > 0.001?
S = S + a;
S = 0; b = 1; c = 2; z = -1; a = 1;
Дастлабки ифода
a = z*b/c;
b = b + 1; c = 2*c; z = -z;
биринчи элемент
a = 1;
S = 0;
Янги элемент
ўзгариши
Қайта ишлаш?
?
12:59
Дастури
#include
int main()
{
int b, c, z;
float S, a;
S = 0; z = -1;
b = 1; c = 2; a = 1;
while (fabs(a) > 0.001) {
S += a;
a = z * b / c;
z = - z;
b ++;
c *= 2;
}
cout<<"S = “ << S);
}
Кейинги қўшилувчига ўтиш
Дастлабки ифода
Йиғиндини ошириб бориш
Элементлар кетма-кетлигини ҳисоби
Математик функция
fabs – соннинг модули
нима ёмон?
?
, b;
Нима бўлганда ҳам бўлишда яхлитлаш
12:59

do-while такрорлаш оператори while операторидан фарқли равишда олдин оператор ёки блокни бажаради, кейин такрорлаш шартини текширади. Бу қурилма такрорлаш танасини камида бир марта бажарилишини таъминлайди. do-while такрорлаш оператори қуйидаги синтаксисга эга:

do-while такрорлаш оператори while операторидан фарқли равишда олдин оператор ёки блокни бажаради, кейин такрорлаш шартини текширади. Бу қурилма такрорлаш танасини камида бир марта бажарилишини таъминлайди. do-while такрорлаш оператори қуйидаги синтаксисга эга:

do <оператор ёки блок>; while (<ифода>);

Бундай такрорлаш операторининг кенг қўлланиладиган ҳолатлари - бу такрорлашни бошламасдан туриб, такрорлаш шартини текширишнинг иложи бўлмаган ҳолатлар ҳисобланади.


do-while такрорлаш оператори
12:59

Масалан, бирорта жараённи давом эттириш ёки тўхтатиш ҳақидаги сўровга жавоб олиш ва уни текшириш зарур бўлсин. Кўриниб турибдики, жараённи бошламасдан олдин бу сўровни беришнинг маъноси йўқ. Ҳеч бўлмаганда такрорлаш жараёнининг битта қадами амалга оширилган бўлиши керак:

Масалан, бирорта жараённи давом эттириш ёки тўхтатиш ҳақидаги сўровга жавоб олиш ва уни текшириш зарур бўлсин. Кўриниб турибдики, жараённи бошламасдан олдин бу сўровни беришнинг маъноси йўқ. Ҳеч бўлмаганда такрорлаш жараёнининг битта қадами амалга оширилган бўлиши керак:

#include

int main()

{

char javob;

do

{

... // программа танаси

cout<<”Jarayonni to’xtatish (N):_ ”;

cin>>javob;

} while(javob !=N)

return 0;

}


12:59
E’tiboringiz uchun raxmat
Download 280.95 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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