3Eva_IIT2010_T3 Juego de rompecabezas

3ra Evaluación II Término 2010-2011, Febrero 15, 2011 /ICM00794

Tema 3. (30 puntos). Un rompecabezas numérico se compone de fichas marcadas del 1 al 8 y colocadas aleatoriamente en un tablero de 3×3. Para la solución, se debe ordenar las fichas, dejando vacía la esquina inferior derecha, siguiendo las siguientes reglas:

  • En cada turno, el programa debe permitir al usuario mover una ficha a la casilla vacía si esta se encuentra en la misma fila o columna.
  • El juego se repite hasta formar la solución, mostrando la cantidad de turnos utilizados.

Realice un programa que simule el juego de rompecabezas.

Rompecabezas: :

Solución: rompecabezas solucionado

>> resolver
¿Tamaño del tablero?: 3
 Turno: 1
8 2 6
5 4 0
1 7 3
¿Ficha a mover?:5
Turno: 2
8 2 6
0 4 5
1 7 3
¿Ficha a mover?:8
Turno: 3
0 2 6
8 4 5
1 7 3
¿Ficha a mover?:1
Turno: 4
1 2 6
8 4 5
0 7 3
¿Ficha a mover?: …

Nota:

  • Se recomienda utilizar una matriz solución para validar si se ha resuelto el rompecabezas.
  • Para generar el tablero del juego, puede hace uso de la función desordena(n) del tema anterior
  • Para validar si se puede mover una ficha, puede utilizar la función ubica(matriz,k) del tema anterior.

Rúbrica: Generación de rompecabezas y solución (5 puntos), control de turnos (5 puntos), validación de movimiento de ficha (10 puntos). Validación de solución del juego (10 puntos)

3Eva_IIT2010_T2 Ubicar número dentro de una matriz

3ra Evaluación II Término 2010-2011, Febrero 15, 2011 /ICM00794

Tema 2 (15 puntos). Escriba una función ubica(matriz,k) que dada una matriz de tamaño n, entregue la ubicación de fila y columna del número k.

Ejemplo siguiendo el resultado del tema 1:

>>> matriz = np.array([[8, 2, 6],
		       [5, 4, 0],
                       [1, 7, 3]])
>>> ubica(matriz,7)
array([2, 1])
>>> 
usando el ejemplo del tema anterior

Observación: Considere que las filas y columnas se numeran desde 0

Rúbrica: Definición de función (5 puntos), búsqueda de k (5 puntos). Algoritmo estructurado (5 puntos)

3Eva_IIT2010_T1 Matriz con aleatorios no repetidos (desordena)

3ra Evaluación II Término 2010-2011, Febrero 15, 2011 /ICM00794

Tema 1 (15 puntos). Realizar una función desordena(n), que entrega una matriz cuadrada de tamaño nxn llenada de forma aleatoria con números naturales no repetidos entre 0 y n2-1

>>> desordena(3)
array([[8, 2, 6],
       [5, 4, 0],
       [1, 7, 3]])

Rúbrica: Definición y uso de función (5 puntos), aleatorios no repetidos (5 puntos). Algoritmo estructurado (5 puntos)

3Eva_IT2010_T4 Revisión de vehículo y matrícula anual

3ra Evaluación II Término 2010-2011, Febrero 15, 2011 /ICM00794

Tema 4. (40 puntos) El proceso Anual para “matrícula” y “revisión” de vehículos requiere cumplir en orden los siguientes pasos:

http://radiomorena640.com/atm-se-aplicaran-sanciones-a-propietarios-de-vehiculos-que-se-presenten-a-la-revision-tecnica-con-sus-placas-alteradas/Pagar el valor de la matrícula anual en ventanillas de bancos

  • Realizar una revisión del vehículo en la CTG comprobando las buenas condiciones las luces, llantas y extintor.
  • Retirar el sticker que certifica el cumplimento anual del proceso en ventanillas.

El usuario puede completar los pasos en días diferentes, aunque tiene que cumplir satisfactoriamente el paso anterior para ejecutar el siguiente.

Pagos
Matrícula Valor
GLE0123 $ 50
GDK0234 $ 70
GMN0456 $ 30
Revisión
Matrícula Luces Llantas Extintor Cumple
GDK0234 1 1 1 3
GLE0123 1 0 1 2
GLE0123 1 1 1 3

Realice un programa para administrar este proceso mediante un menú con las tres opciones correspondientes a los pasos indicados, que registre en una tabla los datos de los pagos y en otra los resultados de la revisión.
En los caso de revisión y sticker, realice la validación del cumplimiento del requisito anterior revisando la tabla correspondiente.

Nota: Puede usar la función strcmp(cadena1,cadena2) para comparar dos cadenas de caracteres.
“CTG inicia la matricula por dígito final” Febrero 01, 2011 www.eluniverso.com

Rúbrica: Menú (5puntos). Definición y uso de Estructura de Datos (5 puntos). Registro de pagos (5 puntos). Validación de pago previo a revisión (10 puntos). Validación de cumplimiento de revisión previo a entrega de sticker (10 puntos). Programa integral (5puntos).

3Eva_IT2010_T3 Asignar de asientos en un avión

3ra Evaluación I Término 2010-2011, Septiembre 14, 2010 /ICM00794

Tema 3. (50 puntos) Una aerolínea requiere de un programa para administrar la ocupación de un vuelo por medio de las siguientes opciones en el menú mostrado.

  1. Compra de Boleto.- Registra datos de cada pasajero: cedula y nombre, siempre que exista disponibilidad de asientos. Puede usar la función ocupados() del tema anterior.
  2. Asignar asiento.- Se solicita la identificación del pasajero y la ubicación deseada por fila y columna, asignando la posición solo si está disponible. En el caso que la ubicación deseada este ocupada, se le asigna una libre usando función ubicalibre() del tema anterior. La ubicación final del pasajero se debe registrar también en la estructura de datos del pasajero.
  3. Mostrar ocupación de asientos.- permite revisar cuáles asientos se encuentran ocupados (1) o vacios (0).
  4. Lista de Pasajeros en el vuelo.- Muestra la información de pasajeros confirmados (con asiento asignado).
  5. Salir
Pasajero
Cedula Nombre Fila Columna
8765 Juan 3 4
6543 Pedro 0 0
2345 María 4 2
….

Sugerencia: Para el control de asientos, usar una matriz asientos(n,m) que indica: ocupados (1) o vacios (0). Al inicio se consulta el número de filas y columnas de asientos en el avión.

Rúbrica: Estructura de Datos (10 puntos). Menú estructurado (5 puntos).Opción 1(10 puntos). Opción 2 (10 puntos). Validación de asientos (5 puntos). Pasajeros confirmados (5 puntos). Uso de funciones (5 puntos).

3Eva_IT2010_T2 Funciones ocupados y ubica libre en matriz

3ra Evaluación I Término 2010-2011, Septiembre 14, 2010 /ICM00794

Tema 2. (25 puntos) La matriz asientos(n,m) corresponde a la pre-asignación de asientos de una avión administrado por una aerolínea, que utiliza la nomenclatura de Ocupado(1) y vacio(0).

Asientos(i,j)
ventana pasillo pasillo ventana
1 2 3 m=4
Fila 1 0 0 0 0
2 0 0 0 0
3 0 0 0 1
4 0 1 0 0
19 0 0 0 0
n=20 0 0 0 0

Realice una función ocupados(matriz asientos) que reciba una matriz de asientos y entregue la cantidad de asientos ocupados.

Realice una función ubicalibre( matriz asientos) que entregue la ubicación del primer asiento desocupado en el caso de que existan.

Rúbrica: Definición de función (5 puntos). Procedimiento de función ocupados (8 puntos).Procedimiento de función ubicalibre (12 puntos)


matriz = [[1,1,1,1],
          [1,0,0,0],
          [0,1,0,1]]

ocupados:  7
primer libre encontrado:  [1, 1]
>>>

3Eva_IT2010_T1 Ecuación Verhulst

3ra Evaluación I Término 2010-2011, Septiembre 14, 2010 /ICM00794

Tema 1 (25 puntos) El crecimiento de población de varios países fue presentado por el matemático-biólogo Verhulst mediante un modelo matemático denominado ecuación logística.

P(t)=aP0bP0+(abP0)eat P(t) = \frac{a P_0}{b P_0 + (a-b P_0)e^{-at}}

El valor de Po es la población inicial, y las variables a y b son factores de crecimiento característicos de ese país.

Realice una función logística(Po,a,b,t) que calcule el valor de P para el tiempo t.

Escriba un programa que solicite valores para Po, a, b, t y usando la función logística muestre en un arreglo los valores de crecimiento de la población en el periodo comprendido desde 1 hasta t en incrementos unitarios.

Finalmente el programa mostrará el valor de t para cuando la población supera el doble de su valor inicial.

Rúbrica: Definición de la función (5 puntos). Arreglo de crecimientos (10 puntos) y muestra el valor de t requerido (10 puntos).

3Eva_IIT2009_T4 Registro salida vehículos en peaje

3ra Evaluación II Término 2009-2010. Febrero 23, 2010 /ICM00794

Tema 4 (30 puntos) Realizar un programa para el control de salida/entrada de vehículos en la ciudad durante un feriado.

Los datos del vehículo que se registran en los peajes son: placa, la hora y la dirección Salida/Entrada.

Un vehículo que retorna tiene dos registros: salida, y entrada respectivamente; el orden contrario corresponde a un vehículo visitante.

El control se lo realizará mediante el siguiente menú de opciones:

****Menú****
1. Registro de Salida/Entrada
2. Total de vehículos que han salido
3. Listado de vehículos sin retornar
4. Salir
Vehículo
placa hora salida/ entrada
GAB123 07:00 Salida (1)
GBC234 07:05 Salida (1)
GAB123 16:05 Entrada (1)

NOTA: Se supone los vehículos salen de la ciudad solo una vez. La hora se registra en formato de 24 horas.

Rúbrica: menú (5 puntos), definición de estructura e ingreso de datos (10 puntos), Vehículos sin retorno/registros no repetidos (15 puntos).

3Eva_IIT2009_T3 Convertir hora 12h a 24h

3ra Evaluación II Término 2009-2010. Febrero 23, 2010 /ICM00794

Tema 3. (20 puntos) Realice una función hora24(texto) que reciba la hora en formato de 12 horas (hh:mm am/pm) y la convierta a un formato de 24 horas (hh:mm).

Ejemplo:
>> hora24(’08:30 pm’)
 ans= 20:30
>> hora24(’10:30 am’)
 ans= 10:30

Nota: El formato de hora se puede considerar tipo texto.

Rúbrica: Definición de función (5 puntos), determinación de am/pm para ajuste de hora (7 puntos), ajuste de hora (8 puntos).

3Eva_IIT2007_T3 Registro de Actores y Películas

3ra Evaluación II Término 2007-2008. Febrero 26, 2008 /ICM00794

Tema 3. (40 puntos) Elabore un programa para llevar el registro de Actores y películas con el siguiente menú:

1. Ingresar Actor
2. Ingresar Película
3. Reporte de Película y Actor
4. Salir

Para ingresar un actor, crear una lista con el nombre ACTOR, la cual permitirá ingresar los siguientes datos para cada uno de m actores conocidos:

ACTOR:
Código del actor (Valor entero)
Nombre del actor (30 caracteres máximo)

Para ingresar una película, crear una lista con el nombre PELÍCULA, la cual permitirá ingresar los siguientes datos para cada una de las n películas

PELICULA:
Nombre (25 caracteres máximo)
Código del actor principal (valor entero), debe ser validado de la lista anterior
Tipo de película (D: Drama, C: Comedia, S: Suspenso, T: Terror)

Para el reporte, muestre en la pantalla: el nombre de la película, el nombre del actor principal y el tipo de película. El reporte solicitado debe tener el siguiente formato:

Película Actor Principal Tipo
La mujer de mis pesadillas Ben Stiller Comedia
Soy Leyenda Will Smith Drama
Mr. Brooks Kevin Costner Terror