Algoritmlar. O’quv-uslubiy majmua


Protsedura qism dasturi va unga murojaat


Download 1.78 Mb.
bet208/275
Sana08.01.2022
Hajmi1.78 Mb.
#247819
1   ...   204   205   206   207   208   209   210   211   ...   275
Bog'liq
Algoritmlar

Protsedura qism dasturi va unga murojaat. Protsedura qism dasturi qism dasturda bir necha natija hosil qilish kerak bo`lgan hollarda ishlatiladi. Har bir protsedurani tasvirlash sarlavhadan boshlanadi. Protsedura sarlavhasining umumiy ko`rinishi quyidagicha:
Procedure < nom > (< soxta parametrlar ro`yxati >);
bu yerda procedure - xizmatchi so`z; <nom> - protseduraning nomi; <soxta parametrlar ro`yxati> - turlari ko`rsatilgan va natijalarni ifodalaydigan nomlar turlari bilan sanab o`tiladigan qator.Formal parametrlar ro`yxatida parametr-qiymat, parametr-o`zgaruvchilar (bulardan oldinda var xizmatchi so`zi turishi shart), parametr-protseduralar (bularning oldida procedure xizmatchi so`zi turishi kerak) va parametr-funktsiyalar (bularning oldida function xizmatchi so`zi turishi kerak) bo`lishi mumkin.

1-misol. y= xn ni protsedura shaklida ifodalang.

Yechish.

procedure Step2(n; integer; x: real; var y: real);

var i: integer;

begin

y:= 1;

for i:=1 to n do

y:= y*x

end;

Bunda protseduraning nomi Step2 bo`lib, soxta parametrlar ro`yxatida esa berilganlarni aniqlovchi parametrlar - n, x va protsedura natijasini ifodalovchi prametr – y turlari bilan sanab o`tilgan. Protsedurani bajarish uchun asosiy dasturning ixtiyoriy joyidan unga murojaat qilish kerak. Protseduraga murojaat va uni bajarish quyidagi operator yordamida amalga oshiriladi: < protsedura nomi > (< aniq parametrlar ro`yxati >);

Bunda qism dastur tasvirida keltirilgan protseduraga murojaat qilishda soxta va aniq parametrlar orasida to`liq moslik bo`lishi shart, ya’ni soxta va aniq parametrlar soni bir xil bo`lishi, kelish tartiblari mos tushushlari va ularning turlari bir xil bo`lishi kerak.

2-misol.

bunda 1/a-m = (1/a)-m ekanini e’tiborga olsak, u holda dastur quyidagicha bo’ladi:
Program Step2;

Var m: integer ; a, z: real ;



procedure step1 (n: integer; x: real; var y: real);

var i: integer;

begin y:= 1; for i:= 1 to n do y:= y*x; end;

begin read(a, m);

if m= 0 then z:=1 else



if m >0 then step2(m, a, z) else step2(-m, 1/a, z);

writeln(a:8:3, m:3, z)



end.

Download 1.78 Mb.

Do'stlaringiz bilan baham:
1   ...   204   205   206   207   208   209   210   211   ...   275




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