O’zbekiston Respublikasi Oliy va o’rta maxsus ta’lim vazirligi Samarqand davlat iniversiteti Amaliy matematika va informatika fakulteti Axborotlashtirish texnologiyalari kafedrasi Mavzu



Download 446,09 Kb.
bet4/7
Sana08.07.2022
Hajmi446,09 Kb.
#757119
1   2   3   4   5   6   7
Bog'liq
Kurs ishi Tolib

PROTSEDURA VA FUNKSIYALAR

Ko`pincha ma’lum amallar majmuini dasturning turli qismida


takrorlashga to`g`ri keladi. Paskalda ko`p takrorlanadigan amallar majmuini
asosiy dasturdan ajratib olib, ulardan alohida bloklar - protsedura va
funksiyalar tashkil qilish mumkin. Har bir shunday tashkil etilgan
protsedura va funksiyaga albatta nom beriladi. Kerakli protsedura yoki
funksiyaga uning nomi orqali murojaat etiladi. Protsedura va funksiyalardan
oqilona foydalanib tuzilgan dastur, odatda, sodda va tushunarli bo`ladi.
Protseduralar ham, funksiyalar ham ma’lum amallar majmuidan iborat
bo`lsa, ular bir biridan nimasi bilan farq qiladi?
Funksiyalar, umuman olganda, biror bir qiymatni hisoblashga
mo`ljallab tuziladi. Pirovard natijada hisoblangan qiymat funksiya nomiga o`zlashtiriladi.
Protseduralar esa ma’lum bir amallar ketma-ketligini bajarish
maqsadida tuziladi. Bunda biror natijaviy qiymat hisoblanishi emas, balki
berilgan amallar ketma-ketligi bajarilishining o`zi ahamiyatga ega.
Masalan, dasturda tomonlari berilgan uchburchak yuzini bir necha
marta hisoblash kerak bo`lsa, funksiyadan foydalanish maqsadga muvofiq.
Chunki bunda har safar birgina qiymatni - uchburchakning yuzi hisoblanadi.
Agar uchlarining berilgan tomonlari bo`yicha ekranda bir nechta uchburchak
chizish talab etilgan bo`lsa, tabiiyki, birgina qiymatni hisoblashga
mo`ljallangan funksiya emas, balki, ekranda uchburchak chizish jarayonini
tashkil etuvchi protsedura tuzish lozim.
Protsedura va funksiyalarni ularga murojaat etishda
beriladiganma’lum bir qiymatlarga bog`liq qilib tashkil etish ham mumkin.
Bu qiymatlar parametrlar, shu tarzda tashkil etilgan protsedura va
funksiyalar esa parametrli protsedura va funksiyalar deyiladi.
Protsedura va funksiyalar sarlavha bilan boshlanadi.
Procedure
(parametrlar);
Funksiya sarlavhasi quyidagi umumiy ko`rinishga ega:
Function (parametrlar): qiymatiningturi>;
Parametrli protsedura va funksiyalarda parametrlarning turlari ham
tavsiflanadi. Masalan,
Function daraja (a, n : Integer):Integer; yoki Procedure shifr(satr:
String);
Ko`rib turganingizdek, protsedura va funksiyalar o`xshash tuzilishga
ega. Ularning tuzilishi dasturning tuzilishidan deyarli farq qilmaydi. Shuni
aytish lozimki, asosiy dasturda tavsiflangan o`zgarmas va o`zgaruvchilar
umumiy (global) o`zgarmas hamda o`zgaruvchilar deyiladi. Ulardan
dasturning istalgan qismida, jumladan, protsedura va funksiyalarning ichida
ham foydalansa bo`ladi. Biror protsedura yoki funksiyaning ichida
tavsiflangan o`zgarmas va o`zgaruvchilar mahalliy (lokal) o`zgarmas va
o`zgaruvchilar deyiladi. Ulardan faqat o`zi tavsiflangan protsedura yoki
funksiyaning ichida foydalanish mumkin. Paskalda umumiy va mahalliy
o`zgaruvchi bir xil nomga ega bo`lishi ham mumkin. Bu holda mahalliy
o`zgaruvchi tavsiflangan protsedura yoki funksiya ichida mahalliy
o`zgaruvchining qiymati, boshqa protsedura va funksiyalarda hamda asosiy
dasturda umumiy o‘zgaruvchining qiymati hisobga olinadi.
1- misol.[20, 83], [178, 391], [211, 746] oraliqlardagi barcha butun
sonlar yig`indisini topish dasturini tuzing.
Yechish. Berilgan uchta oraliqdagi butun sonlarning yig`indisini
hisoblash uchun parametrli takrorlash operatoridan uch marta foydalanishga
to`g`ri keladi. Masalani berilgan oraliqning boshlang`ich va oxirgi
qiymatlarini parametr sifatida olib, shu oraliqdagi butun sonlarning
yig`indisini hisoblovchi funksiyadan foydalanib ham yechish mumkin.
Program Summa;
Var i, s, s1, s2, s3 : Integer;
Function Sum(n1, n2:Integer):Integer;
Begin
s:=0; For i:=n1 To n2 Do s:=s+i; Sum:=s;
End;
BEGIN
S1:= Sum(20,83); s2 := Sum(178,391); s3:=Sum(211,746);
S:=s1+ s2 + s3; WriteLn(`S= s)
END.
2- misol. Uchburchakning berilgan tomonlari bo`yicha, uning
balandliklarini aniqlovchi dastur tuzing. Program Uchburchak balandligi;

Var a, b, c, ha, hb, he: real;


Function H_UB(a, b, c: real): real; { a, b, с- Uchburchak tomonlari }
Var yp, s: real;

Begin

yp:= (a+b+c)/2; {Perimetr yarmini hisoblash
s:= Sqrt(yp*(yp-a)*(yp-b)*(yp-c)); {Yuza hisoblash}
H_UB:= 2*s/a; {Funksiyaga qiymat berildi }
End;
Begin
Write(`Uchburchak tomonlari (a,b,c) kiritilsin`); Readln(a,b,c),
ha:= H_UB(a, b, c); hb:= H_UB(b, a, c); hc:= H_UB(c, b, a);
Writeln(`Uchburchak balandliklari: `);
Writeln(`ha= `, ha:10:4, `hb= hb:10:4, `hc= hc:10:4);
Readln
End.
3- misol. Uchta uchburchak uchlarining quyidagi koordinatalari
berilgan
1) (120,20), (80,170), (140,150); 2) (200,97), (500,156), (210,180),
3) (300,190), (200,390), (415,222).
Shu uchburchaklarni mos ravishda qizil, sariq va yashil ranglarda
chizish dasturini tuzing.
Uses Graph;
var gd, gm:Integer;
Procedure Uchburchak(x1,y1,x2,y2,x3,y3,col:Integer);
begin
SetColor(col); Line(x1,y1,x2,y2); Line(x2,y2,x3,y3);

Line(x3,y3,x1,y1); end;


Begin gd:=0; InitGraph(gd,gm, ");
Uchburchak( 120,20,80,170,140,150,4);
Uchburchak(200,97,500,156,210,180,14);
Uchburchak(300,190,200,390,415,222,2); ReadLn;
CloseGraph;
End



Download 446,09 Kb.

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




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