Konstanta
|
Axborot tipi
|
Nishon
|
mtWarning
|
Diqqat
|
|
mtError
|
Hato
|
|
mtInformation
|
Axborot
|
|
mtConfirmation
|
Tasdiq
|
|
MessageDlg funksiyasining konstantalari 3.9-jadval
Konstanta
|
Tugma
|
Konstanta
|
Tugma
|
mbYes
|
Yes
|
mb Abort
|
Abort
|
mbNo
|
No
|
mbRetry
|
Retry
|
mbOK
|
OK
|
mbIgnore
|
Ignore
|
mbCancel
|
Cancel
|
mbAll
|
All
|
mbHelp
|
Help
|
|
|
Yuqoridagi konstantalardan tashqari, mbokcancel, mbYesNoCancel va mbAbortRetryIgnore kabi konstantalardan ham foydalanish mumkin.
Ma`lumotlarni ilova interfeysiga chiqarish uchun muhim vosita-lardan biri – Standard qurollar palitrasidagi Label (tamg’a) komponentasi hisoblanadi. Oynada ko`rsatiladigan ma`lumot Caption xususiyati bilan aniqlanadi. Uning xususiyatini ilova interfeysini ishlab chiqish jarayonida yoki dastur tarkibida o`zgartirish mumkin. Ikkinchi holda Caption xususiyatiga yangi qiymat berish lozim bo’ladi.
3.9-rasmda burchakni gradusdan radianga o`tkazish dialog oynasi berilgan. Unga ikkita Label, bittadan Edit va Button komponentalari joylangan. Label1 komponentasi eslatma tarzidagi ma`lumotni, Label2 – eda dastur natijasini ekranga chiqaradi.
Caption xususiyati belgili bo’lib, sonli ma`lumotlarni chiqarishdan avval bu sonlarni satrli tipga o`tkazish yalab qilinadi. Masalan:
Label2.Caption: FloatToStr(kg)' kg';.
3.9-rasm. Label2 maydoni dastur natijasi uchun mo`ljalangan.
4-BOB. DELPHI DA BOSHQARISH BUYRUQLARI
4.1. Mantiqiy ifodalar
Mantiqiy ifodalar (shartlar) odatda javobi Ha (True -rost) yoki Yo`q (False -yolg’on) tarzida bo`lgan savollar tarzida qo`yiladi. Masalan:
12 soni 5 ga bo`linadimi?
Javob to`g’rimi?
Xarid narxi 5000 so`mdan ko`pmi?
Eng sodda shart ikki operanda va munosabat belgisidan iborat bo`ladi. Umumiy holda shartlar quyidagicha yoziladi:
On1 operator On2
Bu yerda On1 va Op2 — shartning ikki operandasi bo`lib, ular o`rnida o`zgaruvchi, konstanta, funksiya va ifodalar kelishi mumkin, Operator — taqqoslash operatori. Delphi tilida oltita taqqoslash operatori mavjud:
>, <, =, <>, ≤, >=, <=.
Shartlarda ishtirok etgan operandalar bir hil tipda bo`lishi lozim. Agar operandalarning biri boshqa tipga mansub bo`lsa, ularni bir hil tipga keltirish zarur. Masalan, Key o`zgaruvchisi integer deb e`lon qilingan bo`lsa, Key Chr(13) ko`rinishdagi shart sintaktik jihatdan noto`g’ri, chunki, Chr funksiyasining qiymati char tipida bo`ladi.
Dastur matnini translyatsiya qilishda noto`g’ri yozilgan shartlar uchrab qolsa, bu haqda
incompatible types (o`zaro mos bo`lmagan tiplar)
tarzidagi axborot ekranga chiqariladi.
Sodda shartlardan foydalanib, And – (VA), Or- (YOKI) hamda Not – (INKOR) mantiqiy amallari yordamida murakkab shartlarni hosil qilish mumkin. Murakkab shartlar umumiy holda quyidagicha yoziladi :
SHart1 operator SHart2
Bu yerda SHart1 va SHart2 – sodda shartlar, operator - esa and yoki or lardan biri bo`lishi mumkin. Masalan:
(ch > '0') and (ch < '9')
(day 7) or (day = 6)
Not (D>=0)
Murakkab shartlarning qiymatlari 3.2-jadvalda keltirilgan.
Mantiqiy amallarning qiymatlari 4.2-jadval
A
|
V
|
A and V
|
A or V
|
not A
|
False
|
False
|
False
|
False
|
True
|
False
|
True
|
False
|
True
|
True
|
True
|
False
|
False
|
True
|
False
|
True
|
True
|
True
|
True
|
False
|
Murakkab shartlarni yozishda mantiqiy operatorlarning saviyasi taqqoslash operatorlariga qaraganda yuqori ekanligini nazarda tutish lozim. Shuning uchun sodda shartlarni qavslarda yozish talab qilinadi. Masalan, xarid uchun chegirmalar quyidagicha bo`lsin: "Xarid narxi 10000 so`mdan ko`p va xarid kuni – yakshanba bo`lsa 10% li chegirma beriladi". Agar xafta kuni butun tipdagi Day o`zgaruvchisi bo`lib, uning 0 ga teng bo`lishi yakshanbani anglatsa, chegirma shartini quyidagicha yozish mumkin:
(Summa > 100) and (Day 0)
4.2. Tarmoqlanish ( if ) buyrug’i
Ko`plab masalalarni yechish jarayonida qandaydir shartlar asosida mumkin bo`lgan ikki yoki undan ortiq bo`lgan variantlardan birini tanlashga to`g’ri keladi. Masalan:
Pulim etadimi? U holda sotib olaman, aks holda yo`q;
Diskriminant noldan katta yoki tengmi? U holda kvadrat tenglama yechimga ega, aks holda yo`q.
Bunday xollarni dasturlash uchun If tarmoqlanish buyrug’idan foydalanish mumkin.
If buyrug’i mumkin bo`lgan ikki qadamdan birini tanlashga imkon beradi va tanlov shartning qiymatiga ko’ra amalga oshiriladi. Buyruq umumiy ko`rinishda quyidagicha yoziladi:
if shart then
begin
1-buyruqlar ketma-ketligi;
end
else
begin
2-buyruqlar ketma-ketligi;
end;
If buyrug’i quyidagicha bajariladi:
1. Shartning qiymati (True yoki False) aniqlanadi;
2
3.2-rasm. Tarmoqlanish buyrug’i blok-sxemasi
. Agar shart rost (True) bo`lsa, u holda then so`zidan keyin begin va end o`rtasida ko`rsatilgan 1-buyruqlar ketma-ketligi bajariladi. Aks holda, ya`ni shart yolg’on (False) bo`lsa, u holda else so`zidan keyin begin va end o`rtasida yozilgan 2-buyruqlar ketma-ketligi bajariladi. Bu xolat 4.2-rasmda tasvirlangan.
Agar if buyrug’ida 1 yoki 2-buyruqlar ketma-ketligi faqat bitta buyruq bo`lsa, u holda begin va end larni tushirib qoldirish mumkin. Ma`lumki, kvadrat tenglama yechimining mavjudligi diskriminant qiymatiga bog’liq. Buni e`tiborga olgan xolda, kvadrat tenglama yechimini topish buyruqlarini quyidagicha yozish mumkin:
if D<0 then
showmessage(‘yechim mavjud emas’
else
showmessage(‘tenglama yechimga ega’);
Agar biror amalning faqat shart rost bo`lgan holdagina bajarilishi talab qilinsa, u holda tarmoqlanish buyrug’i quyidagicha yoziladi:
if shart then
begin
{ shart faqat rost bo`lgandagina bajariladigan buyruqlar}
end ;
Masalan
if n m then c : c 1;
buyrug’i faqat n m bo`lgandagina c ning qiymatini birga oshiradi.
If buyrug’ini amalda qo`llanish o’quvchilatga yaxshi tanish bo’lgan kvadrat tenglama yechimlarini topish misolida bayon qilinadi.
Ma`lumki, kvadrat tenglama a, b, c koeffitsientlari orqali beriladi. Uning yechimlarini topish uchun dastlab diskriminant formula bilan topiladi. Agar u noldan katta yoki teng bo`lsa, tenglama yechimga ega bo`ladi va bu yechimlar
4.4-rasm. Kvadrat tenglama dasturining dialog oynasi
formulalar bilan aniqlanadi. Agar diskriminant noldan kichik bo`lsa yechimlar mavjud emas.
Ilova formasiga koeffitsientlarni kiritish uchun 3 ta kiritish maydoni, izoh va yechimlar uchun to`rtta chiqarish maydonlari hamda bitta buyruqli tugma qo`yiladi. Bu komponentalarning qiymatlari 4.3-jadvalda beriladi.
Eslatma: Bu yerda va bundan buyon formalarni tavsiflashda komponentalarning o`zgaradigan hususiyat qiymatlari keltiriladi halos. Komponetalarning qolgan hususiyatlari o`zgarmaydi.
Kvadrat tenglama dasturining komponentlari 4.3-jadval
komponenta
|
Mazmuni
|
Caption qiymati
|
Edit1
|
a koeffitsient uchun
|
|
Edit2
|
b koeffitsient uchun
|
|
Edit3
|
c koeffitsient uchun
|
|
Label1
|
a ni kiritish uchun
|
A ni kiriting
|
Label2
|
b ni kiritish uchun
|
B ni kiriting
|
Label3
|
c ni kiritish uchun
|
C ni kiriting
|
Label4
|
Yechimni ekranga chiqarish uchun
|
Yechimlar
|
Button1
|
Xisoblashni boshlash uchun
|
yechimlarni xisoblash
|
Dastur yechimlarni xisoblash tugmasi bosilishi bilan xisoblashni boshlaydi. Bunda onclick xodisasi ro`y beradi. Uni TForm1.Button1Click protsedurasi yordamida qayta ishlanadi.
4.1-listing. Kvadrat tenglama yechimlarini xisoblash
unit kw_teng;
procedure TForm1.Button1Click(Sender: TObject);
var a1, b1, c1, d, x1, x2:real;
begin
a1 : strtofloat(edit1.Text);
b1 : strtofloat(edit2.Text);
c1 : strtofloat(edit3.Text);
d : b1*b1-4*a1*c1;
if d > 0 then
begin
x1 : (-b1 sqrt(d)) (2*a1);
x2 : (-b1 - sqrt(d)) (2*a1);
label4.caption:'x1'floattostr(x1)#13'x2'floattostr(x2);
end
else
label4.caption : 'Tenglama yechimlarga ega emas';
end;
end.
0>
Do'stlaringiz bilan baham: |