Ы збекистон Республикаси Олий ва ырта махсус таълим вазирлиги
Такрорлаш операторлари (for, while, do) давом эттириш оператори (continue)
Download 407 Kb.
|
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 такрорлашларини ташкил =илиш келтирилган:
масалан нинг та=рибий =ийматини щисоблашни кыриб ытайлик. Бизга математик анализ курсидан маълумки формула билан щисобланади. Биз =уйида программани бир =исмини кыриб ытамиз. : 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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling