русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Шановні українці! Матеріал був перекладений з російської мови. Тому можуть бути незначні помикли...

Рекурсія в Паскале

Рекурсії

У мові Паскаль процедури і функції м.б. рекурсивными. Підпрограма називається рекурсивним, якщо вона викликає саму себе. Рекурсивних м.б. опис підпрограми або звернення до неї.

Так для обчислення подвійного інтеграла


можна використовувати рекурсивне звернення до функції Sint

Y:=Sint(Sint(F1,C2,D2,n2),C1,D1,n1).

Рассмотрим приклад на рекурсивне опис.

 

Приклад 14.4. Обчислити факторіал згенерованого випадковим чином числа в діапазоні 010

Текст програми

Program recurs;
Uses crt;
Var F :longint;
num :integer;
ch :char;
Function Fact(n:integer):longint;
Begin
If n=1 then Fact:=1 else Fact:=n*Fact(n-1);
End;
Begin
clrscr;
Repeat
Randomize;
Writeln("Генеруємо випадкове число num");
num:=random(11);
Writeln("num=",num);
F:=Fact(num);
Writeln("F=",F);
ch:=ReadKey;
Until ch=#27;
Readln;
End.

 

Результат роботи програми:

Генеруємо випадкове число num
num=6
F=720

 

Побічні ефекти

Побічні ефекти - непередбачуване спотворення даних в підпрограмі. Найчастіше виявляються в процедурах та функції без параметрів, що працюють з локальними і глобальними змінними. Вдаватися до них необхідно у виняткових випадках.

Просмотров: 1722

Повернутися в зміст:Алгоритмічні мови





Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн