3Eva_IIT2011_T1 Generar números 1800-nombre

3ra Evaluación II Término 2011-2012, Febrero 14, 2012 /ICM00794

Tema 1 (30 puntos). Las empresas para recibir llamadas de servicio al cliente pueden solicitar se les asigne números telefónicos 1800-nombre de tal forma se facilite recordarlo para su marcación en el teclado telefónico.

 

El número asignado será 1800 seguido de seis dígitos que se obtienen de las letras marcadas en el teclado de un teléfono convencional mostrado en la figura.

CocaCola
1800- 262226
Cinemark
1800- 246362

a) Realice una función teclaletra(letra), que permita convertir una letra a su respectivo dígito de un teclado telefónico:

Ejemplo:
>>> teclaletra('K')
5

b) Realice un programa que permita ingresar el nombre de la empresa y muestre el número telefónico 1800-nombre que el fue asignado.

Nota: Por facilidad, convierta todas las letras a mayúsculas con upper(texto);

Rúbrica: Definición de Función (5puntos), Conversión letra a tecla (10 puntos), Manejo de caracteres (10 puntos), Programa integrado (5 puntos)

2Eva_IT2006_T3 Encriptar a Morse

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

Tema 3 (35 puntos)

Cierta organización ha implementado un medio encriptación de sus números de cuentas a través de un traductor de códigos Morse para números:

Tabla morse
0 = -..- 1 = ..-. 2 = ..- 3 = .- 4 = .-..
5 = -.. 6 = -.-. 7 = …- 8 = -.- 9 = -.
  • Escriba una función que reciba un número de cuenta y retorne su equivalente en código Morse numérico
  • Escriba una función que reciba un número en código Morse y retorne en número original.
  • Escriba un programa principal que permita ingresar un número de cuenta entero de 4 dígitos y ofrezca el siguiente menú de opciones: (5 puntos)
1. Ingresar Cuentas a traducir
2. Traducir a código Morse
3. Traducir a número original
4. Salir
equivale = [ '-..-' , '..-.' , '..-' , '.-' , '.-..' ,
             '-..' , '-.-.' , '…-' , '–.-' , '-.' ]

Nota: los números de cuenta son enteros de varios dígitos. En Morse, la cadena de símbolos separa los dígitos por un espacio.

Rúbrica: función codificar con varios dígitos (15 puntos), funcion decodificar con varios dígitos (15 puntos). Uso de menú (5 puntos)

Referencia: http://blog.espol.edu.ec/estg1003/morse-codificador/

2Eva_IT2006_T2 Simula juego de ruleta, punto y premio

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

Tema 2. (35 puntos) En la siguiente ruleta en su posición original encuentran ubicadas en casillas los puntajes 2, 7, 5, 9, 1, 3, 8 y 4 respectivamente y que son visibles al jugador.

En cada jugada, el participante apunta a (escoge) una casilla a la cual disparar, mientras que la ruleta gira posiciones aleatorias de 1 a 8 casillas a la derecha de forma rotativa.

La ruleta gira, y gana los puntos dados en la posición donde el jugador decidió apuntar.

Para cada jugada, la ruleta vuelve a su posición original.

Luego de vario intentos, se muestra el resultado de los puntos acumulados obtenidos en cada disparo, y de acuerdo a los puntos acumulados, recibe uno de los premios de la tabla:

Puntos Acumulados Premios
5 a 15 Pluma
16 a 35 Camiseta
36 a 45 Balón del Mundial

a) Escriba una función denominada puntoganado(posición) que recibiendo el elemento posición de disparo escogido por el jugador, retorne los puntos ganados obtenidos con el desplazamiento aleatorio de la ruleta. (15 puntos)

b) Escriba una función denominada premio(acumulados), que reciba la cantidad de puntos acumulados y presente la descripción del premio correspondiente. (10 puntos)

c) Escriba un programa en matlab que simule el juego si para cada jugador se le permite 5 disparos, y muestre al final el premio obtenido (use las funciones anteriores). (10 puntos)

Rúbrica: literal a, definir la función (5 puntos), uso de aletorio (5 puntos), corrección de puntos por giro (5 puntos), literal b, producto predeterminado (2 puntos), uso de intervalos (8 puntos), literal c, usando las funciones (10 puntos)

2Eva_IT2006_T1 Donaciones defensa civil

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

Tema 1. (30 puntos) Debido a la erupción del Volcán Tungurahua y como ayuda a los damnificados del sector, la Defensa Civil está recibiendo de empresas o personas naturales donaciones clasificadas en:

  • raciones de alimentos,
  • unidades de medicinas o
  • aportaciones de dinero

Ayude a la Defensa Civil creando un programa que registre y tabule los datos del donante, el tipo de donación y la cantidad de acuerdo al Menú:

1. Registro de Donación: Nombre del Donante, teléfono, Tipo de Donación, Cantidad
2. Mostrar cantidad de donantes por tipo de donación
3. Mostrar el total de unidades por tipo de donación
4. Guardar archivo de registros de donación
5. Salir

Referencia: www.eluniverso.com 31/07/2016 “Defensa Civil y dos alcaldes presentan proyecto para damnificados del volcán Tungurahua”

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_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_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_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)