3Eva_IT2011_T3 Calcular comisiones por servicio técnico

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

Tema 3 (30 puntos). Una empresa brinda cuatro tipos de servicio técnico con costos de 25, 50, 100 y 150 dólares respectivamente. La empresa dispone de n técnicos, que perciben una comisión del 5% sobre la tarifa del servicio realizado.
Al final del mes se obtiene la tabla de servicios prestados por técnico.

Tabla de Servicios:
Servicio 1 2 3 4
Precio $25 $50 $100 $150

Realice un menú que permita:

  1. Ingresar lista. Registra los Servicios prestados por técnico en el mes.
  2. Total Facturado. Calcula y muestra el total de dinero facturado por la empresa.
  3. Comisiones. Calcula y muestra las comisiones obtenidas por técnico.
  4. Servicio Estrella. Muestra el servicio el más requerido.
  5. Técnico del Mes. Busca y muestra el técnico que ganó la mayor comisión
  6. Salir.

Nota: Para el tema 2, puede utilizar la función del tema anterior para calcular la matriz de facturación.

Ejemplo:
Servicios Prestados Serv 01 Serv 02 Serv 03 Serv 04 . Comisión
Técnico 1 2 1 2 3 37.50
Técnico 2 3 1 0 2 21.25
Técnico 3 2 2 1 1 20.00
Técnico 4 1 0 0 3 23.75
Técnico n 3 5 1 1 28.75
• Total Recaudación: $2.625
• Servicio Estrella: Servicio 1
• Técnico del Mes: 1
• Técnico menos productivo: 3

Rúbrica: Menú (5 puntos), cálculo de recaudación (10 puntos), desarrollar los ítems del 3 al 5 del menú (5 puntos).

3Eva_IT2011_T2 producto de matrices

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

Tema 2 (15 puntos). Dos matrices A y B se pueden multiplicar si el número de columnas de A coincide con el número de filas de B.

Am x n x Bn x p = Cm x p

El elemento Cij de la matriz producto se obtiene multiplicando cada elemento de la fila i de la matriz A por cada elemento de la columna j de la matriz B y sumándolos.

Realice una función producto(A,B) que permita realizar el producto entre una matriz A de tamaño de mxn y un vector B de tamaño n.

Ejemplo:
A B
2 1 2 3 25
3 1 0 2 x 50
2 2 1 1 100
150
C
2*25=50 1*50=50 2*100=200 3*150=450
= 75 50 0 300
50 100 100 150

Nota: Desarrolle el algoritmo que describa las operaciones para cada elemento Cij. No use las funciones de matlab para multiplicar matrices.

Rúbrica: Definición de función (5 puntos), algoritmo (10 puntos).


A = [[2,1,2,3],
     [3,1,0,2],
     [2,2,1,1]]
B = [25,50,100,150]

3Eva_IIT2011_T2 Registrar gastos en viaje por automóvil

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

Tema 2. (30 puntos) Juan y Pedro deciden separadamente recorrer en auto varias ciudades quedándose un día en cada una, arbol decision ejemplo

al siguiente día cada uno decide ir por la izquierda o derecha lanzando una moneda, hasta encontrar un punto en que ya no se pueda continuar (marcado por 0 en la tabla).

Los posibles recorridos por carretera se representan en la tabla, indicando:

  • el valor de gastos por estadía en una ciudad,
  • el número de la siguiente ciudad que se visitaría si se sigue en la dirección izquierda o derecha.
Ciudad Gastos Izquierda Derecha
1 200 3 2
2 150 4 5
3 70 7 4
4 140 7 6
5 90 6 0
6 300 7 0
7 50 0 0

Realice un programa que permita simular el viaje de Juan y el de Pedro, ingresando la tabla y al final muestre:

a) el recorrido realizado por Juan y Pedro en arreglos,
b) el total de gastos por estadía por cada el recorrido,
c) quién visitó mas ciudades y,
d) quién gastó menos en su recorrido.

Rúbrica: Ingreso de datos (5 puntos), arreglos de Recorridos (15 puntos), literal b) (5 puntos), literal c) y d) (5 puntos).

3Eva_IT2011_T1 Validar reglas para préstamo en banco

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

Tema 1 (25 puntos). Un banco previo a conceder un préstamo a largo plazo, revisa los datos del solicitante y concede el préstamo sólo si cumple las siguientes condiciones:

a) Si los ingresos anuales son superiores a $ 12.000.
b) Si los ingresos anuales son inferiores o iguales a $ 12.000, pero superiores a $ 8.000 y está soltero.
c) Si tiene ingresos entre $ 10.000 y $12.000, está casado sin hijos.

Realice un programa para el banco que permita para n solicitudes:

  • registrar los datos del solicitante:
    nombre, ingresos anuales, estado civil y número de hijos, monto préstamo.
  • procesar las solicitudes,
  • mostrar un listado de nombres de favorecidos con el préstamo, monto y el total de favorecidos.

Rúbrica: Definición y uso de estructura (5 puntos), Ingreso (5 puntos), procesamiento (10 puntos), listado final (5 puntos)

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)

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)