3Eva_IT2014_T1 Potencia recursiva

3ra Evaluación I Término 2014-2015, Septiembre 16, 2014 /ICM00794

Tema 1 (20 puntos).La operación matemática de la exponenciación entera mostrada, permite la implementación de un algoritmo exponenciación rápida, al realizar menos multiplicaciones si se calcula sólo una vez el término a (b/2).

a^b = \begin{cases} a^{(b/2)}*a^{(b/2)}, & b>0 \text{ y b es par}\\ a*a^{(b-1)}, & b>0 \text{ y b es impar} \\ 1, & b=0 \end{cases}

Escriba una función recursiva potencia(a,b), considerando la exponenciación rápida y realice una prueba de escritorio para 34.

Rúbrica: Definir función (5 puntos), desarrollo función (10 puntos), prueba de escritorio (5 puntos)

3Eva_IIT2009_T1 Funciones combinatoria y factorial

3ra Evaluación II Término 2009-2010. Febrero 23, 2010 /ICM00794

Tema 1 (20 puntos) La Combinatoria se define como: combinatoria formula

a. Escriba en una función llamada combinatoria(n,k), la cual retorna el número posible de combinaciones de n objetos tomando k de ellos.

b. Implemente la función factorial(n) en forma recursiva.

c. Realice una prueba de escritorio para combinatoria(5,3).

Rúbrica: Definición de la función (5 puntos), bloque de procedimiento (7 puntos), función recursiva (5 puntos), prueba de escritorio (3 puntos)

2Eva_IT2005_T2 Calcular potencia recursiva

Final I Término 2005 – 2006. Agosto 28, 2005 /ICM00794

Tema 2. (20puntos)
a) Escriba en matlab una función recursiva Potencia(base,exponente) que permita calcular la potencia de un número.

La función recibe dos parámetros: base y exponente, entregando como resultado la operación antes mencionada.

baseexponente = 24=2.23=2.2.22=2.2.2.2

b) Escriba en matlab un programa principal que evalúe un polinomio de grado n. Ingrese los coeficientes en un vector a(i) y un valor x para evaluar el polinomio de la forma:

p(x) = an.xn + an-1.xn-1+ … + a1. x1 + a0

En los cálculos de potencias se debe usar la función potencia(base, exponente).

Rúbrica: literal a (10 puntos), literal b (10 puntos)

3Eva_IT2008_T1 Número catalán recursivo

3ra Evaluación I Término 2008-2009. Septiembre 16, 2008 /ICM00794

Tema 1 (25 puntos). El n-ésimo número Catalán (en hojor a Eugene Catalán) se obtiene con las fórmulas:

a) Realice la función catalan1(n) resuelta con factoriales, la cual retornará el n-ésimo número Catalán.

Número Catalán: 1, 1, 2, 5, 14, 42, …

b) Elabore la función recursiva catalan2(n), la cuál retornará el n-ésimo número de Catalán.

c) Escriba un programa principal que genere un número aleatorio entre 1 y 10 para generar el respectivo número de Catalán con la llamada a las dos funciones y verifique el resultado entre ambos casos.

Rúbrica: Literal a (10 puntos), literal b(10 puntos), literal c (5puntos)

2Eva_IIT2004_T1 Calcular raíz cúbica recursiva

Final II Término 2004 – 2005. Febrero, 2005 /ICM00794

Tema 1. Para Calcular la raíz cúbica x de un número n se puede usar repetidamente la siguiente fórmula:

x = \frac{2 x^3+n}{3 x^2}
Si comienza con un valor inicial de x ← 1, 
esta fórmula produce valores de x cada vez
más cercanos a la raíz cúbica de n.

Escriba una función cubic(n) que entregue con 4 decimales exactos la raíz cúbica de un número dado n.

La función debe incluir una repetición y salir cuando la diferencia entre el valor de n y el valor de x3 sea menor a 0.0001.

