7-mavzu: C++ dasturlash tilida takrorlanuvchi jarayonlar Reja


Циклда бир нечта счётчик (ҳисоблагич)ни қўлланилиши



Download 60,21 Kb.
bet4/5
Sana19.05.2022
Hajmi60,21 Kb.
#604992
1   2   3   4   5
Bog'liq
Mustaqilish

Циклда бир нечта счётчик (ҳисоблагич)ни қўлланилиши
for циклининг синтаксиси унда бир нечта ўзгарувчи ҳисоблагични қўлланилишига, циклни давом этишини мураккаб шартларини текширишга ва цикл ҳисоблагичлари устида кетма-кет бир нечта операцияни бажарилишига имкон беради.
Агарда бир нечта ҳисоблагичга қиймат ўзлаштирилса ёки улар ўртасида бир нечта операция бажарилса, бу ифодалар вергул билан ажратилган ҳолда кетма – кет ёзилади. Қуйидаги листингда иккита счётчикли for операторининг қўлланилишини кўриб чиқамиз.
Масалан: for циклида бир нечта счётчикни қўлланилиши
1. include< iostream. h>

  1. int main()

  2. {

  3. for (int i=0, j=0; i<3; i++, j++)

  4. cout<< “i:” <

  5. return 0;

  6. }

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>

  1. int main()

  2. {

  3. int counter=0;

  4. for ( ; counter<5 ; )

  5. {

  6. counter++;

  7. cout << Looping!”;

  8. }

  9. cout<< “\n Counter:” << counter<< “.\ n”;

  10. return 0;

  11. }

НАТИЖА:
Looping! Looping! Looping! Looping! Looping!
Counter: 5

ТАҲЛИЛ: бу циклни бажарилиши юқоридаги листингда келтирилган while циклини бажарилишига ўхшаш тарзда амалга оширилади. 4-сатрда сounter ўзгарувчисига қиймат ўзлаштирилаяпти. for циклида эса параметр сифатида фақатгина циклни давом этиш шартини текшириш ифодаси ишлатилган. Цикл ўзгарувчиси устида операция ҳам тушириб қолдирилган. Бу ҳолда ушбу циклни қуйидагича ифодалаш мумкин:


while(counter<5)
Қаралган мисолимиз яна бир марта С++ тилида бир хил масалани бир неча усул билан ҳал қилиш имконияти борлигини кўрсатади. Бундан ташқари, for циклининг 3 та параметрини ҳам тушириб қолдириш ва циклни break ва continue операторларини қўллаш орқали бошқариш мумкин. for конструкциясини параметрларсиз қўлланилишига мисол ушбу листингда кўрсатилган.
for операторларини параметрларсиз қўлланилиши

1.  include



  1. int main()

  2. {

  3. int counter=0;

  4. int max;

  5. cout<< “How many hellos?”;

  6. cin>> max;

  7. for( ; ; )

  8. {

  9. if (counter

  10. {

  11. cout << “Hello! \h”;

  12. counter++;

  13. }

  14. else

  15. break;

  16. }

  17. return 0;

  18. }

НАТИЖА:
How many hellos? 3
Hello!
Hello!
Hello!

for циклининг танаси бўш бўлган ҳолда қўлланилиши


Циклда for оператори орқали унинг танасига ҳеч қандай оператор ёзмасдан туриб ҳам бирор бир амални бемалол бажариш мумкин. Бунда цикл танаси бўш сатрдан иборат бўлади. Танаси бўш бўлган for циклига мисол 7.13. – листингда келтирилган.
For циклининг танаси бўш бўлган ҳолда қўлланилиши

  1.  include< iostream. h>

  2. int main()

  3. {

  4. for (int i=0; i<5; cout<< “i” <

  5. ;

  6. return 0;

  7. }

HАТИЖА:
i: 0
i: 1
i: 2
i: 3
i: 4
Ички цикллар
Бошқа циклнинг ичида ташкил этилган цикл ички цикл деб айтилади. Бу ҳолда ички цикл ташқи циклни ҳар бир итерациясида тўлиқ бажарилади. Юыоридаааги дастурда матрица элементларини ички цикл орқали тўлдирилиши намойиш қилинган.
Ички циклларга мисол
1. include< iostream. h>

  1. int main()

  2. { int rows, columns;

  3. char theChar;

  4. cout << “How many rovs?”;

  5. cin >> rows;

  6. cout << “How many columns?”;

  7. cin >> columns;

  8. cout << “What character?”;

  9. cin>>theChar;

  10. for ( int i=0; i

  11. {

  12. for (int j=0; j

  13. cout << the char;

  14. cout<< “\n”;

  15. }

  16. return 0;

  17. }

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. Қаторлар йиғиндисини аниқликда ҳисоблаш дастурини тузинг.

  1. Дастури. (Паскал дастурлаш тилида).

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 ywriteln(‘s );

Download 60,21 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish