1Eva_IIT2012_T1 Sucesión de Padovan con Python

1ra Evaluación II Término 2012-2013. Noviembre 27, 2012 /ICM00794

Tema 1. (20 puntos) La sucesión de Padovan es la secuencia de números enteros P(n) definida por los siguientes valores iniciales:

P(0)=P(1)=P(2)=1 ; 
  y el valor siguiente:
P(n)=P(n-2)+P(n-3).


Describa un algoritmo estructurado que calcule y muestre el término n de la sucesión, considere que n >3.

Ejemplo:
Los primeros valores de P(n) son: 
1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37,...
Si n=15, el numero buscado es 37

Rúbrica: Ingreso y validación (5 puntos), iniciar secuencia (5 puntos), cálculos (10 puntos)

1Eva_IT2007_T1 Tiro al blanco con dardos

1ra Evaluación I Término 2007 – 2008. Julio 03, 2007 /ICM00794

Tema 1 (30 puntos) “Tiro al blanco” es un juego que consiste en dardostablalanzar dardos a un objetivo circular.

El premio que gana el jugador, depende de la ubicación en la cual cae el dardo y su valor se reparte en dólares ($30, $40 o $50), tal como se muestra en la figura:

Existen 3 círculos concéntricos (que tienen el mismo centro) y las longitudes de los radios del primero, segundo y tercer círculos son 10cm, 40cm y 80cm, respectivamente.

Suponga que los 3 círculos están inscritos en un cuadrado de longitud de lado 160cm.

Escriba un algoritmo que permita simular n lanzamientos aleatorios de dardos, asignando de forma aleatoria pares ordenados (x, y) en el cuadrado descrito.

En cada lanzamiento se debe verificar si el dardo se ubica al interior de alguno de los círculos descritos y asignar el respectivo premio.

Al final, muestre el premio total en dólares que obtuvo el jugador.

Nota: La distancia entre dos puntos en el plano P1(x1, y1) y P2(x2, y2), viene dada por la siguiente expresión matemática:

d(P_1,P_2) = \sqrt{(x_2-x_1)^2 +(y_2-y_1)^2 }

3Eva_IIT2006_T4 Beneficiarios de Bono Desarrollo Humano

3ra Evaluación II Término 2006-2007, Febrero 6, 2007 /ICM00794

Tema 4. (30 puntos) El Bono de Desarrollo Humano se ofrece a madres solteras, ancianos y discapacitados, de los cuales se registra los nombres, apellidos, provincia, ciudad y tipo.

Realice un programa para ayudar al Ministerio de Bienestar social para gestionar el registro de los beneficiarios y que tenga el siguiente menú:

1. Ingresar un beneficiario Nombre, apellido, provincia, ciudad, tipo y pagado.
2. Mostrar el número de registrados por provincia
3. Mostrar el número de registrados por tipo
4. Mostrar el total de beneficiarios, y el monto por pagar.
5. Salir
Ejemplo de lista de beneficiarios:
Nombre Apellido Provincia Ciudad Tipo Pagado
Juan Piguave Guayas Playas (2) Anciano 0
Maria Gomez Manabí Manta (1) Madre Soltera 30
Pedro Guerra Pichincha Sto. Domingo (3) Discapacitado 30

Nota: Puede codificar a número las provincias y el tipo de beneficiario para facilitar el conteo.

3Eva_IIT2006_T3 Números Primos más cercanos

3ra Evaluación II Término 2006-2007, Febrero 6, 2007 /ICM00794

Tema 3. (30 Puntos) Dada una lista de n números, obtener el número primo más cercano a cada uno de los números. En caso de que el número de la lista sea un número primo, ese número es el más cercano.

a) Escriba una función primo(n) que determine si el numero n es primo.

b) Realice un programa que revise de una lista, los números enteros, los inmediatos inferiores y superiores hasta encontrar un número primo y llene la tabla resultante.

Ejemplo: Sea n = 6
Números Primo superior Primo inferior
100 101 97
246 251 241
2 2
333 337 331
2007 2011 2003

3Eva_IIT2006_T2 Generar triángulo de Pascal

3ra Evaluación II Término 2006-2007, Febrero 6, 2007 /ICM00794

Tema 2. (20 Puntos) El triángulo de Pascal, es un triángulo de números enteros, infinito y simétrico.

triángulo de Pascal

Se genera de arriba hacia abajo con la propiedad de que sus extremos siempre son 1, y que sus números interiores son la suma de los dos inmediatos superiores.

