2Eva_IIT2015_T2 funcion totalportipo(tabla)

2da Evaluación II Término 2015 – 2016, Febrero 02, 2016 /ICM00794

Tema 2. (25 puntos). Realice una función totalportipo(tabla) para recibir una tabla de tamaño nx2 tal como se muestra en el ejemplo.

La columna tipo contiene números enteros que pueden ser repetidos y la columna cantidad tiene un número real positivo.

La función cuenta las veces que aparece cada tipo, y el acumulado de cantidades por cada tipo, entregando la matriz mostrada en el ejemplo.

Ejemplo:

tabla
tipo cantidad
921 5.4
1308 6.2
806 7.1
1308 4.3
921 2.1
921 3.1
806 2.0

>>totalportipo(tabla)

tabulado
tipo cuenta acumulado
921 3 10.6
1308 2 10.5
806 2 9.1

Nota: los encabezados de la tabla son referenciales para el ejemplo
Rúbrica: Definir la función (5 puntos), determinar únicos (5 puntos), contar tipo (5 puntos), acumular cantidades (5 puntos), algoritmo estructurado (5 puntos)

2Eva_IT2015_T4 Movilidad de tortugas en región

2da Evaluación I Término 2015 – 2016, Septiembre 08, 2015 /ICM00794

Tema 4 (30 puntos). Ejecutado el plan para repoblar las tortugas en la isla del tema anterior, se requiere simular la movilidad de las tortugas.

En una situación inicial y usando la función del tema anterior se distribuye una tortuga por casilla.

Para una situación posterior se simula el movimiento de cada tortuga como:

  • se queda en la cuadrícula o
  • se mueve una casilla en diagonal.

Observe que ahora las casillas podrían albergar más de una tortuga o al moverse podrían salirse de la cuadrícula y luego no ser parte del conteo de movilidad.

Escriba un programa para simular el evento y realice los pasos para calcular y mostrar:

a) ¿Cuántas cuadrículas quedaron sin tortugas?
b) La cantidad de tortugas que salieron de la región de control.
c) Las coordenadas (fila y columna) de la matriz posterior en las que aumentó la cantidad de tortugas al compararla con la matriz inicial.

Ejemplo:
>>>
cuántas filas: 4
cuántas columnas: 6
tortugas por casilla: 1
Total de tortugas: 20
inicial
[[1 1 1 1 0 1]
 [1 1 1 1 1 1]
 [1 1 0 1 1 1]
 [1 0 1 0 1 1]]
posterior
[[0 1 2 0 0 0]
 [0 0 2 0 1 1]
 [1 1 0 1 1 0]
 [0 0 0 0 0 0]]
sin tortugas: 15
tortugas salieron: 9
Aumentó población en: [[0, 2], [1, 2]]
>>>

Referencia: Isla Santa Fe volverá a tener tortugas gigantes. 04-06-2015. http://www.expreso.ec/historico/isla-santa-fe-volvera-a-tener-tortugas-gigant-LQGR_8036008

Rúbrica: matriz inicial (5 puntos), mueve cada tortuga (5 puntos), revisar pérdida (5 puntos), literal a y b (5 puntos c/u), literal c (5 puntos)

2Eva_IT2015_T3 Distribuye tortugas en región

2da Evaluación I Término 2015 – 2016, Septiembre 08, 2015 /ICM00794

Tema 3 (20 puntos) La isla Santa Fe en el archipiélago de Galápagos, volverá a ser poblada por tortugas gigantes como parte del trabajo de conservación y restauración ecológica en el archipiélago.

El plan para repoblar se realizó con un total de jóvenes tortugas originarias de la isla y criadas en cautiverio.

Para medir la movilidad de las tortugas en una región de control rectangular con nxm Km se la ha dividido en cuadrículas de 1×1 Km.

Realice una función distribuye(n, m, q, total) que en una matriz de tamaño nxm distribuya q tortugas como máximo en cada casilla con posición aleatoria. La suma de los elementos de la matriz no debe ser mayor que el total de tortugas criadas en cautiverio.

>>distribuye(4,6,5,20)
matriz
0 0 0 0 0 0
0 0 1 5 0 0
2 1 4 0 0 0
5 0 2 0 0 0

Rúbrica: Definir función (5 puntos), uso de aleatorios (5 puntos), control de casillas y total (5 puntos c/u).

3Eva_IIT2015_T4 Orientar código QR (Quick Response Code)

3ra Evaluación II Término 2015-2016, Febrero 16, 2016 /ICM00794

Tema 4 (20 puntos). El código QR (Quick Response Code) se usa para administrar inventarios en una gran variedad de industrias.
La imagen del código QR puede ser tomada en cualquier orientación, pero para interpretarla se debe poner en la forma mostrada en la imagen del primer ejemplo.

Codigo QRRealice un programa que lea una matriz de código QR desde un archivo ‘codigoQR.txt’, y usando otra matriz de un archivo ‘referenciaQR.txt’ de tamaño 8×8, realice las rotaciones necesarias para orientar correctamente el código. codigoQR_girado

Nota: Suponga que ‘códigoQR.txt‘ y ‘referenciaQR.txt‘ tienen matrices QR válidas.
Use numpy.loadtxt(‘archivo.txt’, dtype=int) para cargar el archivo, además de las funciones del tema anterior.
Use numpy.array_equal(A, B) que responde 1 para matrices iguales y 0 para diferentes.

Rúbrica: ingreso datos (5 puntos), comparar esquinas (5 puntos), determinar rotación (5 puntos), uso apropiado de funciones (5 puntos)

3Eva_IIT2015_T3 funciones matrices rotar, extraer

3ra Evaluación II Término 2015-2016, Febrero 16, 2016 /ICM00794

Tema 3. (25 puntos)
a) Elabore una función rotando(matriz, k) que reciba una matriz de tamaño nxm y realice la rotación de sus datos con el valor k de 1, 2 o 3 que corresponden a los múltiplos de 90° de rotación a la derecha.
Nota: NO use la función numpy.rot90(m, k), se debe mostrar las operaciones realizadas con los elementos de la matriz para la rotación

rotarmatriz

b) Realice una función extraeresquina(matriz, k, t) que dada una matriz, extraiga una parte de la esquina k, de tamaño t.
Los valores de k corresponden a la esquina de interés: 0 (superior izquierda), 1 (superior derecha), 2 (inferior derecha), 3 (inferior izquierda).

Ejemplo:
>>referencia=extraeresquina(codigo,0,8)
… Ver matriz en figura “referencia” del tema siguiente.

Rúbrica: definir función (5 puntos), literal a dimensión resultante (5 puntos), rotación (5 puntos), rotar k veces (5 puntos), literal b (5 puntos)

3Eva_IT2015_T3 Asignar bomberos forestales por grupo

3ra Evaluación I Término 2015-2016, Septiembre 22, 2015 /ICM00794

Tema 3. (20 puntos) En la provincia de Pichincha durante tres semanas los bomberos han enfrentado 11 incendios forestales graves, cada uno afecta a más de diez hectáreas de terreno. incendio forestal imagen cerca campus

Para ayudar, acudieron más de 150 bomberos de diferentes provincias del país.

Cada bombero se identifica con su código y número de provincia y se requiere formar grupos de trabajo, asignando líderes de la provincia local (17) Pichincha por conocer de las condiciones geográficas del terreno.

Ejemplo: para n=8 bomberos

registrados
bombero provincia
13 17 (Pichincha)
15 17 (Pichincha)
95 9 (Guayas)
103 13 (Manabí)
19 17 (Pichincha)
91 9 (Guayas)
234 24 (Santa Elena)
17 17 (Pichincha)

Escriba una función grupobombero(registrados, m, local) que reciba el listado de n bomberos registrados, organice los m grupos en una matriz, indicando el número de la provincia local siguiendo las condiciones expuestas.

Primero asigne a cada grupo los bomberos locales y luego complete con los de otras provincias. Ejemplo:

>> m=3
>> local=17
>> grupobombero(registrados,m,local)
Grupo 1 Grupo 2 Grupo 3
13 15 19
17 95 103
91 234 0

Observe que: el registro de los bomberos no es ordenado; los grupos se completan mientras existan bomberos que asignar, sino se representa con 0 (cuando m no es múltiplo de n).

Referencia: Las hectáreas dañadas por los incendios ascendieron a 973 (17.09.2015). http://www.elcomercio.com
Bomberos costeños en Quito para combatir incendios forestales (16.09.2015). http://www.eluniverso.com/

Rúbrica: Definir función y parámetros (5 puntos), control del grupos (5 puntos), asignar locales (5 puntos), completar matriz (5 puntos).


registrados = [[ 13, 17],
               [ 15, 17],
               [ 95,  9],
               [103, 13],
               [ 19, 17],
               [ 91,  9],
               [234, 24],
               [ 17, 17]]
m = 3 
local = 17 
>> grupobombero(registrados,m,local) 
[[13  15  19], 
 [17  95 103], 
 [91 234   0]]

2Eva_IIT2014_T4 Cocinas de Inducción

2da Evaluación II Término 2014 – 2015, Febrero 24, 2015 /ICM00794

Tema 4. (30 puntos) Una fábrica produce dos modelos (A y B) de cocinas de Inducción. cocina de induccion dibujo

Cada una de ellas se produce en tres capacidades S, M, L.
Para una sola línea de ensamblaje, la primera y segunda matriz mostradas representan:

  • la cantidad de cocinas a producir por modelo, y
  • las horas que por cada cocina se demora la fabricación en el taller y  procesos administrativos

Realice un programa que permita ingresar las dos matrices, calcule el total de tiempo de producción y el total de costo de producción si el costo de hora taller es $20,00 y administrativo es $10,00.

Muestre los resultados.

Cantidad de cocinas a producir
Produce[] Modelo A Modelo B
S 400 300
M 200 100
L 50 30
Horas producción/tipo cocina
Horas[] h/taller h/Admin
S 25 1
M 30 1.5
L 35 2

Resultados:

Tiempo de Producción
Tiempo[] Modelo A Modelo B
S 400*(25+1)
M 200*(30+1.5)
L
Total Horas

Observe que: la matriz de costos es similar a la de tiempos, pero considera el costo por tipo. Ej: 400*(25*20,00+1*10,00)
Rubrica: Ingreso (5 puntos), tiempos prod.(10 puntos), total horas (5 puntos), total costo(5 puntos), Programa estructurado (5 puntos)

2Eva_IT2014_T3 Imagen RGB a gris

2da Evaluación I Término 2014 – 2015, Septiembre 02, 2014 /ICM00794

Tema 3. (25 puntos) Al digitalizar una imagen a color se usa la técnica RGB, por lo que se requieren tres versiones de imagen correspondiente a cada color.

Si la imagen es de nxm pixeles y cada color es una matriz rectangular, al combinarlas crea una matriz tridimensional de nxmx3.

Para convertir una imagen RGB a una imagen en tonos de gris elabore una función fotoagris(imagen) que reciba la matriz imagen(n,m,3) que representa la imagen en formato RGB y la convierta a tonos de gris que es una matriz nxm.

RGB rojo imagen
rojo
RGB verde imagen
verde
RGB azul imagen
azul

Equivale gris
imagen(n,m,1)
0 255 255
0 0
255  …
imagen(n,m,2)
0 255 0
255 0
255
imagen(n,m,3)
0 255 0
0 255
255
Gris(n, m)
0 255 76
149 29
255

Nota: para convertir el color de cada punto o pixel puede usar la función convertirgris(RGB) del tema anterior, considerando que el color se envía como un vector de 3 elementos.

Rúbrica: Definir función (5 puntos), manejo de matriz (10 puntos), conversión por pixel (5 puntos), matriz resultante (5 puntos)

3Eva_IIT2014_T1 Ubicar estudiantes en aula

3ra Evaluación II Término 2014-2015, Marzo 10, 2015 /ICM00794

Tema 1. (25 puntos). Se dispone de una lista con los números de matrícula para k estudiantes que darán un examen. El salón donde se desarrollará el examen tiene sillas distribuidas de forma ordenada en n filas y m columnas. aula de clases dando examen

Realice un programa que permita ingresar en un vector los números de matrícula, luego usando una matriz, asigne las sillas de forma aleatoria para cada estudiante.

El resultado se debe mostrar de dos formas:

a) una matriz que contiene en las casillas los números de matrícula.
b) un listado con números de matrícula, y la posición de fila y columna de la silla asignada al estudiante.

Considere que:

  • k siempre es menor que la capacidad de sillas en el aula (nxm),
  • Una silla sin estudiante asignado, contiene valor 0.
  • Las ubicaciones de los estudiantes son únicas.
>>> cantidad de estudiantes: 50
filas en el aula: 5
columnas en el aula: 4
**Hay más estudiantes que las sillas en el aula
cantidad de estudiantes: 5
filas en el aula: 5
columnas en el aula: 4
matricula[1]:123
matricula[2]:234
matricula[3]:345
matricula[4]:456
matricula[5]:567

Distribución del aula
[[ 0  567 0   0  ]
 [ 0  0   0   345]
 [ 0  0   123 0  ]
 [ 0  0   0   0  ]
 [ 0  0   234 456]]
Listado de sillas
matricula, fila, columna
123 3 3
234 5 3
345 2 4
456 5 4
567 1 2

Rúbrica: Ingresar y validar (5 puntos), literal a (10 puntos), literal b (5 puntos). Algoritmo estructurado. (5 puntos)

3Eva_IT2014_T4 Función siembra

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

Tema 4. (25 puntos) Realice una función siembra(tablero, fila, columna) que en un tablero de 2×8, siguiendo el sentido de las manecillas del reloj, distribuye la cantidad de fichas en la casilla indicada por fila y columna, equitativamente una a una entre las casillas contiguas.

Observe que dependiendo de la fila, la siguiente casilla es o a la izquierda o a la derecha de donde estaba.

Al redistribuir el valor:

  • Se empieza a partir de la siguiente casilla seleccionada.
  • Si la siguiente casilla está fuera del tablero, se cambia de fila, invierte el sentido entre izquierda o derecha, y se corrige regresando al tablero en el mismo extremo.
  • Se incrementa el valor de la casilla

Repitiendo el proceso hasta que no queden fichas.

>>tablero
0 4 4 4 4 4 4 0
0 4 4 4 4 4 4 0
>>siembra(tablero,1,5)
0 4 4 4 0 5 5 1
0 4 4 4 4 4 4 1
>>siembra(tablero,2,2)
1 5 5 4 4 4 4 0
1 0 4 4 4 4 4 0

Rúbrica: definir función (5 puntos), asignar sentido (5 puntos), añadir valor a casillas (5 puntos), control del valores, tamaños, validar extremos (10 puntos)