Autor: Edison Del Rosario

  • 3Eva_IIT2015~T1 etiquetas tendencia como función

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

    Tema 1. (25 puntos) Dado un diccionario con la siguiente estructura:

    {"@usuario1":["contenido tuit1 #hashtag1", 
                  "contenido #hashtag2 tuit2"],
     "@usuario2":["#hashtag2 contenido tuit n #hashtag n "]

    Nota: un tuit tiene uno o más hashtags y éstos pueden estar en cualquier parte del mensaje.

    Elabore una función trendTopics(diccionario) que reciba un diccionario con la estructura anterior y retorne un segundo diccionario de hashtags con el número de veces que fueron utilizados en los tuits.

    Luego, elabore un programa que muestre por pantalla los Hashtags y sus contadores. Asuma que existe la función crearDiccionario() que retorna un diccionario con los tuits de acuerdo a la estructura presentada arriba.

    Ejemplo de salida:

    #hashtag2 2
    #hashtag1 1
    #hashtagn 1

    Referencia: 2Eva_IT2016_T1 Tendencias en Twitter

  • 3Eva_IT2015~T4 Prueba de escritorio, diccionario

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

    Tema 4. (10 puntos) Analice el código fuente de los programas que se muestran a continuación. Seleccione la respuesta correcta y justifique brevemente su respuesta.

    a. ¿Cuál será la salida del siguiente programa?

    foo = {1:'1', 2:'2', 3:'3'}
    del foo[1]
    foo[1] = '10'
    del foo[2]
    print(len(foo))

    A. 1
    B. 2
    C. 3
    D. 4

    b. ¿Cuál será la salida del siguiente programa?

    x = True
    y = False
    z = False
    
    if (not(x) or y):
        print(1)
    elif (not(x) or not(y) and z):
        print(2)
    elif (not(x) or y or not(y) and x):
        print(3)
    else:
        print(4)
    

    A. 1
    B. 2
    C. 3
    D. 4

  • 3Eva_IT2015~T3 Clasificar secuencia ADN

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

    Tema 3. (40 puntos) En un archivo se almacenan varias líneas con la siguiente información: un código genético, el nombre de la persona que lo posee y el código de la Institución a la que pertenece la persona.

    Se debe implementar las siguientes funciones:

    a) traducirCodigo(cadena). Esta función toma una cadena de caracteres que contiene un código genético y traduce a su cadena correspondiente, según se indica en la siguiente tabla:

    AAU N
    ACA T
    AGA R
    GACU D

    Asuma que las cadenas contendrán siempre combinaciones de las subcadenas incluidas en la primera columna de la tabla dada.

    Por ejemplo: ACA-GAC-AGA-AAU se traduce a TDRN

    b) cargarInformación(nombreArchivo). Lee el archivo con el nombre dado y llena dos colecciones con las siguientes cadenas, que serán retornadas:

    - La colección codigos contendrá las cadenas leídas y transformadas usando la función traducirCodigo.

    - La colección Instituciones contiene una cadena formada como sigue: concatene los caracteres comprendidos entre la posición 2 y la posición 6 (incluidos) y los 3 últimos caracteres del código de la Institución.

    Ambas colecciones deben contener elementos únicos.
    Por ejemplo: ACME-PRODUCTIONS se almacenará como CME-PONS

    c) escribirArchivo(codigos, instituciones, nombreArchivo). Recibe las dos colecciones retornadas en el literal anterior y escribe su contenido en un archivo cuyo nombre se da como parámetro. El formato del archivo lucirá como:

    Codigos geneticos unicos:
    TDRYN
    ...
    Instituciones unicas:
    CME-PNES
    ...

    Referencia: 2Eva_IIT2013_T2 Verificar secuencia ADN

  • 3Eva_IT2015~T2 Triunfos, empates y derrotas por Goles

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

    Tema 2. (30 puntos) En un campeonato de fútbol intervienen n equipos, siendo n un dato entero menor que 10.

    Cada equipo juega contra todos los demás equipos y los goles anotados en cada encuentro han sido almacenados en una matriz nxn como se indica en la tabla ejemplo:

    Goles(f,c)
    1 2 3 4 5 ...
    1 0 3 1 2 1 ...
    2 1 0 3 2 3 ...
    3 0 2 0 1 1 ...
    4 1 0 2 0 1 ...
    5 3 4 1 2 0
    ... ... ... ... ... ... 0
    El equipo 1 marco 3 goles al equipo 2,
       1 gol al equipo 3, etc.
    El equipo 2 marco 1 gol al equipo 1,
        2 goles al equipo 3, etc.

    Se debe implementar las siguientes funciones:

    a) Una función tablaPosiciones(matrizGoles) que retorna un diccionario con el equipo como clave y una lista que representará la tabla de posiciones como valor. La lista debe contener la siguiente información: número de goles, partidos ganados, partidos empatados, y partidos perdidos .

    Por ejemplo: El equipo 1 ha hecho 6 goles,
    ha ganado cero partidos,
    ha empatado 1 y ha perdido 2 partidos.

    b) Una función ganador(diccPosiciones) que recibe el diccionario con la tabla de posiciones y retorna el ganador del campeonato, que será aquel que haya obtenido el mayor puntaje (empate 1 punto, triunfo 3 puntos, derrota 0 puntos).


    Referencia: 3Eva_IT2000_T2 Matriz: puntos por goles en campeonato , 3Eva_IT2002_T1 Triunfos, empates y derrotas por Goles

  • 3Eva_IT2015~T1 Función de aleatorios no repetidos

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

    Tema 1. (20 puntos) Implementar una función que llene una lista de N números aleatorios distintos menores que 100, el número de elementos de la lista es recibido como parámetro.

    La función debe retornar la lista y el segundo valor más pequeño almacenado en ella.

    Por ejemplo:

    Si N es 6, la lista podría ser [52, 2, 86, 13, 15, 79]
     y el segundo valor más pequeño es 13

    Referencia: 2Eva_IT2013_T2 Una Tabla de Bingo

  • 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_IIT2015_T2 Monopolio simplificado

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

    Tema 2. (30 puntos) Para una versión simplificada de Monopolio con 4 jugadores se tiene que: monopolio simplificado

     

    • Al inicio, todos los jugadores ubican su ficha en la casilla 1 con $1500.
    • El tablero es de recorrido cíclico de 24 casillas.
    • Se juega por turnos avanzando con la suma del lanzamiento de dos dados.
    • Un jugador al caer en las casillas de “Casualidad” (4, 10, 16) debe pagar $100 a otro jugador escogido aleatoriamente.
    • Cada jugador tiene cinco casillas como “propiedades”; si un jugador cae en la propiedad de otro le deberá pagar del derecho de ocupación un valor determinado al lanzar un dado y multiplicarlo por 10.

    Considere que:

    • El jugador 1 es propietario de las casillas 2, 8, 13, 19, 22.
    • El jugador 2 es propietario de las casillas 3, 7, 11, 17 y 24.
    • El jugador 3 es propietario de las casillas 5, 9, 15, 20 y 23.
    • El jugador 4 es propietario de las casillas 6, 12, 14, 18 y 21
    • Cada vez que un jugador pase por “Inicio” recibirá $200.

    Realice un algoritmo que simule el juego hasta que uno de los jugadores quede en bancarrota (sin dinero). Al final, indique el jugador que se quedó en la bancarrota y el dinero que obtuvo cada jugador.

    Rúbrica: control de saldos de jugadores y turnos (5 puntos), ubicación de jugadores (5 puntos), uso apropiado de aleatorios (5 puntos), casualidades y paso por inicio (5puntos), control de propiedades (5 puntos). Respuesta y Algoritmo estructurado (5 puntos).

  • 1Eva_IIT2015_T1 Conjetura múltiplo de 3

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

    Tema 1. (25 puntos) “Si partimos de un número natural que sea múltiplo de 3 y sumamos los cubos de sus cifras, a este resultado le aplicamos la misma operación sucesivamente, llegaremos siempre al número 153.”

    Elabore un algoritmo que permita ingresar un número entero de cuatro cifras que sea múltiplo de 3 y verifique si se cumple esta conjetura.

    Ejemplo: 1375
     No es múltiplo de 3
     Respuesta: No cumple
    Ejemplo: 1374
     Si es múltiplo de 3
     1374 → 13 + 33 + 73 + 43 = 435
     435 → 43 + 33 + 53 = 216
     216→ 225 → 141 → 66 → 432 → 99 → 1458 → 702 → 351 → 153
     Respuesta: Si cumple

    Referencia: https://en.wikipedia.org/wiki/Narcissistic_number. Los 153 peces en la red. Juan 21:11 NVI

    Rúbrica: Ingreso y validación (5 puntos), acumular cubos de dígitos (10 puntos), control de secuencia (5 puntos). Respuesta y algoritmo estructurado (5 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)