1Eva_IT2019_T1 Juego de las Ruedas

1ra Evaluación I Término 2019-2020, Julio 5, 2019
(Editado para tarea, se mantiene el objetivo de aprendizaje)

Tema 1. (20 puntos)

Escriba un programa que implemente el “Juego de las Ruedas”.

Para esto genere aleatoriamente una lista de 15 elementos, donde cuatro elementos deben decir “Rueda” y los otros once “X”.

Luego el programa deberá pedirle al jugador que ingrese por teclado índices entre 0 y 14 (​validar) correspondientes a la posición de la rueda.

  • Asuma que el jugador siempre ingresa índices distintos.
  • Si el índice ingresado por el usuario corresponde al de una “Rueda”, gana $1000.
  • Si el jugador encuentra las cuatro “Ruedas” se gana un carro. ​
  • El jugador tiene siete intentos para hallar las cuatro “Ruedas”.
  • El juego termina cuando encuentra las cuatro “Ruedas” o ha usado todos los intentos​.

En cada intento muestre por pantalla el número total de “Ruedas” encontradas hasta el momento. Al final muestre  el premio que recibe el jugador (cantidad de dólares o la palabra “carro” si encontró las cuatro ruedas).

2Eva_IIT2018_T2 Hielo y especies en Ártico-Procesar

2da Evaluación II Término 2018-2019. 2-Febrero-2019 /CCPG001 – FIEC
(Editado para tarea, se manteniene el objetivo de aprendizaje)
Sección 2
. Descripción del Problema y funciones con matrices (pregunta 2,3,4)

Para el resto del examen considere lo siguiente:

Cuadrantes de la matriz

Las matrices pueden ser divididas en cuadrantes, cuatro subregiones de igual tamaño,  denominados:
Q1, Q2, Q3 y Q4
como se muestra en la gráfica:

Asuma que existen las siguientes funciones:

a.  cuadrantes(matriz) que recibe una matriz y devuelve un vector con los cuadrantes de la matriz [Q1, Q2, Q3, Q4], que son a su vez matrices (arreglos).

b. poblacionEspecie(mAnimales, especie) que recibe una matriz de animales, el código de una especie y determina la cantidad total de animales de esa especie en cada uno de los cuadrantes. El resultado es un vector con el siguiente formato [pQ1, pQ2, pQ3, pQ4].


Realice las funciones:

2. densidadHielo(mHielo) que recibe una matriz de hielo y determina la densidad de hielo para cada cuadrante. El resultado es un vector con el  formato [dQ1, dQ2, dQ3, dQ4].
La densidad de un cuadrante es la cantidad total de sus celdas con valor uno (1) dividido para el número total de celdas del cuadrante.

3. especieDominante(mAnimales) que recibe una matriz de animales y encuentra la especie dominante por cuadrante.
El resultado es un vector con los códigos de la especie que más se repite en cada cuadrante: [eQ1, eQ2, eQ3, eQ4]

4. migracionEspecie(mAnimales2009, mAnimales2019, especie) que recibe la matriz de animales del 2009, la matriz de animales del 2019 y el código de una especie. La función debe retornar un vector [a,b] con dos valores:

a.  El primer valor corresponde al cuadrante donde hubo mayor población de animales de la especie en el 2009.
b.  El segundo valor corresponde al cuadrante donde hay mayor población de animales de la especie en el 2019.
Los valores son  los códigos de los cuadrantes: ‘Q1’, ‘Q2′,’Q3’, ‘Q4’

Rúbrica: numeral 2 (10 puntos), numeral 3 (20 puntos), numeral 4 (15 puntos),

1Eva_IIT2018_T3 Compras ‘Black Friday’

1ra Evaluación II Término 2018-2019, Noviembre 23, 2018. CCPG001
(Editado para tarea, se mantiene el objetivo de aprendizaje)

Tema 3. (50 puntos) El Black Friday inaugura la temporada de compras navideñas con significativas rebajas en muchas tiendas minoristas y grandes almacenes. https://www.profesionalreview.com/2018/09/24/tiendas-donde-comprar-black-friday/

Sucede después de la celebración de Acción de Gracias en Estados Unidos.

Suponga que posee los datos de los productos de una tienda en los siguientes arreglos:

C: códigos de todos los productos (cadenas de caracteres)
P: precios en dólares para cada uno de los productos (valores con decimales).
D: descuentos asociados a cada producto (enteros entre 0 y 100)
S: nombre de la sección donde se encuentra cada producto (cadenas de caracteres)

Se requiere implementar las siguientes funciones:

  1.  calcularPrecio(codigo,C,P,D) que recibe un código y los arreglos C,P,D y retorna el precio final del producto, aplicando el descuento correspondiente.
    Para calcular el precio final, aplique las siguiente fórmula:
    precio_final = precio - precio*\frac{descuento}{100}
  2. calcularTotal(compras,C,P,D) que recibe una lista de compras con los códigos de los productos, los arreglos C,P,D y aplicando todos los descuentos calcula el valor total a pagar, .
  3. hallarSecciones(compras,C,S) que recibe una lista de compras con los códigos de los productos, los arreglos C y S y determina las secciones que deberán visitar durante las compras. La lista de visitas no tiene elementos repetidos.
  4. descuentosPorSección (D,S) que recibe los arrelgos D y S y retorna una tabla con el nombre de cada sección y la cantidad de productos que tienen más del 50% de descuento.

Realice un programa que inicialmente muestre una tabla con las secciones y cantidad de productos con más del 50% de descuento. Luego para las compras, permita ingresar los códigos de los productos, procese y muestre el valor total a pagar y las secciones que necesita visitar. El usuario terminará de ingresar las compras escribiendo ‘fin’.

Ejemplos de arreglos:

C = ['CTR-2424', 'SKU-5675', 'PSS-4542']
P = [ 56.65, 32.00, 22.22]
D = [0, 50, 10]
S = ['Ropa Niños', 'Juguetes', 'Hombre']

Rúbrica: numeral 1 (5 puntos), numeral 2 y 3 (10 puntos c/u), numeral 4 (15 puntos). programa (10 puntos)

1Eva_IIT2015_T4 Conjetura débil de Goldbach

1ra Evaluación II Término 2015-2016. Diciembre 8, 2015 /ICM00794

Tema 4. (25 puntos) La llamada “Conjetura débil de Goldbach” propuesta en el año 1742 afirma que todo número impar mayor a 5 se puede expresar como la suma de tres números primos.

Probar la conjetura para todos los números impares hasta el infinito era muy complejo, pero el matemático peruano Harald Helfgott al demostrarla ganó el premio “Cátedra Humboldt” por US$3,9 millones.

Escriba un programa que reciba un número impar mayor a 5 y encuentre tres números primos cuya suma es igual al número impar dado.

Ejemplo: 
Número impar:31
vector de primos hasta impar/2 :
 [ 2 3 5 7 11 13]
Primos seleccionados:
 7+11+13 = 31

Sugerencia: Para generar el vector de números primos, puede usar un bloque que represente el algoritmo del tema anterior. Luego compare el número impar con la suma de cada combinación de tres números del vector de primos y así encontrar la terna buscada.
Referencia: http://www.bbc.com/mundo/noticias/2015/09/150907_ciencia_matematico_problema_271_lb

Rúbrica: ingreso y validación (5 puntos), usar bloque del algoritmo del tema anterior (5 puntos), buscar combinación de 3 números (10 puntos), Respuesta y Algoritmo estructurado (5 puntos)

1Eva_IIT2015_T3 Vector de números primos

1ra Evaluación II Término 2015-2016. Diciembre 8, 2015 /ICM00794

Tema 3 (20 puntos). Para la encontrar una solución a un problema de matemáticas, se requiere disponer de un vector de números primos en el rango entre 2 y un entero positivo m.
Elabore un algoritmo que dado un valor de m, genere el resultado buscado.

 Ejemplo: m=15
 vector de primos hasta m :
 [ 2 3 5 7 11 13]

Rúbrica: Ingreso y validación (5 puntos), verificar primo (5 puntos), generar vector (10 puntos).

1Eva_IT2015_T4 Asignar voluntarios a bloques por tipo de capacitación

1ra Evaluación I Término 2015-2016. Julio 7, 2015 /ICM00794

Tema 4. (20 puntos) Para el evento del Parque Samanes por la visita del Papa en Guayaquil el área del Parque se dividió en 32 bloques que tendrían el apoyo de voluntarios capacitados como se describe en el tema anterior.

Realice un algoritmo que reciba el listado de voluntarios y su tipo de capacitación, resultado del tema anterior, y los distribuya para cada bloque del parque por orden de lista y de forma equitativa por tipo de capacitación.

Muestre un nuevo listado indicando los voluntarios asignados a cada bloque.

Ejemplo: para n=8, m=4, bloques=2
 El máximo por tipo de capacitación= 8/4=2
 El máximo por tipo capacitación por cada bloque = (2/2)=1
voluntario capacita [voluntario] bloque [voluntario]
1 3 1
2 1 1
3 4 1
4 3 2
5 1 2
6 2 1
7 2 2
8 4 2

Nota: Un voluntario solo puede atender un bloque. Suponga que n es múltiplo de m.

Sugerencia: inicie asignando solo para un tipo y un bloque, revise el tipo de capacitación de cada voluntario y asigne siempre que el conteo sea menor que máximo por tipo y bloque, caso contrario cambie de bloque, reinicie los contadores y continúe asignando con el nuevo bloque hasta completar todos los voluntarios. Repita el proceso cambiando el tipo.

Rúbrica: ingreso (5 puntos), asignar ordenadamente al bloque (10 puntos), asignar equitativamente por tipo (5 puntos)

1Eva_IT2015_T3 Capacitar a voluntarios seleccionados aleatoriamente

1ra Evaluación I Término 2015-2016. Julio 7, 2015 /ICM00794

Tema 3. (30 puntos) Se registraron voluntarios para colaborar en el evento del Parque Samanes por la visita del Papa a Guayaquil.

Parque Samanes – Guayaquil

Para capacitar a los voluntarios,  identificados por un número, se requiere formar grupos equitativos (igual cantidad) para: orientar a las personas en al ingreso y salida, portar letreros y banderas, distribuir agua, prestar atención a discapacitados y quienes pudiesen tener algún problema de salud, entre otras.

Realice un algoritmo para distribuir a voluntarios en m tipos de capacitación en forma aleatoria, no repetida y equitativa; luego muestre el listado que indica la capacitación que recibirá cada voluntario.

Ejemplo: para n=8, m=4, maxtipo= 8/4 =2

voluntario capacita [voluntario]
1 3
2 1
3 4
4 3
5 1
6 2
7 2
8 4

Nota: Un voluntario solo puede asistir a una capacitación. Suponga que n es múltiplo de m.

Referencia: La república. Quito y Guayaquil ultiman detalles para visita del papa Francisco a Ecuador. 02.07.2015. http://www.larepublica.ec/blog/sociedad/2015/06/30/quito-y-guayaquil-ultiman-detalles-para-visita-del-papa-francisco-a-ecuador/

Rúbrica: ingreso y validación (5 puntos), sorteo capacitación única (5 puntos), cupos de capacitación (15 puntos), mostrar resultados (5 puntos).

3Eva_IT2015_T1 Maquina con monedas

3ra Evaluación I Término 2015-2016, Septiembre 22, 2015 /ICM00794
TODOS LOS TEMAS SE DEBEN PRESENTAR EN LENGUAJE PYTHON

Tema 1  (25 puntos). Para despachar dinero en efectivo con una maquina automática realice lo siguiente:

a) Escriba una función separanum(valor) que reciba un valor numérico real y separe las cantidades en un vector que contiene: centavos, unidades, decenas, centenas, etc. Los centavos equivalen a usar dos decimales redondeado al entero más cercano.
Desarrolle el algoritmo usando operaciones de cociente y residuo (no use round()).

>>separanum(435.16)
 [16, 5, 3, 4]
centavos unidades decenas centenas
16 5 3 4

b) Realice una función cuantasmonedas(centavos) que reciba la cantidad de centavos a entregar con monedas de 1, 5, 10, 25, 50 centavos usado la menor cantidad de monedas.

>>cuantasmonedas(63)
[3, 0, 1, 0, 1]
monedas 1 5 10 25 50
cantidad 3 0 1 0 1

Rúbrica: Definir funciones (5 puntos), separar números (5 puntos), operaciones para redondear (5 puntos), literal b (10 puntos)

3Eva_IIIT2007_T1 Fracción única función

3ra Evaluación III Término 2007-2008. Abril, 2008 /ICM00794

Tema 1 (30 puntos). Todo número racional positivo se puede expresar como suma de fracciones de numerador unitario y denominadores enteros positivos, todos distintos.

Ejemplos:
0.75 = 1/2 +1/4
0.85 = 1/2 + 1/3 +1/60

a) Realice una función en matlab fraccionunica(n) que reciba un número racional y muestre los denominadores enteros positivos diferentes.

b) Para probar la función, realice un programa de prueba que reciba un número racional entre 0 y 1, muestre el listado de los denominadores enteros positivos diferentes.

Nota: Inicie acumulando las fracciones 1/2, 1/3, 1/4, solo si no sobrepasa el valor de n.

3Eva_IIIT2007_T3 Control de parqueadero

3ra Evaluación III Término 2007-2008. Abril, 2008 /ICM00794

Tema 3 (40 puntos). En un centro de convenciones con servicio de parqueo de automóviles con capacidad para 500 autos, se registra en la puerta principal:

  • el número de la placa del auto
  • el nombre del conductor

luego se imprime un ticket numerado para que un empleado reciba las llaves del auto y lo estacione en un espacio asignado por el computador.

El conductor al finalizar la convención, en la entrada entrega el ticket y un empleado le entrega el auto en la puerta.

Realice un programa para el centro de convenciones con el siguiente menú:

1. Ingreso de automovil
2. Retiro de automovil
3. Revisión de estado del parqueadero
4. Salir

Para el ingreso de automóviles se registra en una estructura el nombre del conductor, numero de placa, y estado de ingresado o retirado como 1 o 0. El número del ticket permite identificarlo en el espacio asignado en el parqueo.

Para retirar el automóvil, se cambia el estado del auto a retirado (0), el programa solo cambia el estado de no haber retirado antes el automóvil (validar)

La revisión de estado de parqueadero indica cuántos autos se registraron, cuántos se encuentran aún en el parqueadero.

Nota: Suponga que el parqueadero no se llena y que al iniciar la convención siempre inicia vacio. Los puntos por menú solo se asignan de estar completa la sección del desarrollo del menú.

Rúbrica: Menú (10 puntos), items 1, 2 y 3 del menú (10 puntos cada uno)