Masalaning yechimi Shakl
Bu dasturni amalga oshirish uchun quyidagi komponentlar ishlatiladi: «Metka» (Label), «Knopka» (Button) va «Taymer» (Timer). Birinchi ikkita komponent Standard bandida, taymer esa System bandida joylashgan.
Natijalarni tasvirlash uchun Label sinfi komponentlarining “Caption” xossasi qiymatlarini o‘zgartirish zarur.
Tugmachalar uchun onClick xodisasining va taymer uchun onTimer xodisasining harakatlarini hosil qiladi (dastur kodi yoziladi).
Blok cxema
Dastur kodi
/* __int64 tur bilan ishlatish uchun IntToStr funksiyasini oddiy yuklash */
AnsiString __fastcall IntToStr(unsigned __int64 Value)
{
__int64 k = floor(Value/100000);
__int64 l = Value - k*100000;
if(k!=0)
{return IntToStr(k)+IntToStr(l);}
else
{return IntToStr(l);}
}
//----------------------------------------------------------------------------
/* Global o‘zgaruvchilar*/
unsigned __int64 s = 1, i = 1;
short j = 1;
char T = 0;
//----------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(j<8*8) //Maydonning navbatdagi qiymatini hisoblash
{
j++;
i *= 2;
s += i;
}
Label4->Caption = IntToStr(j); // Ularni shaklga chiqarish
Label5->Caption = IntToStr(i);
Label6->Caption = IntToStr(s);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
T = !T; // Taymerdan foydaldnishni o‘zgartirish
if(!T) //Sarlavha
{Button2->Caption = "Pusk";}
else
{Button2->Caption = "Pauza";}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if(T){TForm1:Button1Click(Form1);} // Taymerning tiki
}
Nazorat savollari
1)Identifikator nima? Ularrni yozish qoydasini tusuntiring.
2)Dasturda o’zgarmaslar qanday tavsiflanadi?
3)Qo’shimcha turlar qanday turlar?
4)Int va Unsigned turlari qanday farq qiladi?
5)Sonli qiymatlar qanday qilib satrga almashtiriladi?
6)Standart turlarga qanday turlar kiradi?
Dostları ilə paylaş: |