Escriba un programa en matlab que genere un triángulo de Pascal para n filas, y muestre la suma de sus números pares.


Sugerencia: Usando una matriz cuadrada, en la primera columna y la diagonal llene de unos. Luego realice las operaciones en la parte triangular inferior.

 

3Eva_IT2006_T4 Juego planta bombas (buscaminas)

3ra Evaluación I Término 2006-2007, Septiembre 12, 2006 /ICM00794

Tema 4. (30 puntos) Un juego de guerra consiste en delimitar el área del enemigo para ser explorada por paracaidistas en ejercicios de prueba y error.

El enemigo planta bombas en el área para protección a prueba de paracaidistas.

El juego consiste en enviar un paracaidista a una coordenada del área enemiga y si aterriza exitosamente, explore el área a su alrededor e informe al centro de comando, cuántas bombas existen alrededor de su coordenada.

a) Realice una función plantabombas(m, n) que dada una cantidad de m bombas, coloque en el área definida por una matriz cuadrada de tamaño las bombas de manera aleatoria y no repetida.
Considere que m siempre es menor que n2.

b) Realice un programa, que pida las coordenadas de aterrizaje de un paracaidista, utilice la función del tema anterior, valide si el paracaidista logro llegar a salvo, e informe de cuantas bombas existen a su alrededor.

Nota: Las coordenadas no pueden ser de los límites de la matriz.

x\y 1 2 3 4
1 0 1 1
2 0 paracaidista 0
3 1 0 1
4
Bombas cercanas a matriz[2,2]=4

3Eva_IT2006_T3 Tabular cuotas y saldo de deuda

3ra Evaluación I Término 2006-2007, Septiembre 12, 2006 /ICM00794

Tema 3. (25 puntos) Una empresa de venta y financiación de vehículos ofrece a sus clientes planes de pago con cuotas mensuales.

El vendedor dispondrá de un programa que calcule la cantidad de meses que le tomará a su cliente pagar la totalidad de la deuda de acuerdo a los parámetros definidos.

p: Precio de Vehículo
r: Tasa de interés mensual en porcentaje
cuota: Cuota mensual

a) Realice una función saldo(r, cuota, saldoanterior) que calcule el saldo mensual conociendo la tasa de interés, la cuota y el saldo anterior.

b) Realice un programa que usando la función saldo, determine en cuántos meses el cliente terminaría de pagar su deuda.

Mes Intereses Cuota Saldo
0 8.000,00
1 80,00 300,00 7.780,00
2 77,80 300,00 7.557,80
3 75,58 300.00 saldo
4 0

3Eva_IT2006_T2 Intercalar palabras pastestring(a,b,p)

3ra Evaluación I Término 2006-2007, Septiembre 12, 2006 /ICM00794

Tema 2. (25puntos) Implemente una función en matlab llamada PasteString(a, b, p) que dadas dos cadenas a y b, inserte después de la posición p de primera, a la segunda cadena y retorne la nueva cadena.

Ejemplo:
Si la primera cadena es “FUNDAMENTOS”, 
la segunda “PROG” y p es 4, 
el resultado será “FUNDPROGAMENTOS”

3Eva_IT2006_T1 Ackerman recursiva

3ra Evaluación I Término 2006-2007, Septiembre 12, 2006 /ICM00794

Tema 1. (20puntos) Debido a su definición, profundamente recursiva, la función de Ackermann se utiliza con frecuencia para comparar compiladores en cuanto a su habilidad para optimizar la recursión. Dicha función se define a continuación:

Ackerman ecuacion

a) Realice una función ackerman(m, n) en matlab, que encuentre el resultado de Ackerman para n y m dados.

b) Realice la prueba de escritorio para ackerman(1, 2).

1Eva_IT2011_T4 Buscar mejor vendedor por región

1ra Evaluación I Término 2011-2012. Julio 5, 2011 /ICM00794

Tema 4 (25 puntos) Se dispone de dos vectores que identifican el monto y región de las ventas de cada vendedor descritos en el problema anterior.
Elabore un algoritmo para mostrar los mejores vendedores por región.

Nota: Esta solución requiere el uso de vectores. Suponga la posibilidad de que alguna región no tenga vendedores asignados.

Resultado del ejemplo anterior:
 Región 1 = 3
 Región 2 = 2
 Región 3 = 6
 Región 4 = 0

Rúbrica: Inicializar vector mayor (5 puntos), selección de mayor por cada región (15 puntos). Mostrar resultados (5 puntos).