1. Borland C++ Builder Tarmoqlanuvchi algoritmni dasturlash 1-masala



Download 482,5 Kb.
bet1/6
Sana16.04.2020
Hajmi482,5 Kb.
#45217
  1   2   3   4   5   6
Bog'liq
builder

1. Borland C++ Builder Tarmoqlanuvchi algoritmni dasturlash

2.1-masala. Ikki butun musbat son M va N larning eng katta umumiy bo’luvchisi (EKUB) ni aniqlang.

Borland C++ Builder da dasturu:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int m,n,x,y;
m=StrToInt(Edit1->Text);
n=StrToInt(Edit2->Text);
x=m;y=n;
A:
if (x=y) goto B;
if (x>y) x=x-y;
if (xgoto A;
B: Edit3->Text=IntToStr(x);
}



2.2-masala. Ikkita X va Y sonlarning kattasini tanlash (EKT) dasturini tuzing.

Borland C++ Builder da dasturu:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int m,y,x;
x=StrToInt (Edit1->Text);
y=StrToInt(Edit2->Text);
if (x==y)
ShowMessage("Bu sonlar teng");
if (x>y) m=x; Edit3->Text=IntToStr(m);
if (xEdit4->Text=FloatToStr(x1);
Edit5->Visible=False;
}

2.3-masala. Raketa V (km/soat) tezlik bilan Yer ekvatoridagi nuqtadan Yerning Quyosh atrofidagi orbitasi bo’ylab uchiriladi. Raketani uchirish natijasi qanday bo’ladi?

Borland C++ Builder da dasturu:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float a;
a=StrToFloat (Edit1->Text);
if a<7.9 label3->Caption='Raketa Yerga qaytib tushadi';
if (a>=7.9) and (a<11.2
label3->Caption='Raketa Yerning sun`iy yo`ldoshiga aylanadi';
if (a>=11.2) and (a<16.7) 
label3->Caption='Raketa Quyoshning sun`iy yo`ldoshiga aylanadi';
if a>=16.7 label3->Caption:='Raketa Galaktikaning sun`iy yo`ldoshiga aylanadi';
}

2.4-masala. Lakmus qog’ozidan foydalanib eritma muhitini aniqlang.
Yechish. Ma’lumki, eritmaga tushirilgan lakmus qog’ozi qizil bo’lsa, eritma kislotali;
Ko’k bo’lsa, ishqorli; aks holda eritma neytral bo’ladi.

Borland C++ Builder da dasturu:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Char a[10];
a:=Edit1 ->text;
if a='qizil' then
Label3 ->Caption='Eritma kislotaliil' 
if a='ko`k' 
Label3 ->Caption='Eritma ishqorli'
Else
{
Label3.Caption='Eritma neytral';
}

}

2.5-masala. Agar kvadratning tomoni A, doiraning radiusi R ga teng bo’lsa, kvadrat va doiraning yuzlarini solishtirib kattasini aniqlang.



Borland C++ Builder da dasturu:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Float a,r,sk,sd;
a=StrToFloat(Edit1 ->Text);
r=StrToFloat(Edit2 ->Text);
sk=a*a; sd=pi*r*r;
if sk>sd then
{ Edit3 ->Text=’Kvadratning yuzi katta!’ }
else 
{
if skEdit3 -> text=’Doiraning yuzi katta!’ 
}else 
{Edit3 -> Text=’Yuzlari teng!’;
}

2.6-masala. Berilgan N yil kabisa yili bo’lish-bo’lmasligini aniqlang. Agar N 100 ga karrali son bo’lmasa va uning oxirgi ikki raqami 4 ga karrali son bo’lsa, u holda N-yil kabisa yilidir. Agar N soni 100 karrali bo’lsa,u holda N soni 400 ga karrali bo’lgandagina mazkur yil kabisa yili bo’ladi.

