Examen de Recursividad

Elabore el programa que el docente le asigne de manera recursiva e iterativa:

1. Programar un algoritmo recursivo que permita invertir un número. Ejemplo: Entrada: 123 Salida: 321. Sin utilizar cadenas solo enteros.

2. Programar un algoritmo recursivo que permita sumar los dígitos de un número. Ejemplo: Entrada: 123 Resultado:6

3. Programar un algoritmo que a través del uso de un método recursivo verifique si una cadena es un palíndromo. Un palíndromo es aquella cadena o frase que se lee igual de izquierda a derecha que de derecha a izquierda. Por ejemplo: “anitalavalatina”.

4. Programar un algoritmo recursivo que permita sumar los elementos de un vector.

5. Programar un algoritmo recursivo que permita multiplicar los elementos de un vector.

6. Programar un algoritmo recursivo que calcule el Maximo comun divisor de dos números.

7. Programar un algoritmo recursivo que muestre el número menor de un vector.

8. Programar un algoritmo recursivo que muestre el número mayor de un vector.

9. Programar un algoritmo recursivo que muestre el promedio de un vector.

10. Calcula la potencia de un número de forma recursiva, tanto para exponentes negativos como positivos.

11. Realizar un programa recursivo que convierta un número decimal a binario.

12. Realizar un programa recursivo que convierta un número decimal a octal.

13. Realizar un programa recursivo que convierta un número decimal a hexadecimal.

14. Realizar un programa recursivo que convierta un número binario a decimal.

15. Realizar un programa recursivo que convierta un número octal a decimal.

16. Realizar un programa recursivo que convierta un número hexadecimal a decimal.

17. Se ha depositado en una institución bancaria un monto de capital m por lo cual recibe un X% de interés anual. El problema consiste en determinar el capital que se tendrá al cabo de n años. Escriba un subprograma recursivo que resuelva este problema. Recuerde que debe establecer los estados básicos y recursivos del problema.

18. Escriba un subprograma recursivo que invierta el orden de los elementos de un arreglo de N números enteros. Es decir, que el elemento que está en la posición 0 se intercambie con el que está en la posición N-1, el de la posición 2, con el de la N-2 y así sucesivamente.

19. Escriba un subprograma recursivo que invierta el orden de una cadena de caracteres. Por ejemplo, si la cadena de entrada es ROMA, el resultado que debe arrojar el programa es AMOR.

20. Escriba un subprograma recursivo que busque un valor X en un arreglo unidimensional de enteros, ordenado de forma ascendente y regrese la posición donde exista el valor o -1 sino existe.

21. Escribir un método recursivo int vocales(String) para calcular el número de vocales de una cadena.

22.  Escribir un método recursivo, int product(int[]v, int b); que calcule el producto de los elementos del array v mayores que b.

23. Escribir un método recursivo para transformar un número entero en una cadena con el signo y los dígitos de que consta: String entroaCadena(int n).

24. La expresión matemática C(m, n) en el mundo de la teoría combinatoria de los números, representa el número de combinaciones de m elementos tomados de n en n elementos.


Escribir una aplicación en la que se dé entrada a los enteros m, n y calcule C(m, n) donde n! es el factorial de n.