3Eva_IIT2012_T4 Registro de alquiler de canchas

3ra Evaluación II Término 2012-2013, Febrero 20, 2013 /ICM00794

Tema 4 (30 puntos). Para administrar el alquiler y reserva de una cancha deportiva privada, se requiere escribir programa que permita registrar las horas reservadas dentro de una semana, que cumpla con el menú siguiente:

  1. Registro de Cliente: solicita el nombre, cedula y teléfono del cliente y le asigna un número de cliente, llenando una tabla de clientes.
  2. Reserva de horario: El cliente seleccionará el horario para uso de la cancha proporcionando la hora, día y su número de cliente, con lo que registra la reserva en una matriz de Horarios. No se puede reservar un horario que ya esté ocupado.
  3. Mostrar bloque horario. Muestra el estado de alquiler y reserva de horarios. Los libres se muestran con cero.
  4. Mostrar Clientes: Lista los datos de los clientes que han reservado horas en la cancha.
  5. Mejor cliente: muestra cuál es el cliente que ha realizado más reservas durante la semana.
  6. Salir

Ejemplo:

Tabla de Clientes
i Nombre Cedula Teléfono
1 Juan 0987654321 2233441
2 Pedro 0976548123 2456578
3 María 1245689730 2694567
Ejemplo de Reserva:
Hora:10 (am),
dia:4 (Jueves),
Cliente número: 2 (Pedro)
Mejor cliente: 3
Tabla de Reserva Horaria. día
Lun Mar Mié Jue Vie Sab Dom
Horarios 1 2 3 4 5 6 7
Horas 7 3 3 3 3 0 0 0
8 0 0 0 0 0 1 0
9 4 0 4 0 4 1 0
10 0 0 0 2 0 0 4
11 0 0 0 0 0 0 0
12 0 0 0 0 0 0 0
21 0 1 0 1 0 3 0
22 0 0 0 0 0 0 0

Nota: Los horarios se pueden reservar de lunes a domingo desde las 7h00 a las 22h00. Puede usar las funciones para matrices del tema anterior

Rúbrica: Estructura menú (5 puntos), estructura de datos y su registro (10 puntos), reserva y validación (5 puntos), uso de funciones de matrices (5 puntos), mejor cliente (5 puntos).

3Eva_IT2012_T4 Registrar y despachar pedidos

3ra Evaluación I Término 2012-2013, Septiembre 11, 2012 /ICM00794

Tema 4 (25 puntos) Una tienda administra pedidos vía electrónica usando el menú mostrado.

Menú
 1. Ingresar Inventario
 2. Ingresar Pedido
 3. Inventario Final
 4. Salir

Pedido es otra lista de los m tickets (números enteros) junto con el código del artículo que el cliente desea (un solo artículo por cliente) y la cantidad requerida.

  • Inventario final determina la cantidad total sobrante o faltante de cada artículo para atender las solicitudes de todos los clientes y muestra el resultado.
    Realice un programa que administre con un menú los datos de ambas listas.
Inventario
Codigo Artículo Cantidad
1 Lápiz 100
2 Borrador 70
n
Pedido
Ticket Cliente Código Cantidad
1 María 2 4
2 Pedro 1 5
3 Juan 1 10
m

Rúbrica: Definición y uso de estructura de datos (5 puntos), Menú (5 puntos), Ingreso de registros en tablas (5 puntos), calcular y mostrar el inventario final (10 puntos)

3Eva_IT2012_T3 Tonalidad de colores en GIF

3ra Evaluación I Término 2012-2013, Septiembre 11, 2012 /ICM00794

Tema 3 (25 puntos). El formato GIF para imágenes digitales, usa la técnica de color indexado con 256 tonalidades de color por pixel [0-255] en una matriz de pixeles de tamaño nxm.

Se requiere separar los distintos colores, para identificar y determinar las cantidades de cada tonalidad de color mediante el uso de un vector de frecuencias [0-255].

Realice una función colorimg(imagen) que reciba la matriz de una imagen de tamaño nxm y presente como resultado el vector de frecuencias de los colores indexados.

