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


Download 1.74 Mb.
bet90/96
Sana30.04.2023
Hajmi1.74 Mb.
#1413831
1   ...   86   87   88   89   90   91   92   93   ...   96
Bog'liq
Turbo Pascal назария

Сарлавћасида for бўлган цикл. Бундай турдаги цикллар ќуйидаги умумий хусусиятга эга: агар цикл ичида унинг ўзгарувчисининг ќиймати ўзгармаса, бу цикл чекли ва унинг такрорланиш сони цикл сарлавћасида аниќланган бўлади. for циклнинг бу хусусиятини дастурчи дастур яратаётганда ёддан чиќармаслиги керак.
Процедуралар ва функцияларни дастурнинг мустаќил ќисми деб текшириш тавсия ќилинади. Рекурсив функциялар ва процедуралар ћаќида алоћида гаплашамиз. Улар худди циклга ўхшаш чексиз бажарилиши мумкин. Масалан:
procedure p;
begin
p; write (A)
end.
Функцияни ёки процедура рекурсив бўлганда, дастлабки маълумотлар (параметрлар) нинг ћар ќандай ќийматларида дастур чекли бўлишини текшириш керак. Рекурсив функциялар ва процедуралар чекли бўлиши учун иккита зарурий (бироќ, етарли бўлмаган) шартга риоя ќилиш керак:

  1. Рекурсив функция (процедура) га мурожаат ќилиш маълум шартда бажарилиши керак (масалан, рекурсив мурожаат ќилиш шартли операторнинг ќисми бўлади);

  2. Рекурсив функция (процедура) нинг тасвирида ћеч бўлмаганда битта ўзгарувчининг ќиймати ўзгариши керак. Рекурсив мурожаатнинг бажарилиши ана шу ўзгарувчига боѓлиќ бўлади.

Соннинг факториалини ћисобловчи функцияни кўрамиз. n-дастлабки маълумот (n  0), n! Факториал – функция ќийматидир.
function f (n:integer) : integer;
begin
if n > 0
then f : = f (n – 1) * n
else f : = 1
end.
Бу мисолда иккала зарурий шарт ћам бажарилган. Рекурсив функцияга мурожаат ќилиш шартли операторга киради. n - ўзгарувчининг ќиймати ћар бир f (n - 1) мурожаат ќилишда ўзгаради, яъни функциянинг янги нусхасида параметр ќийматидан ўзидан олдинги нусхадагига ќараганда битта кам бўлади. Маълум ваќтдан кейин n параметрнинг ќиймати нолга тенг бўлади ва f функцияга кейинги мурожаат ќилиш бажарилмайди. Функция биринчи нусхага ќайтганда кейин дастур ўз ишини тамомлайди.
Бошќа мисол кўрамиз:

Download 1.74 Mb.

Do'stlaringiz bilan baham:
1   ...   86   87   88   89   90   91   92   93   ...   96




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