Ejemplos y ejercicios
Ejemplo: Calcular la potencia n-ésima de a, siendo a y n enteros y a≥0 y n≥0
Funcion POTENCIA (a:entero, n:entero) retorna (p:entero)
caso
n = 0 -> 1
n > 0 -> POTENCIA(a, n-1) * a
fcaso
ffunción
{}

Funcion POTENCIA (a:entero, n:entero) retorna (p:entero)
si n = 0 entonces retorna 1
sino retorna POTENCIA(a, n-1) * a
fcaso
ffunción
{}
Ejemplo: Número de cifras de un número n
Diseñar una función recursiva que retorne el número de cifras de un número entero n, siendo n≥0.
{}
Funcion NUMERO_CIFRAS (n : entero) retorna (c : entero)
…
¿NUMERO_CIFRAS(n)?
n = 7654
NUMERO_CIFRAS(7654)?
Supongo conocido NUMERO_CIFRAS(765) por lo que
¿ NUMERO_CIFRAS(7654) = NUMERO_CIFRAS(765) +1
{}
Funcion NUMERO_CIFRAS (n : entero) retorna (c : entero)
si n < 10 entonces retorna 1
sino retorna NUMERO_CIFRAS(n/10) + 1
fsi
ffuncion
Ejercicio propuesto: Suma de cifras de un número n
Diseñar una función recursiva que retorne la suma de las cifras de un número entero n, siendo n≥0.
{}
Funcion SUMA_CIFRAS (n : entero) retorna (c : entero)
…
Ejercicio propuesto: Semifactorial de un número n
Dado un número entero n, siendo n≥1, diseñar una función recursiva que retorne el semifactorial, o doble factorial, de n.
Nota.- el producto de todos los enteros desde 1 hasta el entero no-negativo n que tienen la misma paridad (pares o impares) que n se llama doble factorial o semifactorial de n y se representa como n!!
{}
Función SEMIFACTORIAL ( n:entero ) retorna ( p:entero )
…
Ejercicio propuesto: Fibonacci
Dado un número entero n, siendo n≥0, diseñar una función recursiva que retorne el número que ocupa la posición n en la sucesión de Fibonacci. Se considerará que el primer número de la serie (el 0) ocupa la posición 0.
La sucesión de Fibonacci es la siguiente sucesión infinita de números naturales: “La sucesión comienza con los números 0 y 1, y a partir de éstos, cada término es la suma de los dos anteriores.”
{}
Función FIBONACCI( n:entero ) retorna ( p:entero )
…
Last updated