imagen.gif
30 30 30 0 0
30 30 30 0 0
170 170 30 30 0
80 80 170 30 30
80 80 80 170 170
>>frecuencia=colorimg(imagen)
    color = [0, 1, 2, ..., 30, ..., 80, ..., 170, ...]
frecuencia =[5, 0, 0, ..., 10, ...,  5, ...,   5, ...]
usar para ejemplo en python:
matriz = np.array([[30, 30, 30, 0, 0],
                   [30, 30, 30, 0, 0],
                   [170, 170, 30, 30, 0],
                   [80, 80, 170, 30, 30],
                   [80, 80, 80, 170, 170]])

Nota: El rango de color es [0-255] y el indice de frecuencias es [1-256] en matlab
Referencia: http://www.ecured.cu/index.php/Color_indexado

Rúbrica: Definición de Función (5 puntos), manejo de tamaño de matriz (5 puntos), vector de frecuencias (15 puntos).

3Eva_IIT2012_T2 Practicar alfabeto radiofónico con Python

3ra Evaluación II Término 2012-2013, Febrero 20, 2013 /ICM00794

Tema 2 (30 puntos). Realice un programa para practicar el uso del alfabeto radiofónico usando un menú como el siguiente:

https://www.icao.int/about-icao/Pages/ES/default_ES.aspx
https://www.icao.int
  1. Mostrar alfabeto radiofónico.- muestra la tabla del alfabeto radiofónico.
  2. Prueba de escritura.- Presenta una cadena con 6 letras del alfabeto generadas de forma aleatoria, pregunta al usuario la conversión a alfabeto radiofónico, luego verifica y muestra si fue correctamente escrita. Si hay errores se permiten hasta 3 intentos para completarla.
  3. Prueba de lectura. Presenta una cadena con 6 palabras del alfabeto radiofónico seleccionadas de forma aleatoria, luego pregunta al usuario las letras correspondientes, verificando y mostrando si se superó la prueba. En caso de errores, solo admiten hasta 3 intentos para superar la prueba.
  4. Salir
>> radiofono
 ** Entrenamiento Alfabeto Radiofónico **
 1. Mostrar alfabeto radiofónico
 2. Prueba de escritura
 3. Prueba de lectura
 4. Salir
 ¿cuál opción?:2
 ** Prueba de escritura
 GUAYAS
 Escriba código:
 GOLF UNIFORM ALFA YANKEE ALFA SIERRA
 Correcto…!
 ¿cuál opción?:3
 ** Prueba de Lectura
 GOLF UNIFORM ALFA YANKEE ALFA SIERRA
 Escriba código: GUAYAS
 Correcto....!

Nota: Puede usar las funciones del tema anterior. Para comparar cadenas: strcmp(a ,b).

Rúbrica: menú (5 puntos), ítem 1 (5 puntos), ítem 2 (5 puntos), ítem 3 (10 puntos), Programa estructurado (5 puntos)


Referencia: Parte 1: 3Eva_IIT2012_T1 Alfabeto radiofónico con Python

Wikipedia: Alfabeto radiofónico

3Eva_IIT2012_T3 Funciones mayor y contar

3ra Evaluación II Término 2012-2013, Febrero 20, 2013 /ICM00794

Tema 3 (20 puntos).
a) Realice una función rangomayor(matriz), que recibe una matriz de números enteros y devuelve el número de mayor valor.

b) Escriba una función cuenta(matriz,k) que reciba una matriz de números enteros y cuente las veces que aparece el número k dentro de la matriz.

c) Realice una función contartodos(matriz), que recibe una matriz de números enteros y entrega un vector con las veces que se presentan cada número en la matriz. Ejemplo:

matriz
0 3 4
2 2 3
0 2 1
>> rangomayor(matriz) ans=4
>> cuenta(matriz,2) ans=3
>> contartodos(matriz)
Número 1 2 3 4
Veces: 1 3 2 1

Nota: Para este tema se requiere presentar las funciones y sus soluciones algorítmicas (no use las existentes en matlab), puede hacer uso de las funciones entre literales de este tema.

Rúbrica: definición de funciones (3 puntos), literal a (5puntos), literal b (5 puntos), literal c (7 puntos).

