Ш. И. Раззоќов, М. Д. Юнусова turbo pascal алгоритмик тилида дастурлаш касб-ћунар коллеж талабалари учун ўќув ќўлланма


Download 1.74 Mb.
bet68/96
Sana30.04.2023
Hajmi1.74 Mb.
#1413831
1   ...   64   65   66   67   68   69   70   71   ...   96
Bog'liq
Turbo Pascal назария

near ва for процедуралар процедура (функция) баёнида унинг блоки олдида кўрсатилади:
function SH (x:Real): Real; fаr;
begin
SH:=(Exp(x) – Exp(-x))/2;
end;
Чиќиш коди яратилишини (генерациясини), кўрсатилган чаќириш моделларига кўра, компиляторнинг {$F+} директиваси билан ћам бошќариш мумкин. {$F+} ћолатида компилирланувчи процедура ва функциялар ћамма ваќт чаќиришнинг узоќ турига (fаr) эга бўлади, {$F-} ћолатида эса компилятор тўѓри моделни танлайди. Сукут саќланганда
{$F-} директива ишлатилади.
10.5.2. forward директиваси
Процедура ва функцияларнинг илгариловчи деб аталувчи баёнлари учун forward директиваси ќўлланилади. У иккита процедура ўзаро рекурсиясини (бу тушунча 10.6.да берилади) амалга оширишда, шунингдек матн таснифини яхшилашда, ва унинг ўќимишлилигини оширишда ишлатилади.
10.4-дастур
program Recurs;
uses Crt;
procedure Rec1 (i : Byte); forward;
procedure Rec2 (i : Byte);
begin
Writeln (рекурсия.);
Rec1 (i)
end;
procedure Rec1;
begin
if i>0 then
begin
Write (Ўзаро);
Rec2 (i-1)
end
end;
begin ClrScr;
Rec1 (5)
end.

Натижа:
Ўзаро рекурсия


Ўзаро рекурсия
Ўзаро рекурсия
Ўзаро рекурсия
10.5.3. interrupt директиваси
Тўхтатиш процедураларини баён этишга interrupt директиваси хизмат ќилади. тўхтатиш процедураси сарлавћасида параметрлар сифатида регистр исмлари баён этилиши керак:
procedure Intrpt (Flags, CS, IP, AX, BX, CX, DX, SI, DI, DS, ES, BP:Word); interrupt
Агар параметрлардан баъзи бирлари процедурада ишлатилмаса, улар тушуриб ќолдирилиши мумкин. Лекин параметрлар рўйхатидаги регистр исмларининг ўзаро жойлашувини ўзгартириш мумкин эмас.
Турбо Паскал тилида мавжуд бошќа процедурали директивалар (export, external, assembler, inline) фаолиятини ќўшимча адабиётлардан ўрганиш мумкин.

10.6. Рекурсив муносабатлар, рекурсив функция ва процедуралар


Рекурсия – ћисоблаш жараёнини ташкил ќилишнинг шундай усулики, бунда ички дастур уни ташкил килувчи операторларни бажариш ваќтида уз-узига мурожаат ќилади.
Функция еки процедурага фаќат дастурнинг асосий ќисмидангина мурожаат ќилмасдан, балки бошќа функциялар еки процедуралардан ћам мурожаат ќилиш мумкин.
Рекурсив процедурага оддий мисол кўрамиз:

Download 1.74 Mb.

Do'stlaringiz bilan baham:
1   ...   64   65   66   67   68   69   70   71   ...   96




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