miércoles, 29 de junio de 2011

UNIDAD TEMATICA 3: modelos formales de computacion: maquinas y automatas

AQUI LES DEJO LA DEFINICION DE : ¿QUE ES UN LENGUAJE RECURSIVO?

Un lenguaje recursivo en matemáticas, lógica e informática, es un tipo de lenguaje formal que también es llamado recursivo, decidible o Turing-decidible. Se caracterizan porque para cada uno de ellos existe una máquina de Turing que aceptará cualquier palabra del lenguaje y parará siempre.
 Los lenguajes que no son recursivos la maquina de turing no lo reconoce y por eso no son parte de lenguaje de reconocimiento de la maquina o de los que se desea reconocer.

AQUI LES DEJO UN EJEMPLO DE UN LENGUAJE RECURSIVO PERO CON EL CALCULO DEL FACTORIAL

el cálculo de números factoriales. Él factorial de 0 es, por definición, 1. Los factoriales de números mayores se calculan mediante la multiplicación de 1 * 2 * ..., incrementando el número de 1 en 1 hasta llegar al número para el que se está calculando el factorial.
El siguiente párrafo muestra una función, expresada con palabras, que calcula un factorial.
"Si el número es menor que cero, se rechaza. Si no es un entero, se redondea al siguiente entero. Si el número es cero, su factorial es uno. Si el número es mayor que cero, se multiplica por él factorial del número menor inmediato."
Para calcular el factorial de cualquier número mayor que cero hay que calcular como mínimo el factorial de otro número. La función que se utiliza es la función en la que se encuentra en estos momentos, esta función debe llamarse a sí misma para el número menor inmediato, para poder ejecutarse en el número actual. Esto es un ejemplo de recursividad.
La recursividad y la iteración (ejecución en bucle) están muy relacionadas, cualquier acción que pueda realizarse con la recursividad puede realizarse con iteración y viceversa. Normalmente, un cálculo determinado se prestará a una técnica u otra, sólo necesita elegir el enfoque más natural o con el que se sienta más cómodo.
Claramente, esta técnica puede constituir un modo de meterse en problemas. Es fácil crear una función recursiva que no llegue a devolver nunca un resultado definitivo y no pueda llegar a un punto de finalización. Este tipo de recursividad hace que el sistema ejecute lo que se conoce como bucle "infinito".

bibliografia : www.slideshare.net

1 comentario:

  1. Pues, mejor aquí. Te pongo 3 puntos para la tercera sesión. Ojo con las referencias (se necesita más precisión en identificar la fuente) y los acentos.

    ResponderEliminar