3Eva_IT2012_T2 Validar infix y convertir a prefix

3ra Evaluación I Término 2012-2013, Septiembre 11, 2012 /ICM00794

TEMA 2 (25 puntos) Las expresiones aritméticas en notación INFIX establece que en medio de los operandos (números[0-9]) debe existir un operador aritmético conocido (+, –, *, /).

En la computadora a veces se necesita representar la operación en notación PREFIX, la cual establece que primero se colocan el operador aritmético y luego los operandos.

Suponga que solamente tendrá como operandos números de una cifra.

Ejemplo:
INFIX PREFIX
2+3 + 2 3
>>validainfix('2+3') 
ans= 1
>>validainfix('23+') 
ans=0
>>in2prefix('2+3') 
ans= + 2 3
9-6 – 9 6
5*4 * 5 4
8/7 / 8 7

a) Escriba la función validainfix(cadena), la cual recibe una cadena de 3 caracteres solamente y verifica que los 2 operandos están en las posiciones inicial y final, y existe un operador aritmético en la mitad. La función devuelve 1 si es una cadena válida y 0 si no lo es.

b) Escriba la función in2prefix(cadena), la cual recibe una cadena de 3 caracteres previamente validado (llame a la función validar), y convierta la operación de notación INFIX a notación PREFIX.

Rúbrica: Definición de funciones (5 puntos). Validación de números y operadores (15 puntos), cambio de notación (10 puntos).

3Eva_IIT2012_T1 Alfabeto radiofónico con Python

3ra Evaluación II Término 2012-2013, Febrero 20, 2013 /ICM00794

Tema 1. (20 puntos). El alfabeto radiofónico establecido por Organización de Aviación Civil Internacional (OACI),

https://en.wikipedia.org/wiki/Wikipedia:WikiProject_Military_history/News/April_2016/Book_reviews#/media/File:Bundesarchiv_Bild_101I-198-1395-08A,_Russland,_Soldat_und_Funker_in_Deckung.jpg
A German Army sergeant and radio operator in 1943

es un lenguaje para la comunicación empleado cuando es importante que no se produzcan errores en la comprensión de datos o códigos tal como para deletrear la identificación de un contenedor de carga, una aeronave, etc.

letra Palabra Letra Palabra Letra Palabra
A Alfa J Juliet S Sierra
B Bravo K Kilo T Tango
C Charlie L Lima U Uniform
D Delta M Mike V Victor
E Echo N November W Whiskey
F Foxtrot O Oscar X X-ray
G Golf P Papa Y Yankee
H Hotel Q Quebec Z Zulu
I India R Romeo

a) Realice una función coderadio(secuencia) que reciba una secuencia de letras y entregue una cadena de caracteres con las palabras del alfabeto radiofónico. Ejemplo:

>>> coderadio('ESPOL')
Echo Sierra Papa Oscar Lima

b) Escriba una función decoradio(cadena) que reciba una cadena de caracteres con las palabras del alfabeto radiofónico, y muestre la secuencia de letras. Ejemplo:

>>> decoradio('Echo Sierra Papa Oscar Lima')
ESPOL

Nota: para declarar una cadena vacía: cadena='', para unir cadenas puede usar strcat(a,b).
Rúbrica: definición de funciones (5 puntos), literal a. (5 puntos), literal b.(10 puntos)


radiofonico = [['A','Alfa'],   ['B','Bravo'], ['C','Charlie'],
               ['D','Delta'],  ['E','Echo'],  ['F','Foxtrot'],
               ['G','Golf'],   ['H','Hotel'], ['I','India'],
               ['J','Juliet'], ['K','Kilo'],  ['L','Lima'],
               ['M','Mike'],   ['N','November'],['O','Oscar'],
               ['P','Papa'],   ['Q','Quebec'],['R','Romeo'],
               ['S','Sierra'], ['T','Tango'], ['U','Uniform'],
               ['V','Victor'], ['W','Whiskey'],['X','X-ray'],
               ['Y','Yankee'], ['Z','Zulu']]

