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) ].
Para Y < 1, un valor de inicio es: 1/2 * ( 1 + Y )
  • 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:


Con más vistas en el último mes

La existencia y el modo de existir: Reflexiones en torno al pensamiento de Bolívar

Diferencias entre "proceso", "actividad" y "tarea"

¿Conoces Bing AI?

Importancia de la música para los niños…

Análisis Causa - Efecto (Diagrama de Ishikawa)