Borland C++ Builder da dasturu:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Int n;
n=StrToInt(Edit1 ->Text);
if n mod 100=0 then { if n mod 400 =0 then Edit2 ->Text=’Bu yil kabisa yili!’ else 
Edit2 ->Text=’Bu yil kabisa yili emas!’; }
Else { if n mod 4 =0 then Edit2 ->Text=’Bu yil kabisa yili!’
else Edit2 ->Text=’Bu yil kabisa yili emas!’; 
}
}

2.7-masala. A, B, C sonlar mos ravishda uchta kesmaning uzunliklarini ifodalaydi. Agar kesmalar uchburchakning tomonlarini ifodalasa, uchburchakning yuzi S, uchburchakka tashqi va ichki chizilgan aylanalarning radiuslari R1 va R2 larni toping.

Borland C++ Builder da dasturu:
#include
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Float a,b,c,r1,r2,s,p;
a=StrToFloat(Edit1 ->Text);
b=StrToFloat(Edit2 ->Text);
c=StrToFloat(Edit3 ->Text);
if ((a+b)>c) and ((a+c)>b) and ((b+c)>a) then 
{
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
r2=s/p;
r1=a*b*c/(4*s);
Edit4 ->Text=FloatToStr(r1);
Edit5 ->Text=FloatToStr(r2);
Edit6 ->Text=FloatToStr(s); 
else showmessage(‘Kiritilgan sonlar uchburchak tomonlarini ifodalamaydi!’);
}

2.8-masala. Ax+B=0 tenglamani yeching.

Borland C++ Builder da dasturu:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Float a,b,x;
a=StrToFloat(Edit1 ->Text);
b=StrToFloat(Edit2 ->Text);
if a=0 then 
{if b!=0 then showmessage(‘Bu tenglamaning yechimi yo`q!’)
else 
Edit3 ->Text=’Bu tenglamaning yechimlari cheksiz ko`p!’ 
else { x:=-b/a; Edit3 ->Text:=FloatTostr(x);
}}
}

2.9-masala. Bir tomoni va unga yopishgan ikkita burchagi berilgan uchburchakning uchinchi burchagi va qolgan ikki tomonini aniqlang.

Borland C++ Builder da dasturu:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Float a,ab,bb,b,c,cb;
a=StrToFloat(Edit1 ->Text);
ab=StrToFloat(Edit2 ->Text);
bb=StrToFloat(Edit3 ->Text);
cb=pi-ab*pi/180-bb*pi/180;
b=a*sin(bb)/sin(ab);
c=a*sin(cb)/sin(ab);
Edit4 ->Text=FloatToStr(cb);
Edit5 ->Text=FloatToStr(b);
Edit6 ->Text:=FloatToStr(c);
}

2.10-masala. Uchta sonning berilgan bularninig eng kattasi (EKT) ni toping.

Borland C++ Builder da dasturu:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Float a,b,c,max;
a=StrToFloat(Edit1->Text);
b=StrToFloat(Edit2->Text);
c=StrToFloat(Edit3->Text);
if a>b then 
max=a else max=b;
if max>c then max=max else max=c;
Edit4->Text=FloatToStr(max);
}

Borland C++ Builder da butun va haqiqiy sonlar

Dastur ishlashi jarayonida xotiradan kamroq joy egallashi dasturning tez ishlashiga olib keladi. Bu muammolar dasturdagi o'zgaruvchilar sonini kamaytirish, yoki o'zgaruvchilar saqlanadigan yacheyka hajmini kamaytirish orqali erishiladi.


Borland C++ Builder da butun va haqiqiy sonlarni e'lon qilish uchun bir nechta toifalar mavjud. Ular bir - biridan kompyuter xotirasida qancha hajm egallashi va qabul qiluvchi qiymatlar oralig'i bilan farq qiladi.

Butun sonlar
unsigned short int 0..65535 2 bayt
short int –32768..32767 2 bayt
unsigned long int 0..42949667295 4 bayt
long int –2147483648..2147483647 4 bayt
int (16 razryadli) –32768..32767 2 bayt
int (32 razryadli) –2147483648..2147483647 4 bayt
unsigned int (16 razryadli)0..65535 2 bayt
unsigned int (32 razryadli)0..42949667295 4 bayt

Haqiqiy sonlar
float 1.2Е–38..3.4Е38 4 bayt
double 2.2Е–308..1.8Е308 8 bayt
long double (32 razryadli) 3.4e-4932..-3.4e4932 10 bayt

Mantiqiy ifoda
bool true yoki false 1 bayt

Belgilar
char 0..255 1 bayt
void 2 yoki 4

Har xil toifadagi o'zgaruvchilar kompyuter xotirasida turli xajmdagi baytlarni egallaydi. Xattoki bir toifadagi o'zgaruvchilar ham qaysi kompyuterda va qaysi operatsion sistemada ishlashiga qarab turli o'lchamdagi xotirani egallashi mumkin.


Borland C++ Builder da ixtiyoriy toifadagi o'zgaruvchilarning o'lchamini sizeof funksiyasi orqali aniqlash mumkin. Bu funksiyani o'zgarmasga, biror toifaga va o'zaruvchiga qo'llash mumkin. Toifalarni kompyuter xotirasida egallagan xajmini aniqlash.

Borland C++ Builder da dasturu:

void __fastcall TForm1::Button1Click(TObject *Sender)


{
Edit1->Text=sizeof(char);
Edit2->Text=sizeof(bool);
Edit4->Text=sizeof(int);
Edit5->Text=sizeof(float);
Edit6->Text=sizeof(double);
Edit7->Text=sizeof(long double);
}

NATIJA:


Matemetik funksiyalardan dasturda foydalanish uchun math.h sarlavha faylini progarmmaga qo'shish kerak. #include

1. abs(x) - butun sonlar uchun /x/
2. fabs(x) - haqiqiy sonlar uchun
3. labs(x) - uzun butun son uchun
4. Pow(x,y)-xy
5. sqrt(X)-ildiz(X)
6. ceil(x)-haqiqiy toifadagi x o'zgaruvchisi qiymatini unga eng yaqin katta butun songa aylantiradi.
7. floor(x)-haqiqiy toifadagi x o'zgaruvchisi qiymatini unga eng yaqin kichik butun songa aylantiradi.
8. cos(x)-x burchak kosinusini aniqlash. x radian o'lchovida.
9. sin(x)-x burchak sinusini aniqlash. x radian o'lchovida.
10 exp(x)-ex
11. log(x)-x sonining natural logarifmini qaytaradi.
12. log10(x)-x sonining 10 asosli logarifmini qaytaradi.

1 - Misol: n va m natural sonlari berilgan. n sonini m soniga bo'lib, qoldiqni aniqlovchi dastur tuzilsin.



Borland C++ Builder da dasturu:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
int a,n,m;
n=StrToFloat(Edit1->Text);
m=StrToFloat(Edit2->Text);
a=n%m;
Edit3->Text=FloatToStr(a);
}

NATIJA:


Dasturlash san'ati


1. Har bir dastur, muallif, sana, dastur maqsadini anglatuvchi izoh bilan boshlanishi kerak.
2. Dastur yozayotganda joy tashlashlarni kelishilgan, aniq bir qoida asosida olib borgan maqul.
Masalan, tabulyatsiyani 4 ta probel deb qabul qilish mumkin. Ammo bu har kimning tasavvuriga bog’liq, maqsad shuki, dastur sodda oq’ishli va ko’rinishli bo’lsin.
3. Har bir verguldan keyin probel tashlang, dastur oson o’qilsin.
4. O’ zgaruvchilarni e’ lon qilishni boshqa operatorlardan bo’ sh satr bilan ajratib qo’ying.
5. (+, -, *, /) kabi amallarni har ikkala tomonidan probel qo’ying. Bu dastur o’ qilishini qulaylashtiradi.

2 - Misol: n va m natural sonlari berilgan. n sonini m soniga bo'lib, butun qismini aniqlovchi dastur tuzilsin.



Borland C++ Builder da dasturu:

Download 482,5 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4   5   6




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