Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!