Protsedura ha'm funksiya


max1; { max1 protsedurasina 2-marte murajaat qilip atir }


Download 335 Kb.
bet3/9
Sana04.02.2023
Hajmi335 Kb.
#1162549
1   2   3   4   5   6   7   8   9
Bog'liq
9.Prosedura hám Funkciyalar

max1; { max1 protsedurasina 2-marte murajaat qilip atir }
v:=S;
label1.Caption:='u='+floattostr(u)+#13+'v='+floattostr(v);
end.
Tiykarg'i programmanin' operatorlar boliminde eki marte jazilg'an max1 parametrsiz protsedurasina murajaat, dag'azalanadi qilingan protsedurani eki marte tiykarg'i programmag'a alip kelip isletiliwin quraydi. Itibar berilse, ekinshi programma birinshi protsedurasiz duzilgen programmag'a ko‘re qolayliraq ha'm apiwayiraq. Biz kiritken protsedura hazirshe tek g'ana ekew haqiyqiy san ishinem ulkenin aniqlap berdi, sonin' ushin programma tekstinin' kolemin kameytiriwden erisken jemis salmaqli bo‘lmadi. Biraq protseduralar tiykarg'i ko‘p kolemli tekstdegi amellerdi, wazipalardi o'rinlawg'a mo‘lsherlengen ha'm bul jag'dayda erishilgan jemis salmag‘i bir qansha joqari bo‘ladi.
Parametrsiz protseduranin' tiykarg'i kemshiligi, onin' tiykarg'i programmag'a ha'm ondag'i ma’lim parametrlerge baylanisi bolip esaplanadi.
Parametrli protseduralar
Protsedura menen tiykarg'i programmani baylanistiratug'in tiykarg'i faktor bul – protsedura parametrlari bolip esaplanadi. Parametrlardi eki turge ajratiladi: manisli parametrlar (parametr-manis), o'zgeriwshenli parametrler (para-metr - o‘zgeriwshi).
Parametr - manis bul protsedurani islew pratsesin ta’minlewshi parametrlar esoplanadi, yag'niy tiykarg'i programma manislerin protsedurag'a uzatatug'in parametr bolip esaplanadi.
Endi, joqarida ko‘rip shig'ilg'an sanlardi en' ulkenin tabiw algoritminin' prograasin manisli parametr menen jazilg'an protseduralar arqali amelge asirayiq:
var x, y, u, v: real; S: real;
procedure max2 ( a, b: real );
begin
if a>b then S:=a else S:=b;
end;
begin
x:=strtofloat(edit1.Text);
y:=strtofloat(edit2.Text);
max2 (x + y, x * y); u:=S;
max2 (0.5 , u); v:=S;
label1.Caption:='u='+floattostr(u)+#13+'v='+floattostr(v);
end;
bul jerde a, b - protseduranin' manisli formal parametrleri.
Protsedurag'a murajaat qiliwda formal ha'm faktik parametrlardin' turleri o‘zaro mas keliwi kerek, keri jag'dayda programma qate duzilgan esaplanadi. Joqaridag'i programmadan ko‘rinip turg'aninday, a ha'm b formal parametrler o‘rnina natiyjeli manisleri ma’lim an'latpalar qo‘yildi. Demek, manisli faktik parametrler o‘rnina, sol turli natiyjege erisiwshi an'latpa jaziliwi mumkin. Bunnan tisqari, protsedurada kiritilgen a ha'm b parametrleri tek g'ana protseduranin' ishindeg'ana ma’nisge iye, sirtta masele ushin tiykarg'i programma olar tusinersiz, manislerk aniqlanmag'an mug'darlari bolip esaplanadi. Shonin' ushin, manisli parametrlerge protsedura natiyjelerine o‘zlestirip, tiykarg'i programma uzatip bo‘lmaydi.
Joqarida duzilgan programmanin' tiykarg'i kemshiligi tawilg'an ulken san har dayim S o‘zgeriwshisine o‘zlestirilmekde. Maselemiz shartine ko‘re, natiyjeler u ha'm v o‘zgeriwshilerine o‘zlestiriliwi kerak. Sonin' ushin, programmada eki marte qo‘simsha u:=S ha'm v:=S o‘zlestiriw operatorlari jazildi.
Bul kemshilikdi duzati ushin protsedurag'a jane bir parametrdi kiritemiz. Biraq, kiritilgen bul parametr protsedurag'a manis alip kirmeydi ba'lki, protsedura natiujesine tiykarg'i programmag'a alip shig'ip ketedi. Bunday parametrdi parametr - o‘zgariwshi deb ataladi.
Parametr-o‘zgeriwshini parametr-manisten farq qiliw ushin protsedurani aniqlawdag'i parametrler diziminde o‘zgeriwshi aldinan var xizmetshi so‘zi jaziladi. Parametr - o‘zgeriwshiden so‘n' albette, onin' turi ko‘rsatip qo‘yiladi. Joqarida aytip otkenimizdey formal parametr - manis o‘rnina protsedurag'a murajaat waqtinda sol turli an'latpa jaziw mumkin bo‘lsa, parametr - o‘zgeriwshi ushin bul jag'day uliwma mumkin emas.
Protsedurani quralilastirip bariw dinamikasin an'law ushin jane, joqarida ko‘rilgen maksimum tabiw maselenin' programmani parametr - o‘zgeriwshi isletilgen jag'dayda ko‘rip shig'amiz:

Download 335 Kb.

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




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