C++ dasturida takrorlanish operatori while reja
Циклда бир нечта счётчик (ҳисоблагич)ни қўлланилиши
Download 87.79 Kb.
|
C DASTURIDA TAKRORLANISH OPERATORI WHILE
- Bu sahifa navigatsiya:
- Масалан: for циклида бир нечта счётчикни қўлланилиши
- For циклининг танаси бўш бўлган ҳолда қўлланилиши
- Ички цикллар
- Ички циклларга мисол
Циклда бир нечта счётчик (ҳисоблагич)ни қўлланилиши
for циклининг синтаксиси унда бир нечта ўзгарувчи ҳисоблагични қўлланилишига, циклни давом этишини мураккаб шартларини текширишга ва цикл ҳисоблагичлари устида кетма-кет бир нечта операцияни бажарилишига имкон беради. Агарда бир нечта ҳисоблагичга қиймат ўзлаштирилса ёки улар ўртасида бир нечта операция бажарилса, бу ифодалар вергул билан ажратилган ҳолда кетма – кет ёзилади. Қуйидаги листингда иккита счётчикли for операторининг қўлланилишини кўриб чиқамиз. Масалан: for циклида бир нечта счётчикни қўлланилиши 1. include< iostream. h> int main() { for (int i=0, j=0; i<3; i++, j++) cout<< “i:” < return 0; } HАТИЖА: i: 0 j: 0 i: 1 j: 1 i: 2 j: 2 for циклида нол параметрларни ишлатилиши for циклининг ихтиёрий параметри тушириб қолдирилиши мумкин. Нол параметрлар for циклини бошқа параметрларидан нуқтали вергул (;) билан ажратилади. Агарда for циклини 1 – ва 3 – параметрларини тушириб қолдирсак, у худди while операторидек қўлланилади. for циклининг нол параметрлари 1. include < iostream. h> int main() { int counter=0; for ( ; counter<5 ; ) { counter++; cout << Looping!”; } cout<< “\n Counter:” << counter<< “.\ n”; return 0; } НАТИЖА: Looping! Looping! Looping! Looping! Looping! Counter: 5 ТАҲЛИЛ: бу циклни бажарилиши юқоридаги листингда келтирилган while циклини бажарилишига ўхшаш тарзда амалга оширилади. 4-сатрда сounter ўзгарувчисига қиймат ўзлаштирилаяпти. for циклида эса параметр сифатида фақатгина циклни давом этиш шартини текшириш ифодаси ишлатилган. Цикл ўзгарувчиси устида операция ҳам тушириб қолдирилган. Бу ҳолда ушбу циклни қуйидагича ифодалаш мумкин: while(counter<5) Қаралган мисолимиз яна бир марта С++ тилида бир хил масалани бир неча усул билан ҳал қилиш имконияти борлигини кўрсатади. Бундан ташқари, for циклининг 3 та параметрини ҳам тушириб қолдириш ва циклни break ва continue операторларини қўллаш орқали бошқариш мумкин. for конструкциясини параметрларсиз қўлланилишига мисол ушбу листингда кўрсатилган. for операторларини параметрларсиз қўлланилиши 1. include int main() { int counter=0; int max; cout<< “How many hellos?”; cin>> max; for( ; ; ) { if (counter { cout << “Hello! \h”; counter++; } else break; } return 0; } НАТИЖА: How many hellos? 3 Hello! Hello! Hello! for циклининг танаси бўш бўлган ҳолда қўлланилиши Циклда for оператори орқали унинг танасига ҳеч қандай оператор ёзмасдан туриб ҳам бирор бир амални бемалол бажариш мумкин. Бунда цикл танаси бўш сатрдан иборат бўлади. Танаси бўш бўлган for циклига мисол 7.13. – листингда келтирилган. For циклининг танаси бўш бўлган ҳолда қўлланилиши include< iostream. h> int main() { for (int i=0; i<5; cout<< “i” < ; return 0; } HАТИЖА: i: 0 i: 1 i: 2 i: 3 i: 4 Ички цикллар Бошқа циклнинг ичида ташкил этилган цикл ички цикл деб айтилади. Бу ҳолда ички цикл ташқи циклни ҳар бир итерациясида тўлиқ бажарилади. Юыоридаааги дастурда матрица элементларини ички цикл орқали тўлдирилиши намойиш қилинган. Ички циклларга мисол 1. include< iostream. h> int main() { int rows, columns; char theChar; cout << “How many rovs?”; cin >> rows; cout << “How many columns?”; cin >> columns; cout << “What character?”; cin>>theChar; for ( int i=0; i { for (int j=0; j cout << the char; cout<< “\n”; } return 0; } HАТИЖА: How many rows? 4 How many columns? 12 What character? x х x x x x x x x x x x x for цикл счётчигининг кўриниш соҳаси ANSI нинг янги стандарти бўйича циклда эълон қилинган ўзгарувчининг кўриниш соҳаси фақат цикл ичидангина иборат. Лекин кўпгина компиляторлар эски стандартларни ҳам қўллаб – кувватлайдилар. Қуйида келтирилган дастур кодини киритиб ўзингизнинг компиляторингиз янги стандартга мос келиш- келмаслигини текширишингиз мумкин. include int main() { for ( int i = 0; i<5; i++ ) { cout << “ i: ” << i << endl ; } i=7; // i кўриниш соҳaси чегарасидан ташқарида return 0; } Агарда бу дастур хатоликсиз компиляция қилинса демак у ANSI нинг янги стандартини қўллаб - қувватламайди. Янги стандартга мувофиқ компиляторлар i=7 ифода учун хатолик хақида хабар бериши керак. Дастур кодига озгина ўзгартириш киритилганда сўнг дастур барча компиляторлар учун хатоликсиз ишлайди. include< iostream. h> int main () {int i; for ( int i = 0; i<5; i++ ) {cout << “ i: ” << i << endl ; } i=7; //Энди i барча компиляторлар томонидан //хатоликсиз қабул қилиниши мумкин. Қаторлар йиғиндисини ҳисоблаш алгоритмлари Циклик жараёнлар учун реккурент формулалар Реккурент формулаларнинг қуйидаги формалари мавжуд: а) бу умумий кўриниши бўйича с) кўринишга мансуб бўлганлиги учун, реккурент формула бўйича ҳисоблаш Сn =(-1) – мақсадга мувофиқ (Сn =-Сn-1); n/n-1 sin nx У холда, an=Cn n/n2-1 sinnx; Сn =-Сn-1; бу ерда n=2,3,…..25; С1 =-1 ва ҳисоблаш S=S+C n/n2-1 sin nx . бу ерда S- ҳар хил қийматга эга бўлади, яъни ўнг томондаги S (Sn-1) ни қийматини, чап томон навбатдаги қийматни қабул қилади Sn+1 ни. Мисол3. Қаторлар йиғиндисини аниқликда ҳисоблаш дастурини тузинг. Дастури. (Паскал дастурлаш тилида). uses crt; var y,s,x,eps:real; n:integer; begin clrscr; readln(x,eps); y:=1; s:=1; n:=1; Repeat y:=y*(- x*x/(2*n+(2*n+(2*n-1)))); s:=s+y; n:=n+1; Until y 5> Download 87.79 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling