Categoría: Evaluaciones

Ejercicios de examen

  • 2Eva_IIT2015_T1 función lipovocal(frase)

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

    Tema 1. (20 puntos). Un lipograma es un texto que se construye prescindiendo voluntariamente de alguna letra del abecedario.

    Realice una función lipovocal(frase) que reciba una frase, retornando como respuesta la única vocal que falta; o la respuesta de ‘no cumple’ en caso que tenga más de una vocal faltante.

    Ejemplo: 
    >> frase='Con ojillos oscuros, luminosos, ambas tan blancas como dos palomas, cruzando prados y salvando lomas hoy las vi con dos pícaros gomosos.'
    >> lipovocal(frase)
    'e'
    >> frase='murcielago'
    >> lipovocal(frase)
    'no cumple'

    Rúbrica: Definir función (5 puntos), buscar faltante (5 puntos), validar frase (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).

  • 2Eva_IT2015_T2 Diccionario electrónico

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

    Tema 2 (35 puntos). Un diccionario electrónico para estudiantes principiantes de español-quichua usará una lista de palabras entre ambos idiomas, semejante al tema anterior.

    https://www.turismo.gob.ec/
    https://www.turismo.gob.ec/

    El estudiante creará su diccionario mientras aprende nuevas palabras, las que añadirá a su diccionario y lo guardará en un archivo.

    Se usarán traducciones simples de una palabra o una frase sin considerar la gramática, tan solo sustituyendo la palabra traducida si se encuentra en su diccionario.

    Al traducir, para indicar el modo se usará un indicador numérico:

    (1) quichua a español y
    (2) español a quichua.

    Un Ejemplo para traducir una frase en modo (2), se tiene:
     Español: 'ciencia y tecnología al servicio del país'
     Quichua: 'ciencia pash iyayku man mañay pak mamallakta'

    Escriba un programa con el menú presentado para ejecutar las tareas descritas.

    Menú:
    1. Traducir palabras
    2. Traducir una frase
    3. Añadir palabras al diccionario
    4. Guardar archivo del diccionario
    5. Abrir archivo del diccionario
    6. Salir
    

    Nota: Use la función del tema anterior. Considere que la frase no tiene signos de puntuación

    Rúbrica: Menú (5 puntos), caso 3, 4 y 5 (5 puntos c/u), usar función (5 puntos), separar palabras (3 puntos), traducir frase (7 puntos)

  • 2Eva_IT2015_T1 kutipak() quichua-español

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

    Tema 1 (15 puntos). Para traducir palabras entre español y quichua se dispone en memoria de una lista denominada diccionario.

    Realice una función kutipak(palabra, modo, diccionario) para traducir una palabra. 

    El tipo de traducción se indica mediante el “modo”:

    (1) quichua a español y
    (2) español a quichua.

    En caso que la palabra no está en el diccionario se obtiene una cadena vacía.

    >>> kutipak('wasi',1,diccionario)
     'casa'
     >>> kutipak('lugar',2,diccionario)
     'kuska'
     >>> kutipak('avión',2,diccionario)
     ''
    diccionario
    quichua español
    man al
    wasi casa
    pak del
    kuska lugar
    pash y
    iyayku tecnología
    mañay servicio
    mamallakta país
    kutipak traductor

    Referencia: http://kichwas.evocero.com/
    Rúbrica: Definir función y parámetros (5 puntos), seleccionar modo (5 puntos), buscar equivalente (5 puntos).


    listas

    quichua = ['man','wasi','pak','kuska','pash','iyayku','mañay','mamallakta','kutipak']
    espanol = ['al','casa','del','lugar','y','tecnología','servicio','país','traductor']
    

    listas de listas

    diccionario = [['man', 'al'],
                   ['wasi', 'casa'],
                   ['pak', 'del'],
                   ['kuska', 'lugar'],
                   ['pash','y'],
                   ['iyayku', 'tecnología'],
                   ['mañay', 'servicio'],
                   ['mamallakta', 'país'],
                   ['kutipak', 'traductor']]
    

    colecciones

    diccionario = {'man':'al',
                   'wasi':'casa',
                   'pak':'del',
                   'kuska':'lugar',
                   'pash':'y',
                   'iyayku':'tecnología',
                   'mañay':'servicio',
                   'mamallakta':'país',
                   'kutipak ':'traductor'}
    
  • 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_IIT2015_T2 Gestionar mensajes con etiquetas

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

    Tema 2 (25 puntos). https://salmocorpblog.wordpress.com/2017/03/07/significado-de-hashtag/

    Realice programa que permita gestionar una lista de mensajes de una red social, con el menú mostrado:

    1. Ingresar mensaje. Solicite el nombre del usuario y un mensaje de texto.
    2. Usuario frecuente. Determine usando la lista de usuarios y muestre el usuario que más mensajes escribe.
    3. Tendencias. Analice todos los mensajes y encuentre la etiqueta más usada. Suponga que es una sola.
    4. Salir

    Ejemplo:

    lista
    usuario mensaje
    Juan Estamos en exámenes en la #ESPOL
    María Seré voluntaria en #AJA
    Pedro Yo estudio en #FCNM de la #ESPOL
    Ana Lean el artículo de #ESPOL en #ELUNIVERSO del domingo 7 de febrero

    Para extraer las etiquetas de cada mensaje pueden hacer uso de la función del tema anterior, para luego contar las veces que aparece cada etiqueta en la lista de mensajes. Al final debe encontrar la etiqueta más frecuente conocida como “tendencia”.

    tendencias
    etiqueta veces
    #ESPOL 3
    #AJA 1
    #FCNM 1
    #ELUNIVERSO 1
    La tendencia es: #ESPOL

    Rúbrica: Menú (5 puntos), uso de función anterior (5 puntos), opción 1 (2 puntos), opción 2 (8 puntos), opción 3 (5 puntos)


    propuesta: sol_py

    lista = [['Juan','Estamos en exámenes en la #ESPOL'],
             ['María','Seré voluntaria en #AJA'],
             ['Pedro','Yo estudio en #FCNM de la #ESPOL'],
             ['Ana','Lean el artículo de #ESPOL en #ELUNIVERSO del domingo 7 de febrero']]
    

    http://mnl13.nl/mnl13festival-mnl13-twitter-mee/

  • 3Eva_IIT2015_T1 Mensajes en redes sociales y etiquetas

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

    Tema 1  (25 puntos). En redes sociales un mensaje puede contener palabras etiquetadas, también conocidas como “hashtag” por iniciar con el símbolo ‘#’ para resaltar un tópico en particular.

    a) Realice una función etiquetados(mensaje), que al recibir un mensaje, busque y retorne las palabras etiquetadas.
    Considere que las etiquetadas terminan al encontrar un espacio o una coma, y que también encontrarse al último el mensaje.

    Ejemplo:
    >> mensaje='En la #ESPOL se usa aprendizaje por proyectos y entre pares, publicado #ELUNIVERSO el domingo 7 de febrero'
    >> etiquetados(mensaje)
         ['#ESPOL', '#ELUNIVERSO']
    >> mensaje='IX Semillero de Futuros Científicos e Ingenieros Inscripciones #AJA #FCNM #ESPOL'
    >> etiquetados(mensaje)
         ['#AJA','#FCNM', '#ESPOL']

    b) Elabore una función tabulando(palabras) que reciba una lista de palabras que pueden ser repetidas y genere una tabla con las palabras únicas junto al conteo de las veces que aparece cada una en la lista.

    >>palabras=[‘#ESPOL’, ‘#ELUNIVERSO’, ‘#AJA’, ’#FCNM’, ‘#ESPOL’]
    >>tabulando(palabras)
         [[#ESPOL,        2]
          [#AJA,          1]
          [#FCNM,         1]
          [#ELUNIVERSO,   1]]

    Rúbrica: Definir función (5 puntos), buscar inicio de etiqueta (5 puntos), copiar una etiqueta (5 puntos), lista etiquetas (5 puntos), determinar únicas (5 puntos), contar etiquetas (5 puntos).


    propuesta: sol_py

  • 3Eva_IT2015_T4 Bomberos para incendios forestales

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

    Tema 4. (30 puntos) Para gestionar los grupos de bomberos que acudieron a la provincia de Pichincha para enfrentar los incendios forestales se requiere elaborar un programa con el menú mostrado.

    Menú:
    1. Registrar bombero
    2. Asignar grupos
    3. Mostrar nombres de un grupo
    4. Guardar datos
    5. Leer datos
    6. Salir
    

    Al inicio del día se registrará cada bombero en orden de llegada en la siguiente tabla:

    Presentados
    cedula nombre bombero provincia
    1234567890 Juan Pérez 234 17 (Pichincha)
    2345678901 Pedro López 91 9 (Guayas)

    Por facilidad, la provincia usa un código numérico.

    Para asignar y mostrar los grupos se indica el número m de incendios forestales a combatir; use la función del tema anterior enviando un arreglo con los datos de bombero y provincia, el resultado será la matriz de grupos asignados.
    El listado de bomberos en un grupo se obtiene usando la opción 3, por lo que se ingresa el número del grupo para mostrar el nombre y cédula de los bomberos asignados.

    Rúbrica: Menú (5 puntos), manejar registros (5 puntos), crear arreglo para función (5 puntos), usar función anterior (5 puntos), opción 3 (5 puntos), opción 4 y 5 (5 puntos)