Mirsaid Aripov, Nurillo Otaxanov


-listing. Nuqta uchburchak ichida yotadimi?



Download 9,81 Mb.
bet65/209
Sana16.01.2022
Hajmi9,81 Mb.
#371485
1   ...   61   62   63   64   65   66   67   68   ...   209
Bog'liq
DELPHI dasturlash titli 2018

8.1-listing. Nuqta uchburchak ichida yotadimi?

procedure TForm1.Button1Click(Sender: TObject);

var x, x1, x2, x3, y, y1, y2, y3 : real; // koordinatalar

S: real; // AVS uchburchakning yuzasi

s1,s2, s3: real; // kichik uchburchaklarning yuzalari

d:string;

Function Yuza(a1, a2, a3, b1, b2, b3: real):real;

Var ab, ac,bc,p : real; // Oralaq o`zgaruvchilar

begin

ab:=sqrt(sqr(a2-a1)+sqr(b2-b1));

ac:= sqrt(sqr(a3-a1)+sqr(b3-b1));

bc:= sqrt(sqr(a3-a2)+sqr(b3-b2));

p:=(ab+ac+bc)/2; // yarim perimetr

// Geron formulasi qo`llanmoqda

Yuza:=sqrt(p*(p-ab)*(p-ac)*(p-bc));

end;
begin

// Uchburchakning koordinatalari

x1:=strtofloat(edit1.Text); x2:=strtofloat(edit2.Text);

x3:=strtofloat(edit3.Text); y1:=strtofloat(edit4.Text);

y2:=strtofloat(edit5.Text); y3:=strtofloat(edit6.Text);

// berilgan nuqtaning koordinatalari

x:=strtofloat(edit7.Text); y:=strtofloat(edit8.Text);

// Katta uchburchakning yuzi

s:=yuza(x1, x2, x3, y1, y2, y3);

// Kichik uchburchaklarning yuzalari hisoblanmoqda

S1:=yuza(x1, x2, x, y1, y2, y);

s2:=yuza(x1, x, x3, y1, y, y3);

s3:=yuza(x, x2, x3, y, y2, y3);

d:=floattostr(s)+ ' '+floattostr(s1)+ ' '+floattostr(s2)

+' '+ floattostr(s3)+ ' '+floattostr(s1+s2+s3)+#13;

if abs(s-(s1+s2+s3))<=0.00000001 then

label11.Caption:=d+'Berilgan nuqta uchburchak ichida yotadi'

else

label11.Caption:=d+'Berilgan nuqta uchburchak ichida yotmaydi'

end;

end.

Koddagi abs(s-(s1s2s3))<0.00000001 shartiga e`tabor bering. Masalani yechish g’oyasiga ko`ra, s=s1+s2+s3 shartni tekshirish kerak edi. Ammo, parametrlarning haqiqiy son ekanligi, Delphi muhiti 0.9999999999 yoki 1.00000000001 sonlarini haqiqiy 1 soni deb qabul qilishi mumkinligini nazarda tutsak, bu shart tabiiy hisoblanadi.



Quyidagi dastur (8.2-listing) dala hovliga borib kelish qiymatini hisoblaydi (8.3-rasm). Bu masala uchun boshlang’ich ma`lumot sifatida masofa, bir litr benzin narxi, 100 km ga sarflanadigan benzin miqdori olinadi. Edit1, Edit2 va Edit3 maydonlari bu ma`lumotlarni kiritish uchun mo’ljallangan. OnKeyPress protsedurasi IsFloat funksiyasidan



8.2-rasm. Dastur dialog oynasining ko`rinishlari
foydalanadi. Bu funksiya kiritilayotgan belgilarni nazorat qilish uchun mo`ljallangan bo’lib, maydonlarga faqat mumkin bo’lgan belgilar, ya`ni, raqamlar, , tugmalarini bosilganligini e`tiborga oladi, qolgan tugmalarga “e`tibor bermaydi”.




Download 9,81 Mb.

Do'stlaringiz bilan baham:
1   ...   61   62   63   64   65   66   67   68   ...   209




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish