Ы збекистон Республикаси Олий ва ырта махсус таълим вазирлиги


Такрорлаш операторлари (for, while, do) давом эттириш оператори (continue)


Download 407 Kb.
bet8/15
Sana18.02.2023
Hajmi407 Kb.
#1213815
1   ...   4   5   6   7   8   9   10   11   ...   15
Bog'liq
SI

Такрорлаш операторлари (for, while, do) давом эттириш оператори (continue).


Бош=а програмалаш тиллари сингари СИ тилида щам такрорлашларни щосил =илиш учун махсус воситалар мавжуд. Кыпчилик программалаш тилларини такрорлаш оператори икки элементдан бош =исм ва танадан иборат. Тана такрорлашда бажариладиган операторларни ыз ичига олади.


Бош =исм эса танадаги операторларни такрорий бажарилишини таъминлайди.СИ тилида такрорлаш операторларининг уч тури ишлатилади, улар =уйидаги хизматчи сызлар билан белгиланади.
while, for, do.
while ва for =уйидаги схемада тузилади.
Такрорлаш бош =исми
такрорлаш танаси
do такрорлаши бош=ача тузилмага эга былиб (ю=оридан ва пастдан) конструкциясига асосланади. Шунинг учун щам do такрорлашида такрорлашнинг бош =исми ща=ида гапириш ыринсиздир.
Шуни эслатиб ытамизки, щар уч такрорлаш операторида такрорлаш танаси-бу {} белгиси орасидаги алощида ёки ташкилий оператор былиши мумкин. Такрорлаш танаси быш оператор былиши щам мумкин.
while-такрорлаши =уйидаги кыринишга эга:
while (ифода_шарт)
такрорлаш танаси
Ифода_шарт сифатида кыпро= муносабат ёки манти=ий ифода фойдаланилади. Агар у рост =иймат =абул =илса такрорлаш танаси ифода_шарт ёл\он былгунча бажарилади.
Шунга эътибор берингки, ифоданинг ты\рилиги такрорлаш танасининг бажарилишини таъминлайди. Шундай =илиб, олдиндан ёл\он былган ифода_шартда такрорлаш бирор марта щам бажарилмайди.
Ифода_шарт арифметик ифода былиши щам мумкин
do такрорлаши =уйидаги кыринишга эга:
do
такрорлаш танаси
while ( ифода_шарт):
Ифода_шарт while такрорлашдаги каби манти=ий ёки арифметик ифода былиши мумкин. do такрорлашда такрорлаш_танаси щеч былмаганда бир марта амалга ошади.
for такрорлаши (параметрли такрорлаш) =уйидаги кыринишга эга:
такрорлаш_танаси for (ифода -1; ифода_шарт; ифода-3) оператордаги биринчи ва учинчи ифода вергул билан ажратилган бир неча ифодалардан иборат былиши мумкин.
Ифода -1- такрорлаш бошлангунгача былган щаракатни билдиради, яъни такрорлаш учун бошлан\ич шартни ифодалайди. Кыпро= бу =иймат узатишни ифодалайди. Ифода_шарт – одатда манти=ий ёки арифметик ифода былиши мумкин. Бу шартнинг тугаши ёки такрорлашнинг давом эттирилишини англатади. Агар у рост былса, у щолда такрорлаш_танаси бажарилади. Сынгра ифода-3 щисобланади у бажарилгач, ифода_шарт ты\рилиги щисобланади ва щаммаси яна =айтарилади. Ифода-1 фа=ат 1 марта бажарилади, ифода_шарт ва ифода-3 такрорлаш танасининиг ифода_шарт ёл\он былгунча давом этади.
1-расмда while, do ва for такрорлашларини ташкил =илиш келтирилган:


b



масалан нинг та=рибий =ийматини щисоблашни кыриб ытайлик. Бизга математик анализ курсидан маълумки





формула билан щисобланади.
Биз =уйида программани бир =исмини кыриб ытамиз.
:
i=2;
b=1.0;
r=x;
while (r>eps!!r<-eps)
{
b=b+r;
x=r*x/i;
i++;
}
do такрорлаши ор=али
i=1;
b=0.0;
r=1.0;
do {
b=b+r;
r=r*x/i;
i++;
}
while(r>=eps!!r<=-eps);
for параметрли такрорлаш ор=али
i=2;
b=1.0;
r=x;
for(;r>eps!!r<-eps;)
{
b=b+r;
r=r*x/i;
i++;
}
Лeкин for цикли ю=оридагиларга =араганда бир мунча афзалликларга эга былиб, уни =уйидагича ёзишимиз мумкин.
for(i=2,b=1.0,x=x;x>eps!!x<-eps;i++)
{
b=b+x;
x=x*x/i;
}
йи\индини щисоблаш программасини тыла матни =уйидагича:
/*экспонентани щисоблаш программаси */
# include
main ( )
{
int i;
double eps, b=1.0,r;
printf(“\ n х нинг =ийматини киритинг”);
scanf(“%f”, & х);
do {
printf(“\n ани=лик eps ни киритинг eps=”);
scanf (“%f”, & eps);
}
while (eps <=0.0);
for (i=2, r=х, r >eps !! r<-eps ;i++);
{
b=b+r;
r=x*x/i ;
}
printf(“Натижа: %f\n”, b);
printf ("Ани=лик %f\n", r);
printf ("+атор щадлари сони: %d\n",i);
}
Прoграммани бажарилиши натижасида:
Х нинг =ийматини киритинг: х=1
Ани=ликни киритинг : eps=0.01
натижа: 2.708333
ани=лик 0.008333
+атор щадлари сони: 6 ни щосил =иламиз.
Программани бажарилишининг бош=а варианти.
Х ни =ийматини киритинг: х=1
Ани=ликни киритинг: ерs = -0.3
Ани=ликни киритинг: ерs=0.0001
Натижа: 2.718254
Ани=лик: 0.000025
+атор щадлари сони: 9та
Охирги вариантда дастлаб ноты\ри ерs=-0.3 =иймат киритилди шунинг учун щам ани=ликни =айта киритишга ты\ри келди.

Download 407 Kb.

Do'stlaringiz bilan baham:
1   ...   4   5   6   7   8   9   10   11   ...   15




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