Protsedura qism dasturi
Protsedura qism dasturi qism dasturda bir nechta natija hosil qilish kerak bo’lgan hollarda ishlatiladi va u asosiy dasturda struktura bo’yicha qism dastur bo’limida, ya’ni o’zgaruvchilar va operatorlar bloki bo’limlari orasida tasvirlanadi.
Har bir protsedurani tasvirlash sarlavhadan boshlanadi. Bunda protseduraning nomi va parametrlarning ro’yxatlari ularning toifalari bilan birga beriladi. Protsedura parametrsiz ham bo’lishi mumkin. Bu holda protsedura sarlavhasida faqatgina uning nomi ko’rsatiladi. Parametrlar yordamida belgilarni protseduraga berish, hamda hosil bo’lgan natijani protsedurani chaqirayotgan dasturga berish global parametrlar yordamida amalga oshiriladi. Protseduraning sarlavhasining umumiy ko’rinishi quyidagicha bo’ladi:
PROCEDURE [(< soxta parametrlar ro’yxati>)];
bu yerda PROCEDURE - xizmatchi so’z; - protseduraning nomi; -toifalari ko’rsatilgan berilganlarni va natijalarni ifodalaydigan nomlar toifalari bilan sanab o’tiladigan qator.
Soxta parametrlar ro’yxatida parametr-qiymat, parametr-o’zgaruvchilar (bularning oldida VAR xizmatchi so’zi turishi kerak), parametr-protseduralar (bularning oldida PROCEDURE xizmatchi so’zi turishi kerak) va parametr-funksiyalar (bularning oldida function xizmatchi so’zi turishi kerak) bo’lishi mumkin.
Protsedura sarlavhasidan keyin keladigan bo’limlar asosiy dasturda qanday tartibda kelsa, protsedurada ham shu tartibda keladi. Protsedura bloki nuqta vergul (; ) bilan tugaydi.
1-misol. yqxn ni protsedura shaklida ifodalang.
Yechish:
Procedure Step1(n: integer; x: real; var y: real);
var i: integer;
begin
y:q1;
for i:q1 to n do
y:qy*x
end;
Bunda protseduraning nomi step1 bo’lib, soxta parametrlar ro’yxatida esa berilganlarni aniqlovchi parametrlar- n,x va protsedura natijasini ifodalovchi parametr-y toifalari bilan sanab o’tilgan.
Protseduraning tanasi quyidagilardan iborat:
i o’zgaruvchi aniqlangan va faqat shu protsedurani ichida ma’noga ega bo’lgan, lokal o’zgaruvchi deb atalgan o’zgaruvchi tasvirlangan tasvirlash bo’limidan va haqiqiy sonni natural darajaga ko’tarishni hisoblaydigan algoritmni tasvirlovchi begin end ni ichiga olingan qo’shma operatordan iborat.
2-misol. yqxn ni parametrsiz protsedura shaklida ifodalash qism dasturini tuzing.
Yechish:
Procedure Step2;
var
i: integer;
begin y:q1;
for i:q1 to n do
y:qy*x
end.
Bu holda Step2 protsedurasi soxta parametrlar ro’yxatini o’z ichiga olmaydi va protsedura blokida tasvirlangan i lokal o’zgaruvchi va berilgan protsedurani tasvirlashni o’z ichiga olgan dasturda tasvirlanishi kerak bo’lgan X,N,Y o’zgaruvchilar bilan ishlaydi. Bunda X,N,Y o’zgaruvchilar STEP2 protseduraga nisbatan global o’zgaruvchilar deb ataladi. Global o’zgaruvchilarni asosiy dasturning ixtiyoriy joyida ishlatish mumkin (xususiy holda shu protseduraning ichida ham).
Do'stlaringiz bilan baham: |