Escriba un programa de prueba para obtener las raíces cúbicas de los números n = 1, 2, 3, 4 … 20

 

3Eva_IIIT2003_T3 Sumatoria en forma recursiva

Mejoramiento III Término 2003 – 2004. Abril, 2004 /ICM00794

Tema 3. Escriba una función RECURSIVA, denominada SumaElem(), que reciba como parámetros un arreglo de enteros y su dimensión, luego procese y devuelva la suma de los elementos del arreglo.

Escriba un programa en C/C++ que almacene en un arreglo los 100 primeros números naturales, que llame a función SumaElem() para calcular la suma de dichos números y que muestre el resultado por pantalla.

2Eva_IIT2012_T1 Recursiva Multi

2da Evaluación II Término 2012-2013, Enero 29, 2013 /ICM00794

Tema 1 (20 puntos). La siguiente definición recursiva permite calcular la multiplicación de dos números enteros no negativos.

multi(p,q) = \begin{cases} 0, & q=0\\ p+multi(p,q-1), & q>0\end{cases}
  • Escriba una función recursiva multi(p,q).
  • Desarrolle una prueba de escritorio para multi(3,5)

Rúbrica: literal a (15 puntos), literal b (5 puntos)

2Eva_IIT2011_T1 Algoritmo de Euclides MCD

2da Evaluación II Término 2011-2012, Enero 31, 2012 /ICM00794

Tema 1 (20 puntos). El Algoritmo de Euclides es considerado el más antiguo y no trivial para encontrar el “máximo común divisor” (mcd) entre dos números a y b.
El paso esencial que garantiza la validez del algoritmo consiste en mostrar que el mcd de a y b es:

  • considerar que a > b  y b≥0
  • si b es cero, mcd es igual a a
  • en otro caso, si b>0, es igual al mcd entre b y el residuo de a dividido por b

Realice una función recursiva mcdeuclides(a,b) siguiendo el algoritmo de Euclides, y muestre una prueba de escritorio para a=15 y b=6.

Rúbrica: Definición de función (5 puntos), Recursividad (10 puntos), Prueba de escritorio (5puntos).


Prueba de escritorio:

>>> mcd_euclides(15,6)
a:  15 b:  6 residuo: 3
a:  6 b:  3 residuo: 0
3
>>> mcd_euclides(72,16)
a:  72 b:  16 residuo: 8
a:  16 b:  8 residuo: 0
8
>>>

2Eva_IIT2007_T4 Fibonacci recursiva

2da Evaluación II Término 2007-2008. Febrero 12, 2008 /ICM00794

Tema 4. (20 puntos) Escriba una función recursiva que permita calcular la el término i de la secuencia de Fibonacci.

fibo(i)= \begin{cases} 1,& i=1\\1,& i=2 \\fibo(i-1)+fibo(i-2), & i>2 \end{cases}

Elabore un programa que usando fibo(i) indique cuántos términos son necesarios para que su acumulado sea mayor que un valor m dado.

2Eva_IT2007_T1 Funciones par e impar recursivas

2da Evaluación I Término 2007-2008. Agosto 28, 2007 /ICM00794

Tema 1. (20 puntos) Sean las funciones recursivas:

par(n) = \begin{cases} 1, & n=0\\impar(n-1), & n>0 \end{cases} impar(n) = \begin{cases} 0, & n=0\\par(n-1), & n>0 \end{cases}
Ejemplos: 
 >> par (4) retorna 1
 >> impar (4) retorna 0
 >> par (5) retorna 0
 >>impar (5) retorna 1

a) Escriba las funciones par e impar, dichas funciones retornan 1 si el número tiene la característica de la función llamada.

b) Escriba un programa principal donde se generen de forma aleatoria n números enteros comprendidos entre 10 y 50. Luego, utilizando las funciones anteriores, determine si la mayoría de los números generados fueron pares. El número n debe ser pedido al usuario.