Referencia: Wikipedia: Alfabeto radiofónico.
Ejercicio Parte 2: 3Eva_IIT2012_T2 Practicar alfabeto radiofónico con Python

Iberia. Wikiberia: Alfabeto aeronaútico. 27 may 2013

3Eva_IT2012_T1 Juego tipo bingo con fichas rojas y azules

3ra Evaluación I Término 2012-2013, Septiembre 11, 2012 /ICM00794

Tema 1 (25 puntos). Un ánfora contiene 20 fichas rojas y 10 fichas azules. sorteo bingo azul roja

Cada jugador debe tomar una muestra al azar de 5 fichas y determina cuántas fichas rojas y cuántas fichas azules se obtuvieron.

Escriba un programa que simule el juego para n jugadores y muestre el promedio de fichas rojas y azules que se obtuvieron en todos los intentos.

Jugador Ficha Roja Ficha Azul
1 3 2
2 4 1
3 2 3
Promedio 3 2

Rúbrica: definición de aleatorios (5 puntos), control por jugador (5 puntos), promedios (10 puntos), programa estructurado (5 puntos)

Referencia: http://blog.espol.edu.ec/estg1003/frecuencia-relativa/

3Eva_IT2011_T4 Sortear casos para jueces

3ra Evaluación I Término 2011-2012, Septiembre 13, 2011 /ICM00794

Tema 4 (30 puntos). El “Consejo de la Judicatura” para asignar casos a jueces realiza la tarea mediante sorteo.

Actualmente el Consejo está formado por 11 jueces (identificados numéricamente) distribuido en las siguientes áreas mostradas en la tabla:

Área Tipo de Área Jueces
1 Penal 1 al 4
2 Civil 5 al 8
3 Laboral, Tránsito y Niñez 9 al 11

Cada caso se debe clasificar de acuerdo al área mostrada en la tabla, dependiendo del área se asigna aleatoriamente el juez correspondiente.
Elabore un programa para procesar la asignación de jueces en los diferentes casos.

Primero ingrese para cada caso su clasificación (Penal, Civil, Laboral o Tránsito o niñez), luego dependiendo de la clasificación realice la asignación aleatoria del juez. Finalmente presente un reporte de la cantidad de casos asignados a cada área.

Rúbrica: Ingreso de casos (5 puntos), sorteo de jueces (10 puntos), listado casos por área (15 puntos)

3Eva_IIT2011_T3 Anexo de gastos para el SRI

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

Tema 3. (40 puntos) Al final de cada año, se debe presentar al SRI el Anexo de los “Deducibles de Gastos personales”, que es un formulario que muestra la información de los facturas por los conceptos de:

(1) Vivienda, (2) Educación, (3) Salud, (4) Vestimenta y (5) Alimentación.
La información por factura que se registra se muestra a continuación:

Anexo
Mes Factura RUC Razon Social Valor sin IVA Concepto
Enero 006- 024- 000073706 0990004196- 001 Corporación El Rosado S.A. $50.00 (5) Alimentación
Enero 083- 013- 000053392 1790016919- 001 Corporación Favorita $40.00 (5) Alimentación
Febrero 094- 002- 000105141 1790710319- 001 Farmacias y Comisariatos de Medicinas $25.00 (3) Salud

Realice un programa para gestionar los datos para el Anexo de Gastos Personales acorde al siguiente menú:

  1. Registrar Factura. – Ingresa los datos de la factura para el Anexo.
  2. Gastos por mes.- Presenta el total de gastos deducibles por mes.
  3. Gastos por concepto.- Muestra el Valor total de gastos por concepto.
  4. Calcula Deducibles.- Muestra los datos de valores a deducir en el año acorde a las siguientes reglas:
    -El total de gastos por deducir tiene un máximo de $9000, sin importar si lo registrado es mayor.
    -El total deducible por cada concepto tiene un máximo de $3000, exceptuando Salud, siempre que el total de gastos no exceda el máximo deducible.
  5. Salir

Rúbrica: Menú (5 puntos), definición y uso de estructura datos (5 puntos), caso 1 (5 puntos), caso 2 (10puntos), caso 3 (5 puntos), caso 4 aplicando reglas (10 puntos).