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 5×5:

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

3Eva_IIT2013_T4 Gestionar asientos en cine

3ra Evaluación II Término 2013-2014, Febrero 25, 2014 /ICM00794

Tema 4. (35 puntos) Realice un programa para una sala de cine que gestione la venta de boletos con asientos asignados usando el menú mostrado. sala de cines asientos

Menú
1. Vender Boletos
2. Mostrar asientos
3. Contar vendidos
4. Buscar libre
5. Salir 

Los asientos se identifican por un código formado por una letra y un número equivalentes a la ubicación en filas identificadas desde la A hasta la J, y las columnas de 1 al 20.

Ejemplo: asiento E3 corresponde fila 3, columna 5
  • Para vender un boleto se solicita el código del asiento, se valida que exista y que se encuentra libre para registrar el número de cédula del cliente, sino se indica que está ocupado.
  • Al mostrar estado de asientos se presenta una matriz con valores 0 como un asiento libre y 1 como ocupado.
  • Buscar un asiento libre muestra la ubicación del primer asiento disponible más cercano a la última fila.
Ejemplo de asientos
1 2 3 4 5 6 7 8
A 0 0 0 0 0 0 0 0
B 0 0 0 1 1 0 0 0
C 0 0 0 0 0 0 0 0
D 0 0 0 0 1 1 0 0
E 0 0 0 1 1 0 0 0
F 0 0 0 0 1 1 0 0

Sugerencia: puede usar buscarcadena(alfabeto,letra) del tema anterior, para transformar la letra al número de fila. Ejemplo: fila E es fila 5

Rúbrica: Menú (5 puntos), convertir código asiento a fila/columna (10 puntos), caso 1 (5 puntos), caso 2 y 3 (7 puntos), caso 4 (8 puntos).

3Eva_IIT2013_T3 buscar cadena en una frase

3ra Evaluación II Término 2013-2014, Febrero 25, 2014 /ICM00794

Tema 3. (25 puntos) Realice una función en buscarcadena(frase, cadena) que entrega un vector con la posición inicial de todas las veces que aparece una cadena de caracteres en una frase.

>>frase= ‘cada proyecto tiene programas y compromisos’
>>cadena=’pro’
>> buscarcadena(frase, cadena) ans = 6 21 36

Nota: Se debe describir el algoritmo completo, NO use la función strfind() incluida en matlab,
Rúbrica: Definir función (5 puntos), buscar letra (5 puntos), validar cadena buscada (5 puntos) crear vector de resultados (10 puntos)

3Eva_IIT2013_T2 Ordena por diagonal principal

3ra Evaluación II Término 2013-2014, Febrero 25, 2014 /ICM00794

Tema 2. (20 puntos) Uno de los pasos que se requieren en los algoritmos para resolver un sistema de ecuaciones lineales consiste en intercambiar las filas de una matriz cuadrada para colocar en la diagonal principal los elementos de mayor magnitud de cada columna.

Ejemplo:
[ 2 7 6 ]  [ 9 0 0 ]  [ 9 0 0 ]
[ 4 5 3 ] →[ 4 5 3 ] →[ 2 7 0 ]
[ 9 8 1 ]  [ 2 7 6 ]  [ 4 5 3 ]

Escriba una función prepara(matriz) que reciba una matriz cuadrada nxn, intercambie las filas desde arriba hacia abajo de tal manera que el elemento de mayor magnitud de cada columna se ubique en la diagonal, sustituya con ceros el resto de la fila hacia la derecha. La función entrega la matriz transformada, como se muestra en el ejemplo.

Nota: en el algoritmo puede usar la función del tema anterior.
Rúbrica: Definir función (5 puntos), seleccionar el mayor (5 puntos), describir procedimiento estructurado (10 puntos)

3Eva_IIT_2013_T1 Intercambiar filas o columnas en matriz

3ra Evaluación II Término 2013-2014, Febrero 25, 2014 /ICM00794

Tema 1. (20 puntos). Realice una función intercambiar(matriz, a, b, tipo), que al recibir una matriz intercambie las filas o columnas a y b.

El parámetro tipo con el valor 1 permite intercambiar entre las filas a y b, pero si tiene el valor de 2 se intercambian las columnas a y b.

matriz=
[ 2 7 6 ]
[ 4 5 3 ]
[ 9 8 1 ]
>>intercambiar(matriz, 1, 3, 1)
[ 9 8 1 ]
[ 4 5 3 ]
[ 2 7 6 ]

>>intercambiar(matriz, 1, 3, 2)
[ 6 7 2 ]
[ 3 5 4 ]
[ 1 8 9 ]

Rúbrica: Definir la función (5 puntos), intercambiar valores entre celdas (5 puntos), intercambiar toda la fila o columna (10 puntos)

3Eva_IT2013_T4 Menú para administración de edificio

3ra Evaluación I Término 2013-2014, Septiembre 10, 2013 /ICM00794

Tema 4. (20 puntos) El administrador de un edificio de n pisos requiere controlar el uso de m apartamentos por piso mediante una matriz que registra:

  • Si está arrendado: el número de cédula del arrendatario,
  • Si está disponible: 0,
  • Si se encuentra en reparación: -1.

Escriba un programa que use una matriz para almacenar esta información y con un menú proporcione al administrador las opciones mostradas.

Menú
1. Consultar estado de un departamento
2. Alquilar un departamento. (Ingresar número de cédula)
3. Marcar un departamento para reparación
4. Marcar un departamento disponible. (luego de su reparación)
5. Mostrar reporte, de la cantidad de departamentos en cada estado por cada uno de los pisos.
6. Salir

Inicialmente todos los departamentos están disponibles.

Rúbrica: Menú , opción 1 y 2 (5 puntos), opción 3 y 4 (5 puntos), opción 5 (10 puntos)

3Eva_IT2013_T3 Menú de consejerías académicas

3ra Evaluación I Término 2013-2014, Septiembre 10, 2013 /ICM00794

Tema 3 (30 puntos). Para administrar las consejerías por estudiante, se requiere un programa que administre mediante un menú los listados de consejeros y estudiantes.

http://www.vra.espol.edu.ec/content/estudiantes
Consejerias VRA-ESPOL
Menú
1. Ingresar datos de estudiante
2. Ingresar datos de consejero
3. Sorteo de consejeros/estudiantes
4. Mostrar lista de estudiantes por consejero
5. Mostrar consejero de un estudiante
6. Salir

El programa registra de los listados de estudiantes con su número de matrícula, nombre y correo electrónico;
para los consejeros se registra su cédula, nombre y correo electrónico.

  • En el numeral 3, una vez ingresado todos los datos, se procede al sorteo descrito en el tema anterior.
    Puede usar la función del tema anterior para la asignación
  • En el numeral 4, Un consejero solicita su lista con los datos de los estudiantes asignados dando su número de cédula; al final se muestra el número de estudiantes asignados.
  • En el numeral 5, Un estudiante puede solicitar los datos de su consejero ingresando el número de matrícula.

Rúbrica: Menú (5 puntos), definición y uso de estructuras (5 puntos), opción 3 (5 puntos), opción 4 (10 puntos), opción 5 (5 puntos)


Referencia: http://www.vra.espol.edu.ec/content/estudiantes