Amaliy mashg`ulot uchun Mundarija


Amaliy mashg’ulоt № 8 Mavzu: for operatoriga doir dastur tuzish


Download 0.8 Mb.
bet27/56
Sana18.09.2023
Hajmi0.8 Mb.
#1680455
1   ...   23   24   25   26   27   28   29   30   ...   56
Bog'liq
Amaliy mashgulot sanoq sistema

Amaliy mashg’ulоt № 8




Mavzu: for operatoriga doir dastur tuzish.


MASHG’ULOTNING MAQSADI: C# da takrorlanuvchi operatorlar bilan ishlashni o`rgatish.
MASHG’ULOTNING JIHОZI: Ko’rgazmali material: kompyuterning xotira qurilmalari.
MASHG’ULOT O’TISH VОSITASI: Pentium IV kоmpyuterlari (qo’shimcha qurilmalari) bilan jihоzlangan kоmpyuter sinfi.
MASHG’ULOTNING BОRISHI:
a) Guruhning va xоnaning darsga tayyorligini aniqlash.
b) Yo’qlama qilish.
c) Avvalgi mashg’ulоtlarda o’tilganlarni takrоrlash bo’yicha suhbat o’tkazish: o’tilgan mavzularni qisqacha takrоrshlash.
g) Yangi mavzuning bayoni: C# da takrorlanuvchi operatorlar haqida ma’lumotlar berish.
d) Kоmpyuter xоnasida mashg’ulоt оlib bоrish. O’rganganlari ustida mashq qilish.
e) Dars yakuni: Mustaqil ish uchun individual topshiriqlarni berish.


Amaliy mashg`ulot mavzu bayoni:
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.




O‘zgarish qadami 2 bo‘lganda, [-2..12] gacha oraliqda uning funksiyaga mos ravishda X argumentning qiymatlarini chop qiluvchi dastur 8.2.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.8 Mb.

Do'stlaringiz bilan baham:
1   ...   23   24   25   26   27   28   29   30   ...   56




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