Ma’ruza mashg`ulot uchun


-ma`ruza: Takrorlash operatorlari


Download 0.85 Mb.
bet22/49
Sana19.06.2023
Hajmi0.85 Mb.
#1600219
1   ...   18   19   20   21   22   23   24   25   ...   49
Bog'liq
1-semestr maruzalar

Listing 4.6. Kalkulyator dasturi

5-ma`ruza: Takrorlash operatorlari.


  1. Takrorlash operatorlari

  2. Parametrli takrorlash operatori – for() konstruksiyasi

  3. while va do..while operatorlari

  4. Boshqaruvni uzatish operatorlari: goto, break, continue va return



5.1. Takrorlash operatorlar
Takrorlash operatorlari bir necha marta takrorlanuvchi jarayonlarni hisoblash uchun qo‘llaniladi. Takrorlanuvchi jarayonlarni strukturali sxemasining blok sxema ko‘rinishi 5.1.1-rasmda keltirilgan.

5.1-rasm. Takrorlanuvchi jarayonning strukturali sxemasi

Boshlang‘ich ma’lumotlar - takrorlanuvchi jarayonni tashkil etish uchun zarur bo‘lgan ma’lumotlardir;


Shartli ifoda - takrorlanish davom etishini va tugallanishini belgilab beruvchi, takrorlanish parametrini tekshiruvchi mantiqiy ifoda. Ushbu shart sikl boshida ham bo‘lishi mumkin, oxirida ham bo‘lishi mumkin;
Operatorlar – takroran bajariluvchi operator yoki operatorlar to‘plami, sikl tanasi;
Takrorlanish parametrini o‘zgarishi-bu odatda takrorlanish qadami bo‘lib, u har bir iteratsiyada o‘zgaradi va shartli ifodada tekshiriladi. Agar takrorlanish parametri butun son bo‘lsa, uni hisoblagich(schyotchik) deb ham ataladi.
Takrorlanuvchi jarayonning bir marta takrorlanishi iteratsiya deb ataladi.
Takrorlanish jarayonini tezkorlik bilan joriy iteratsiyada to‘htatish mumkin. Buning uchun boshqaruvni uzatish opertaorlari break, continue, return va goto lardan foydalaniladi. Lekin sikl tashqarisidan turib uning ichiga boshqaruvni uzatish taqiqlanadi.


5.2. Parametrli takrorlash operatori – for() konstruksiyasi
Sintaksisi:
for([initsializatsiya-schyotchik]<;> [shartli ifoda]<;> [o‘zgarish qadami])
{
operator(lar)...
}
Bu yerda:
initsializatsiya-schyotchik – takrorlanish parametrining boshlang‘ich qiymatini o‘rnatish, ya’ni initsializatsiya qilish uchun yoziladi. Ushbu qismda bir vaqtning o‘zida bir yoki bir nechta o‘zgaruvchini boshlang‘ich qiymatini initsializatsiya qilib ketish mumkin. Agar boshlang‘ich qiymati initsializatsiya qilinuvchi o‘zgaruvchilar bir nechta bo‘lsa ular vergul bilan ajratib yoziladi. Masalan:
for ( int i = 0, j = 20; ...
Shartli ifoda takrorlanishni davom etishini yoki tugallanishini tekshiruvchi maniqiy ifoda. Ushbu ifodaning qiymati true bo‘lsa, takrorlanish jarayoni davom etadi va aksincha false bo‘lsa tugallanadi.

O‘zgarishsh qadami – takrorlanish parametrining har bir iteratsiyada o‘zgarib borishini taminlovchi ifoda. Ushbu ifoda bir nechta bo‘lsa ular vergul bilan ajratib yoziladi. Masalan:


for ( int i = 0, j = 20; i < 5 && j > 10; i++, j-- ) ...

for konstruksiyasining yuqorida sanab o‘tilgan 3 ta parametrlarni ixtiyoriy birortasidan yoki umuman foydalanmaslik mumkin. Lekin uning o‘rnini bildiruvchi nuqtali vergul(;)larni o‘z o‘rnida qo‘yib ketilishi lozim.


Masalan:
int i = 0;
for (; ;)
{
Console.WriteLine("{0}ning kvadrati={1}", ++i, i * i);
System.Threading.Thread.Sleep(500);
}
Yuqoridagi misolda initsializatsiya qilinuvchi va takrorlanishni to‘xtatuvchi shart ko‘rsatilmagan. Shu sababli sikl xatolik yuzaga kelmaguncha davom etaveradi.
0-9 gacha bo‘lgan sonlarning kvadratlarini chop qilish uchun for konstruksiyasi quyidagicha yoziladi:
for(int i=0; i<9; i++ )
{
Console.WriteLine(“{0} sonining kvadrati {1} ga teng”,i,i*i);
}
Quyidgi misol esa, yuqorida keltirilgan misolga ekvivalentdir.
int i = 0;
for (; i<9;)
{
Console.WriteLine("("{0}ning kvadrati={1}", ++i, i * i);
}

Bizga quyidagi funksiya berilgan bo‘lsin.




5.2-rasm.

O‘zgarish qadami 2 bo‘lganda, [-2..12] gacha oraliqda uning funksiyaga mos ravishda X argumentning qiymatlarini chop qiluvchi dastur 5.1-listingda keltirilgan. X argumentning boshlang‘ich qiymatini Xn, oxirgi qiymatini Xk, o‘zgarish qadamini dx bilan belgilab olamiz.


using System;
namespace ConsoleApplication1
{ class Class1
{ static void Main()
{
double Xn = -2, Xk = 12, dX = 2, t = 2, y;
Console.WriteLine( "| x | y |");
// qiymatlarni chop qilish uchun jadval sarlavxasi

for ( double x = Xn; x <= Xk; x += dX )


{
y = t;
if ( x >= 0 && x < 10 ) y = t * x;
if ( x >= 10 ) y = 2 * t;
Console.WriteLine( "| {0,6} | {1,6} |", x, y );
}
}
}
}

Download 0.85 Mb.

Do'stlaringiz bilan baham:
1   ...   18   19   20   21   22   23   24   25   ...   49




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