Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Program Summa;



const n=1024;

var x: real; m: integer;

procedure Sum(n: integer; var S:real);

var I: integer;

Begin

s:=0;

for i:= 1 to n

do S:= S+1/i

End;

Begin

for m:= 1 to n

Do begin

Sum(m, x); write(m, x)

End

End.

Здесь в списке параметров процедуры Sum n – параметр значение, S – параметр-переменная.

РЕКУРСИИ

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

Программист обычно разрабатывает программу, сводя исходную задачу к более простым. Среди этих задач может оказаться и первоначальная, но в упрощенной форме.

Например, вычисление функции F(N) может потребовать вычисления F(N-1) и еще каких-то операций. Иными словами, частью алгоритма вычисления функции будет вычисление этой же функции.

Алгоритм, который является своей собственной частью, называется рекурсивным. Часто в основе такого алгоритма лежит рекурсивное определение какого-то понятия.

Например, о факториале числа N можносказать, что

(Определение 1) N! = 1 *2 * … (N - 1) * N или 1, если N = 0;

(Определение 2) N! =(N - 1)! * N, или 1, если N = 0.

Второе определение рекурсивное.

Любое рекурсивное определение состоит из двух частей. Одна часть определяет понятие через него же, другая часть – через иные понятия.

Записать рекурсивный алгоритм на Паскале можно с помощью рекурсивной процедуры (функции).





Дата публикования: 2014-10-25; Прочитано: 647 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...