Blok cxema
Natural sonlar kvadratlarining yig‘indisini hisoblash uchun for sikli ishlatildi.
Dastur kodi
/* Global o‘zgaruvchilar*/
int n = 0, y = 0;
char T = 0;
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(n%2 == 0) // juftlikka tekshirish
{ //ha - juft
y = 0;
for(int i=0;i{
y += i*i;
}
Label5->Caption = "ha";
}
else
{ //yo‘= - toq
y = n;
Label5->Caption = "yo‘q";
}
Label4->Caption = IntToStr(n); // Shaklga chiqarish
Label6->Caption = IntToStr(y);
if(n<100){n++;} // nomerni oshirish
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
T = !T;
if(!T) // Taymerning Pusk/Pauza tugmasi
{Button2->Caption = "Pusk";}
else
{Button2->Caption = "Pauza";}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if(T){TForm1:Button1Click(Form1);} //Taymerning tiki
}
Nazorat savollari
1)Qanday operatorlar boshqarish strukturalariga kiradi?
2)Qanday Sikl operatorlarini bilasiz?
3)Break operatori qanday vazifa bajaradi?
4)Continue qanday vazifa bajaradi?
3. Massivlar bilan ishlash
Massiv bir xil turdagi bir nechta o‘zgaruvchilarning to‘plamidan tashkil topadi (ba’zi adabiyotlarda ular jadvallar deb ham nomlanadi). Nomi a bo‘lgan LENGTH elementdan iborat TYPE turidagi massiv quyidagicha e’lon qilinadi:
type a[length];
Bu buyruqda type turiga tegishli maxsus a[0], a[1], ..., a[length-1] nomli o‘zgaruvchilar e’lon qilinadi. Massivning har bir elementi o‘z nomeri - indeksga ega bo‘ladi. Massivning x - elementiga murojaat qilish indeksatsiya amali yordamida amalga oshiriladi:
int x = ... ; // Butun qiymatli indeks
TYPE value = a[x]; // x - elementni o‘qish
a[x] = value; // x- elementga yozish
Indeks sifatida butun turdagi qiymat beruvchi ixtiyoriy ifodani ishlatish mumkin: char, short, int, long. C tilida massiv elementlarining indeksi 0 dan (1 dan emas) boshlanadi, LENGTH uzunlikdagi massivning oxirgi elementining indeksi esa LENGTH-1 (LENGTH emas). Shuning uchun ham massivning barcha elementlari bo‘yicha sikl quyidagicha yoziladi:
TYPE a[LENGTH]; int indx;
for(indx=0; indx < LENGTH; indx++)
...a[indx]...;
Bu erda indx < LENGTH sharti indx <= LENGTH-1 ga teng kuchli. Massiv chegarasidan chiqish (mavjud bo‘lmagan elementni o‘qish/yozish) kutilmagan natijalarga va dastur ishida ham kutilmagan holatlarga olib kelishi mumkin. Bunday xatolar massivlar bilan ishlashdagi eng ko‘p yo‘l qo‘yiladigan xatolar hisoblanadi.
Statik massivlarni uning elementlari qiymatlarini {} ichida vergul bilan ajratib yozish, ya’ni initsializatsiya qilish yo‘li bilan ham e’lon qilish mumkin. Agar massiv uzunligidan kam elementlar berilgan bo‘lsa, u holda qolgan elementlari nol deb hisoblanadi:
int a10[10] = { 1, 2, 3, 4 }; // va 6 ta nol
Agar massivlarni initsializatsiya qilishda uning o‘lchovi berilmasa u kompilyator tomonidan hisoblanadi:
int a3[] = { 1, 2, 3 }; // Xuddi a3[3] kabi.
Dostları ilə paylaş: |