Ir al contenido principal

PRÁCTICA SOBRE FUNCIONES

¿Qué son?

Se dice que una función es recursiva cuando dentro de su bloque de sentencias hay una llamada a la propia función.

En principio cualquier función puede hacerse una llamada a sí misma, sin embargo, tiene que estar especialmente diseñada para que funcione correctamente, ya que al llamarse a sí misma provoca que esta se vuelva a ejecutar, y dentro de sus instrucciones se vuelve a llamar, creando un bucle que si no está controlado se vuelve infinito.

Por lo tanto, una función recursiva forma un bucle al ser llamada a sí misma. Este bucle debe ser controlado de alguna manera para poder salir de él y no caer en estructuras indeseadas como bucles infinitos o estructuras que se autorreplican indefinidamente.

Ejemplo 1

El siguiente ejemplo pide al usuario que pulse una tecla numérica. Mediante una función comprobamos la tecla pulsada. Si esta es un número se sale de la función, pero si no lo es vuelve a pedir que se pulse una tecla, se llama a sí misma para volver a comprobarlo.


Resultados


Ejemplo 2

En este ejemplo vamos a hacer que el usuario escriba una frase y nosotros la repetimos un determinado número de veces.

Evidentemente sería mucho más fácil resolver el problema utilizando un bucle, pero aquí se trata de ver cómo se puede resolver también mediante una función recursiva. Veamos el ejemplo:


Resultados


Ejemplo 3

El factorial de un número se define como la multiplicación de ese número por todos los que son menores que él. Sí lo los números naturales (enteros positivos) pueden tener factorial. Por ejemplo, el factorial de 4 se define como 4*3*2*1. El factorial de 6 es 6*5*4*3*2*1.

 Matemáticamente la operación factorial se define escribiendo un signo de admiración detrás del número: 4! = 4*3*2*1.

Por lo tanto, los números negativos no tienen factorial, y además el factorial de cero es 1.

Con todo esto vamos a hacer una función recursiva que calcule el factorial de un número. El programa será el siguiente:

El programa calcula el factorial del número. Para números negativos devuelve el cero. Para el 0 y el 1 devuelve el 1, y para los demás números positivos, mediante la recursividad, vamos multiplicando cada número por el inmediatamente menor que si mismo hasta llegar a uno, para devolver el factorial.

Resultados


Referencias
http://cpp.aprende-web.net/basico/basico5/basico5_6.php

 

Comentarios

Entradas populares de este blog

MAPA MENTAL-INFORME FINAL DE AUDITORÍA

  Resultados Reda

PRESENTACIÓN MATEMÁTICAS OPERATIVAS

¿Qué son? Las Matemáticas Operativas  proporcionan las herramientas básicas para la modelación y solución de problemas relacionados con la toma de decisiones en la gestión de cualquier campo. Una de los objetivos principales de este estudio, es desarrollar la capacidad de evaluar situaciones problema y poder modelarlas a través de expresiones aritméticas, algebraicas o trigonométricas a partir del reconocimiento de los conjuntos numéricos racionales, irracionales y reales. 

PRESENTACIÓN PROGRAMACIÓN DE DISPOSITIVOS MÓVILES

  ¿Qué es? Es una asignatura fascinante que se sumerge en el emocionante mundo del desarrollo de aplicaciones para plataformas móviles. En este curso, los estudiantes exploran los principios y las prácticas fundamentales necesarios para diseñar y crear aplicaciones efectivas y atractivas para dispositivos móviles como smartphones y tablets. Se abordan temas clave, incluyendo el uso de entornos de desarrollo específicos para plataformas como Android o iOS, la comprensión de las interfaces de usuario móviles, la gestión de sensores y la implementación de funcionalidades orientadas a la movilidad. A lo largo de la asignatura, se enfatiza la importancia de la usabilidad, el rendimiento y la adaptabilidad a diversos dispositivos, brindando a los estudiantes las habilidades esenciales para enfrentar los desafíos dinámicos de la programación móvil en la actualidad.