Maple тизимининг ыисыача характеристикаси


Процедуралар ва процедура-функциялар


Download 1.35 Mb.
bet20/34
Sana18.02.2023
Hajmi1.35 Mb.
#1213620
1   ...   16   17   18   19   20   21   22   23   ...   34
Bog'liq
Maple 72

5.5. Процедуралар ва процедура-функциялар


Процедура деб бир ёки бир неча амални бажарувчи мустақил дастур модулига айтилади. Ҳар бир прецедура ўзининг ягона номига ва параметрларининг рўйхатига эга бўлади (рўйхат бўш ҳам бўлиши мумкин). Прецедура бириктирилган функция каби номи ва фактик параметрларининг рўйхати кўрсатилиб чақирилади. Одатда процедура хеч қандай қийматни қайтармайди, процедура - функция эса маълум қийматларни қайтаради. Процедуранинг энг содда шакли қуйидагича бўлади:


name :=рrос(Формал параметрлар)
Процедура қобиғи
end;
Процедуранинг параметрлари ўзгарувчиларнинг номларини келтириш йўли билан берилади, масалан, ргос(х) ёки proc(x.y.z). Ўзгарувчиларнинг турлари :: белгиси ёрдамида зарур бўлса аниқлаштрилади, масалан prog(n::Integer) кўринишида n ўзгарувчи бутун сонли ўзгарувчи эканлиги эълон қилинган. Процедура қуйидаги кўринишда чақирилади:
name(Фактик_параметрлар)
Фактик параметрлар формал параметрларнинг ўрнига қўйилади:
> f := proc( s )
print(Sin(s));
sin( s )
end proc;
> f(4.);




> f(1.);


Кейинги мисолда прцедурадаги формал параметрлар сони тўртта:
> lc := proc( s, u, t, v )
s * u + t * v
end proc:
> lc(1,2,3,4);

Одатда процедура ўзининг қобиғидаги охирги ифоданинг ёки RETURN оператори ёрдамида қайтаришга мўлжалланган ифоданинг қийматини қайтаради:
> lc := proc( s, u, t, v )
s * u + t * v:


RETURN(s,v)
end proc:

> lc(2,4,6,8);



Ушбу мисолда RETURN операторининг параметрлари сифатида s ва v ўзгарувчилар олинганлиги сабабли уларнинг қийматлари 2 ва 8 қайтарилди. RETURN операторининг параметрлари сифатида ҳар қандай ифодадан фойдаланиш мумкин. Maple тизимида процедура - функциялар алоҳида классга ажратилмаган. Агар RETURN оператори ишлатилмаган бўлса процедура таркибидаги энг сўнгги ифоданинг қиймати қайтарилади.
Аввал аниқланган глобол ўзгарувчиларга процедуранинг ичида қийматлар берилса кутилмаган қўшимча эффектлар юзага келиши мумкин. Maple дастурлаш тили бундай эффектларнин олдини олиш воситаларига эга, яъни ўзгарувчи локал ўзгарувчи деб эълон қилинади ва бу тўғридаги огоълантирувчи ёзув чиқарилади:  
> restart:m:=0;



Download 1.35 Mb.

Do'stlaringiz bilan baham:
1   ...   16   17   18   19   20   21   22   23   ...   34




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