Ejemplo de algoritmo recursivo: Raíz Cuadrada
Raíz Cuadrada (RC) de un número real positivo:
La secuencia iterativa para la RC de Y es:
- X(n+1) = 1/2 * [ X(n) + Y / X(n) ].
- RC(Y) = S ( Y, 1/2 * ( 1 + Y ) )
- Con S(Y,X) = [ (Y/X - X) < epsilon → X; S ( Y, 1/2 * ( X + Y/X ) ) ]
La definición recursiva para la RC(Y) es:
Función en MsExcel (descargar y probar).Un algoritmo recursivo para calcular la RC de Y es el siguiente:
Dados el valor inicial de X = 1/2 * ( 1 + Y ) y un valor para E (epsilon), la función recursiva es como sigue:
Función RaizC ( Y, X): real
Si ( (Y/X - X) < E) entonces
RaizC := X
De lo contrario
RaizC ( Y, 1/2 * ( X + Y/X ) ) {la función se invoca a sí misma}
Fin del Si
Fin de la función RaizC
Y para que tengas otro ejemplo, estudie este simple programa en Pascal:
Program ParImpar;
Uses CRT;
Var
n:integer;
Function par(m:integer):integer;
Begin
if m=1 then
par:=-1
else
par:=-1*par(m-1);
End;
BEGIN
Write ('Ingrese un número entero +:');
Readln(n);
if ( par(n) < 0 ) then
write('El número es impar')
else
write('El número es par');
readln;
END.
En el siguiente artículo encontrarás un ejemplo interesante de algoritmo recursivo para determinar si un texto (palabra, frase, ¡poema!) es un palíndromo. Como, por ejemplo, el siguiente caso… muy interesante: