Etiqueta: arreglos-matrices

array numpy

  • 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 8x8, 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 2x8, 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)

  • 3Eva_IIT2012_T4 Registro de alquiler de canchas

    3ra Evaluación II Término 2012-2013, Febrero 20, 2013 /ICM00794

    Tema 4 (30 puntos). Para administrar el alquiler y reserva de una cancha deportiva privada, se requiere escribir programa que permita registrar las horas reservadas dentro de una semana, que cumpla con el menú siguiente:

    1. Registro de Cliente: solicita el nombre, cedula y teléfono del cliente y le asigna un número de cliente, llenando una tabla de clientes.
    2. Reserva de horario: El cliente seleccionará el horario para uso de la cancha proporcionando la hora, día y su número de cliente, con lo que registra la reserva en una matriz de Horarios. No se puede reservar un horario que ya esté ocupado.
    3. Mostrar bloque horario. Muestra el estado de alquiler y reserva de horarios. Los libres se muestran con cero.
    4. Mostrar Clientes: Lista los datos de los clientes que han reservado horas en la cancha.
    5. Mejor cliente: muestra cuál es el cliente que ha realizado más reservas durante la semana.
    6. Salir

    Ejemplo:

    Tabla de Clientes
    i Nombre Cedula Teléfono
    1 Juan 0987654321 2233441
    2 Pedro 0976548123 2456578
    3 María 1245689730 2694567
    ...
    Ejemplo de Reserva:
    Hora:10 (am),
    dia:4 (Jueves),
    Cliente número: 2 (Pedro)
    Mejor cliente: 3
    Tabla de Reserva Horaria. día
    Lun Mar Mié Jue Vie Sab Dom
    Horarios 1 2 3 4 5 6 7
    Horas 7 3 3 3 3 0 0 0
    8 0 0 0 0 0 1 0
    9 4 0 4 0 4 1 0
    10 0 0 0 2 0 0 4
    11 0 0 0 0 0 0 0
    12 0 0 0 0 0 0 0
    ... ... ... ... ... ... ... ...
    21 0 1 0 1 0 3 0
    22 0 0 0 0 0 0 0

    Nota: Los horarios se pueden reservar de lunes a domingo desde las 7h00 a las 22h00. Puede usar las funciones para matrices del tema anterior

    Rúbrica: Estructura menú (5 puntos), estructura de datos y su registro (10 puntos), reserva y validación (5 puntos), uso de funciones de matrices (5 puntos), mejor cliente (5 puntos).