Categoría: Evaluaciones

Ejercicios de examen

  • 3Eva_IT2002_T3 Determinar productos iguales entre vendedores

    Mejoramiento I Término 2002 - 2003. Septiembre 24, 2002 /ICM00794

    Tema 3. Suponga que existen en una unidad de almacenamiento los archivos :

    'A:\vendedor1.txt' y
    A:\vendedor2.txt'

    que contienen los registros de artículos de cada uno de los vendedores con la siguiente información:

     

    código de un artículo (entero) y 
    nombre del artículo (10 caracteres)

    a) Escriba un programa en C++ que lea desde el teclado dos listas conteniendo los códigos de los artículos que ofrecen dos vendedores.
    Luego las almacene en los archivos descritos.
    Cada lista puede tener hasta 20 códigos.

    b) Compare y muestre ¿cuales son los nombres de los artículos que están ofreciendo ambos vendedores?

    Sugerencia: almacene las listas en arreglos de una dimensión, encuentre la intersección de las dos listas y busque los nombres en el archivo A:\DATOS.

  • 3Eva_IT2002_T2 Determinar primo permutable

    Mejoramiento I Término 2002 - 2003. Septiembre 24, 2002 /ICM00794

    Tema 2. Se dice que un número de dos cifras es primo permutable si al intercambiar sus cifras sigue siendo primo.

    Ejemplos:
     37 es primo y 73 es primo
     17 es primo y 71 es primo
     19 es primo y 91 no es primo, no es primo permutable
     etc.

    a) Escriba una función para determinar si un número es primo.

    b) Use esta función en un programa que seleccione aleatoriamente números de dos cifras hasta encontrar un número primo permutable.

    Sugerencia: Para cada número generado separe los dígitos y obtenga el número con las cifras intercambiadas. Llame dos veces a la función indicada y termine cuando ambos números sean primos.

  • 3Eva_IT2002_T1 Triunfos, empates y derrotas por Goles

    Mejoramiento I Término 2002 - 2003. Septiembre 24, 2002 /ICM00794

    Tema 1. Diez equipos de la liga Inter– barrial identificados con los números 1, 2, 3, ... , 10, participaron en un campeonato de fútbol en la modalidad todos contra todos.

    Los goles anotados en cada encuentro se registraron en el siguiente cuadro:

    Goles(F,C) 1 2 3 4 ... 10
    1 0 4 2 1 ...
    2 5 0 3 2 ...
    3 0 2 0 1 ...
    4 1 0 2 0 ...
    ... ... ... ... ...
    10 0
    Se puede ver por ejemplo que:
    El equipo 1 marcó 
        4 goles al equipo 2,
        2 goles al equipo 3,
        1 gol al equipo 4 etc.
    El equipo 2 marcó
        5 goles al equipo1,
        3 goles al equipo 3,
        2 al equipo 4, etc.

    Escriba un programa en C que:

    a. Lea el cuadro de goles en un arreglo de dos dimensiones y

    b. muestre para cada equipo la cantidad de triunfos, empates y derrotas,

    c. así como la diferencia entre el total de goles marcados y el total de goles recibidos.


    goles = np.array([[0,4,2,1],
                      [5,0,3,2],
                      [0,2,0,1],
                      [1,0,2,0]])
    
  • 3Eva_IT2000_T3 Archivo con socios del club

    Mejoramiento I Término 2000 - 2001 /ICM00794

    Tema 3. Escriba un programa que permita manejar un archivo mediante los siguientes procedimientos:

    a) Ingrese los datos de los socios de un club en un archivo tipo texto, en los que se registra:

    Número de membresía (entero), 
    género (m ó f), 
    Edad (real), 
    Nombre (20 caracteres)

    b) Liste los números y nombres de los miembros del club cuya edad está entre 20 y 30 años y son del sexo femenino.

    c) Cuando ya funcione el segundo programa, agregue las instrucciones necesarias para que el computador elija aleatoriamente un socio para entregarle un premio. Muestre el nombre del socio ganador.

    Rúbrica: Literal a (10 puntos), literal b (8 puntos), literal c (7 puntos)

  • 3Eva_IT2000_T2 Matriz: puntos por goles en campeonato

    Mejoramiento I Término 2000 – 2001. Septiembre 24, 2000 /ICM00794

    Tema 2. 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.

    Lea la matriz y determine cuantos puntos tiene cada equipo. Los puntos asignados son: empate 1, triunfo 3 , derrota 0.


    Se adjunta la matriz en python para el ejercicio en forma de un arreglo de 5x5:

    goles = np.array(
           [[0, 3, 1, 2, 1],
            [1, 0, 3, 2, 3],
            [0, 2, 0, 1, 1],
            [1, 0, 2, 0, 1],
            [3, 4, 1, 2, 0]] )
  • 3Eva_IT2000_T1 Validar caracteres tipo numérico

    Mejoramiento I Término 2000 - 2001. Septiembre 24, 2000 /ICM00794

    Tema 1.
    a) Escriba una función esnumero(caracter) que permita ingresar y validar un caracter numérico.

    b) Escriba una función tresdigitos(numero) que permita ingresar un número de exactamente 3 dígitos entre 100 y 999, haciendo uso de la función anterior.


    Ejemplo:

    >>> esnumero('a')
    'no es numerico'
    >>> esnumero('1')
    True
    >>> esnumero('15')
    'varios caracteres'
    >>> 
    
    >>> tresdigitos('12a')
    0
    >>> tresdigitos('123')
    1
    
  • 2Eva_IIT2012_T4 Elecciones directiva FCNM

    2da Evaluación II Término 2012-2013, Enero 29, 2013 /ICM00794

    Tema 4 (30 puntos) La Facultad de Ciencias Naturales y Matemáticas (FCNM) se conforma de tres departamentos: Física, Química y Matemáticas.

    Para elegir el Consejo Directivo de la FCNM se requieren seleccionar cuatro profesores entre los candidatos por votación en base a las siguientes reglas:

    • El candidato(a) que obtenga la mayor cantidad de votos.
    • Un candidato(a) de cada uno de los tres departamentos que obtenga la mayor cantidad de votos.

    Existen dos candidatos por cada departamento identificados por un número entero (ver tabla ejemplo b).

    Escriba un programa para la selección del Consejo Directivo siguiendo los procesos de votación y selección.

    a) Proceso de Votación:
    Para cada votante se debe realizar:

    a.1. Ingreso y validación de papeleta.- Se llena un vector papeleta con los números de 4 candidatos.
    Se valida que cada voto en la papeleta sea único y que correspondan a un candidato, sino se la descarta y se llena de nuevo.
    Puede usar la función unicorango() del tema anterior.

    a.2. Registro del voto.- la papeleta valida se añadirá al vector que contiene todos los votos del proceso.

    Ejemplo a.1 :
     >> unicorango(papeleta,6)
     ans=1

    si la papeleta es:

    i papeleta(i)
    1 1
    2 2
    3 4
    4 5
    a.2. Registra voto

    j voto(j)
    1 2
    2 4
    3 5
    4 6
    5 1
    6 2
    7 4
    8 5
    ... ...

    b) Proceso de selección:
    Consiste en realizar el conteo de votos por candidato, usando el vector voto.
    Puede usar la función contando() del tema anterior.
    Luego muestre los seleccionados conforme a las reglas especificadas.

    c) Muestre los seleccionados.

    Nota: El tema no considera la posibilidad de votos blancos o nulos.
    Para declarar un arreglo vacío: voto=[ ];

    Ejemplo b)
    Dep. Candidato conteo más votos Selecc.
    / Dep.
    Física 1 25 1
    2 29 2
    Química 3 23 3
    4 2
    Matemáticas 5 24 5
    6 13
    candidatos seleccionados: 1, 2, 3, 5

    Referencia: Convocatoria elecciones FCNM-ESPOL-2013.  www.espol.edu.ec/tribunal/

    Rubrica: literal a.1 (5 puntos), literal a.2 (10 puntos), uso correcto de las funciones (5 puntos), literal c. (10 puntos)

  • 2Eva_IIT2012_T3 Contar y validar único en rango

    2da Evaluación II Término 2012-2013, Enero 29, 2013 /ICM00794

    Tema 3 (20 puntos)
    a) Escriba una función contando(vector, n), que reciba un vector de números enteros y cuente el número de veces que se encuentra cada número en el rango entre 1 y n. Los números fuera de rango se descartan del conteo.

    m
     i 1 2 3 4 5 6 7 8
     vector[i] 2 4 5 6 1 2 4 5
    Ejemplo: contando(vector,6)
     n
     k 1 2 3 4 5 6
     cuenta[k] 1 2 0 2 2 1

    b) Realice una función unicorango(vector, n), que muestre si los números en el vector no son repetidos y se encuentran en el rango entre 1 y n.

    Ejemplos:
    >>vector= [1 2 4 5 ]
     >> unicorango(vector,6)
     ans=1
    >>vector= [ 1 4 4 7 ]
     >> unicorango(vector,6)
     ans=0

    Rúbrica: Definición de funciones (5 puntos), contadores (5 puntos), validación de únicos (5 puntos), validación de rango (5 puntos).

  • 2Eva_IIT2012_T2 Cifrado César

    2da Evaluación II Término 2012-2013, Enero 29, 2013 /ICM00794

    Tema 2 (30 puntos) Dice la historia que la criptografía fue utilizada por los gobiernos para comunicaciones secretas durante las campañas militares. encriptacinturon

    En el siglo I A.C., Julio César usó un algoritmo que consistía en desplazar tres espacios hacia la derecha las letras del texto siguiendo el orden alfabético.

    Realice una función cifradocesar (mensaje, llave) que usa una variante del método descrito para cifrar el mensaje, desplazando cada letra del mensaje en el alfabeto las posiciones que indique la “llave”. Con el resultado, el mensaje original no es reconocido a menos que se use el valor negativo de la “llave”.

    Considerar que siguiente posición de la letra “Z” será la “A”, y la anterior a la letra “A” será la “Z”.

    Ejemplo:
    >> mensaje=’HOLA’ , llave=+3;
    >> cifradocesar(mensaje,llave)
     ans=KROD
    >> mensaje=’KROD’ , llave =-3;
    >> cifradocesar(mensaje,llave)
     ans=HOLA

    Rúbrica: definición de función (5 puntos), posición letra en alfabeto (7 puntos), desplazamiento (10 puntos), desplazamiento negativo (8 puntos)

    Referencia: Cifrado César, http://es.wikipedia.org/wiki/Cifrado_C%C3%A9sar

  • 2Eva_IIT2012_T1 Recursiva Multi

    2da Evaluación II Término 2012-2013, Enero 29, 2013 /ICM00794

    Tema 1 (20 puntos). La siguiente definición recursiva permite calcular la multiplicación de dos números enteros no negativos.

    multi(p,q) = \begin{cases} 0, & q=0\\ p+multi(p,q-1), & q>0\end{cases}
    • Escriba una función recursiva multi(p,q).
    • Desarrolle una prueba de escritorio para multi(3,5)

    Rúbrica: literal a (15 puntos), literal b (5 puntos)