Está en la página 1de 3

1.

Crear una función recursiva para calcular el capital al cabo de años a partir de un monto inicial el
cual gana un interés de x% anual. Por ejemplo:

Supóngase que m = $ 5000 y x = 10%, entonces:

C0 = 5000 [Capital Inicial]


C1 = C0 + C0 * 10% [Capital al finalizar el primer año de inversión]
C2 = C1 + C1 * 10% [Capital al finalizar el segundo año de inversión]

En general, al cabo de n años se tendrá que: Cn = Cn-1 + Cn-1 * 10%

2. Generar una función recursiva que genere la siguiente salida:

3. Sumar todos los números pares positivos desde el 0 hasta n.

4. Implemente de forma recursiva una función que nos diga si una cadena de caracteres es simétrica
(un palíndromo). Por ejemplo, “DABALEARROZALAZORRAELABAD” es un palíndromo.
5. Sea a y b enteros positivos. Suponga una función Q definida recursiva como sigue:

0 si a  b
Qa, b   
Qa-b,b   1 si b  a

Encontrar el valor de Q(3,2).

6. Dado el siguiente algoritmo recursivo:

void f(int num, int div)


{
if (num>1)
if ((num%div) == 0)
{
imprimir(div);
f(num/div, div);
}
else
f(num, div+1);
}

Y dado un número cualquiera x, ¿qué nos muestra por pantalla la llamada a la función recursiva
f(x,2)? ¿Cuál sería un nombre más adecuado para la función f?
7. ¿Cuál es el resultado de esta función para distintos valores de x?

int f (int x)
{
if (x > 100) return (x - 10);
else return (f (f (x+11)));
}

8. Triángulo de Sierpinsky

Algoritmo:
fractal( vert_1, vert_2, vert_3, repe)
Si( repe == 0 )
dibujar triangulo con las coordenadas
Sino
calcular p_medio1
calcular p_medio2
calcular p_medio3
fractal(vert_1, p_medio1, p_medio2, repe - 1)
fractal(p_medio1, vert_2, p_medio3, repe - 1)
fractal(p_medio2, p_medio3, vert_3, repe - 1)

9. Un granjero ha comprado una pareja de conejos para criarlos y luego venderlos. Si la pareja de
conejos produce una nueva pareja cada mes y la nueva pareja tarda un mes más en ser también
productiva, ¿cuántos pares de conejos podrá poner a la venta el granjero al cabo de un año?
10. Salida de un laberinto: Se trata de encontrar un camino que nos permita salir de un laberinto
definido en una matriz NxN. Para movernos por el laberinto, sólo podemos pasar de una casilla a
otra que sea adyacente a la primera y no esté marcada como una casilla prohibida (esto es, las
casillas prohibidas determinan las paredes que forman el laberinto).

Algoritmo: - Se comienza en la casilla (0, 0) y se termina en la casilla (N-1, N-1).


 Nos movemos a una celda adyacente si esto es posible.
 Cuando llegamos a una situación en la que no podemos realizar ningún movimiento que
nos lleve a una celda que no hayamos visitado ya, retrocedemos sobre nuestros pasos y
buscamos un camino alternativo.

También podría gustarte