26-mavzu: “Oddiy arifmetika trenajori” loyixasi.
Ma’lumotni matn satridan butun son turiga va teskarisiga o‘zgartirish. Yodingizda bo‘lsa, Pascal dasturlash tilida bir turdagi o‘zgaruvchiga ikkinchi turdagi ifodaning qiymatini berib bo‘lmas edi. Delphida ham bu taqiq o‘rinli. Uni qanday aylanib o‘tish mumkin? Masalan, Button1 obyektining eni (Width xossasi) qancha bo‘lishi (butun son turi) Editning Text xossasidan (matn satri turi) olinishi kerak bo‘lsa, Button1.Width:=Edit1.Text operatoridan foydalanish xatoga olib keladi. Natijada ilova dasturi ishlashdan to‘xtab, xato to‘g‘risida ogohlantiradi. Object Pascalda o‘zgaruvchini bir turdan ikkinchi turga o‘tkazish uchun bir qator standart funksiyalar mavjud. Ularni quyida keltiramiz:
1) StrToInt (string to integer) – matn satrini butun songa o‘tkazadi;
2) IntToStr (integer to string) – butun sonni matn satriga o‘tkazadi;
3) StrToFloat (string to float) – matn satrini haqiqiy songa o‘tkazadi;
4) FloatToStr (float to string) – haqiqiy sonni matn satriga o‘tkazadi.
Yuqoridagi operatorni bu funksiyalardan foydalanib, bexato yozamiz:
Button1.Width:=StrToInt(Edit1.Text);
2 . Shar hajmi va sfera yuzasi ilovasi. Shar hajmi va unga mos sferaning sirtini hisoblaydigan ilova yaratamiz. Buning uchun yangi ilova yaratib, unga uchta Label, bitta Edit va bitta Button obyektlarini joylaymiz. Ilova oynasini va undagi obyektlarni quyidagi rasmda ko‘rsatilgandek qilib o‘zgartiramiz:
Label2.Caption:='Shar_hajmi:'+FloatToStr(4/3*pi*sqr
(StrToFloat(Edit1.Text))*StrToFloat(Edit1.Text));
Label3.Caption:='Sfera_yuzasi:'+FloatToStr(4*pi*sqr
(StrToFloat(Edit1.Text)));
F9 tugmasini ikki marta bosib, ilovani ishga tushiramiz.
3. Ilovalarda o‘zgaruvchilardan foydalanish. Oxirgi ikki satr juda
murakkab ko‘rinishga ega bo‘lib, ularni kiritishda xato o‘tkazib yuborish
hech gap emas. Sharning hajmi va sfera yuzasi ;
formulalar bilan hisoblanishini inobatga olsak, yuqoridagi formulalar
rostdan ham g‘aliz chiqqanligi yaqqol ko‘rinib qoladi.
Bu kamchilikni bartaraf qilishning yo‘li bormi? Albatta bor. Buning
uchun qo‘shimcha o‘zgaruvchilardan foydalanish kerak bo‘ladi.
O‘zgaruvchilar dastur matniga qanday kiritilishini eslash uchun dastur kodi
oynasi va undagi dastur matni bilan yaqindan tanishib chiqamiz.
4. Butun sonlar yig‘indisi ilovasi. va butun sonlar berilgan
bo‘lsin. Ular va ular orasidagi barcha butun sonlar yig‘indisini topadigan
ilova yaratamiz. Buning uchun yangi ilova yaratamiz va unga uchta Label,
ikkita Edit va bitta Button obyektini joylaymiz. Ularning joylashishi va
xossalari quyidagi rasmda berilgan.
Bu protseduraga u qilishi kerak bo‘lgan ishni bajaradigan operatorlarni kiritamiz: protseduraning to‘liq ko‘rinishi quyida keltirilgan: procedure TForm1.Button1Click(Sender: TObject); var i,m,n,s:integer; begin
m:=Strtoint(Edit1.Text); n:=Strtoint(Edit2.Text);
s:=0; for i:=m to n do s:=s+i; Label3.Caption:='Yig‘'indi: '+Inttostr(s); end;
“Oddiy arifmetika trenajori” loyixasi
Edit1, Edit2 => “qo‘shiluvchilarni kiritish”
Edit3 => “Yig‘indi”
Button1 => “Natijani hisoblash”
Do'stlaringiz bilan baham: |