¿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 comproba