2Eva_IT2007_T4 Registrarse en curso fundamentos

2da Evaluación I Término 2007-2008. Agosto 28, 2007 /ICM00794

Tema 4. (30 puntos) Programe una aplicación para el registro de estudiantes en la materia Fundamentos de Computación, considere que se han abierto 5 paralelos con un cupo de 40 estudiantes. Se debe ofrecer el siguiente menú de opciones:

Fundamentos de Computación
 1) Registrar
 2) Consultar
 3) Anular
 4) Salir
  • En la opción 1), el estudiante ingresa su matrícula. El programa le indica en qué paralelos hay cupo disponible. El estudiante elige el paralelo. El programa registra su código en ese paralelo.
  • En la opción 2), el estudiante ingresa su matrícula. El programa le indica en qué paralelo está registrado.
  • En la opción 3), el estudiante ingresa su matrícula y el paralelo en el cual está registrado. El programa elimina este estudiante del paralelo.
  • Al escoger la opción 4), se termina la ejecución del programa.

Cada opción puede manejarse separadamente con funciones o en el mismo programa. Para almacenar los datos se debe usar un arreglo de estructuras.

2Eva_IT2007_T3 Simular carrera de perros

2da Evaluación I Término 2007-2008. Agosto 28, 2007 /ICM00794

Tema 3. (30 puntos) Diez perros se encuentran participando en una carrera, el recorrido que deben realizar es de un total de 100 metros con obstáculos, bajo las siguientes reglas: carreraperros

  • Todos avanzan al mismo tiempo.
  • Cada perro realiza aleatoriamente una de las 4 acciones siguientes:
    • salta 1 metro, o derribando o sorteando apropiadamente el obstáculo,
    • salta 2 metros, o derribando o sorteando apropiadamente el obstáculo.
  • Cuando el perro derriba un obstáculo, usted debe considerar que no puede avanzar en el siguiente instante de tiempo, porque tiene que recuperarse para el siguiente salto.

Elabore un programa que simule el recorrido de los perros y muestre:

a) El avance de los perros en la carrera, en cada instante de tiempo, hasta que terminó.
b) El perro que ganó la carrera y la cantidad de saltos que necesitó para lograrlo (suponga que fue un solo perro).

 

2Eva_IT2007_T2 Verificar matriz triangular con Python

2da Evaluación I Término 2007-2008. Agosto 28, 2007 /ICM00794

Tema 2. (20 puntos) Escriba la función verifica(matriz) que reciba una matriz cuadrada y retorne:

  • 1 si es una matriz triangular inferior (todos los elementos sobre la diagonal principal son iguales a cero),
  • 2 si es una matriz triangular superior (todos los elementos debajo de la diagonal principal son iguales a cero),
  • 3 si es una matriz diagonal (todos los elementos sobre y debajo de la diagonal principal son iguales a cero).
Diagonal
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

Ejemplo de algoritmo en Python

import numpy as np
A = np.array([[ 1, 0, 0 ],
              [ 0, 1, 0 ],
              [ 0, 0, 1 ]])

>>> verifica(A)
>>> 3

B = np.array([[ 5., 4. , 3. ],
              [ 0., 3.4, 6.8],
              [ 0., 0. , 5. ]])
>>> verifica(B)
>>> 2

C = np.array([[1, 0, 0],
              [2, 1, 0],
              [1, 1, 1]])
>>> verifica(C)
>>> 1

Referencia: Método de Gauss con Python

2Eva_IT2007_T1 Funciones par e impar recursivas

2da Evaluación I Término 2007-2008. Agosto 28, 2007 /ICM00794

Tema 1. (20 puntos) Sean las funciones recursivas:

par(n) = \begin{cases} 1, & n=0\\impar(n-1), & n>0 \end{cases} impar(n) = \begin{cases} 0, & n=0\\par(n-1), & n>0 \end{cases}
Ejemplos: 
 >> par (4) retorna 1
 >> impar (4) retorna 0
 >> par (5) retorna 0
 >>impar (5) retorna 1

a) Escriba las funciones par e impar, dichas funciones retornan 1 si el número tiene la característica de la función llamada.

b) Escriba un programa principal donde se generen de forma aleatoria n números enteros comprendidos entre 10 y 50. Luego, utilizando las funciones anteriores, determine si la mayoría de los números generados fueron pares. El número n debe ser pedido al usuario.