------------------------------8d46b146476eeaf Content

PROGRAMACIÓN APLICADA AL DISENO
“Como estudiante de ESPOL me comprometo a combatir la mediocridad y
actuar con honestidad; por eso no copio ni dejo copiar”
----------------------------------------------------Firma de compromiso del estudiante
Estudiante:
____________________________
___
100
________
Firma de aceptación de
Nota
Marzo 7 del 2016
Docentes: MSc. Diego Carrera, MSc. David Jurado
Examen de Mejoramiento
Recomendaciones:
 NO firme la aceptación, a menos que esté conforme con la nota.
 VERIFIQUE LA ORTOGRAFÍA Y TENER EN CUENTA LA CALIGRAFÍA.
 Terminantemente prohibido cualquier intento de fraude antes, durante y después del
examen.
 Incluya sus nombres completos dentro del examen físico.
 Leer todos los temas adecuadamente y luego responder.
 El docente se reserva el derecho a responder cualquier pregunta.
 No se permite el uso de ningún dispositivo ajeno al desarrollo del examen, sea de
comunicación, entretenimiento, y/o distracción.
 Debe contar sólo con los elementos necesarios para desarrollar el examen.
 Complete con bolígrafo de tinta color negro, o azul, evite otros colores y/o lápiz, a menos que
el docente indique lo contrario.
 Cualquier elemento que necesite, debe consultar al docente previo a su uso.
 Por cualquier otra duda, consulte al docente, jamás a uno de sus compañeros.
Instrucciones Generales:
 Antes de iniciar su evaluación registre sus nombres y apellidos completos.
 Tener presente que 3 faltas ortográficas en un mismo literal, anulan dicho literal.
 El texto que no se comprenda, será considerado como incorrecto.
 La evaluación tiene un puntaje total de 100.
 La evaluación cuenta con 3 temas.
 En cada tema se indica el puntaje asignado.
 A menos que se indique lo contrario cada literal tendrá un puntaje equitativo de tal forma que
la suma totalice el puntaje asignado para el tema.
 A menos que se indique lo contrario cada sub literal tendrá un puntaje equitativo de tal
forma que la suma totalice el puntaje asignado al literal que lo contiene.
1
PROGRAMACIÓN APLICADA AL DISENO
Tema 1) Resolver lo siguiente (30 Puntos)
Escriba un procedimiento que permita programar un juego de luces que será utilizado en la ventana
de una casa, que tiene forma cuadrada con un número impar como dimensión.
Procedimiento Luces(dimensión: Entero, forma1 : Char, forma2 : Char)
El procedimiento recibe las variables: dimensión y dos formas de luces. Además, debe graficar un
cuadrado cuya longitud dependerá del valor de la variable dimensión. La dimensión se debe validar
que sea impar y en caso de no serlo se aumentará 1 para que lo sea.
Para graficar se debe considerar:

Las líneas impares, se debe mostrar la forma 1; se inicia desde la primera posición y se
muestra la forma saltando una posición. Por ejemplo: asumiendo la forma 1 “+”; entonces,
se muestra “+” en la posición 1,1; luego se muestra “+” en la posición 1,3; luego se muestra
“+” en la posición 1,5 y así sucesivamente.

Las líneas pares, se debe mostrar la forma 2; se inicia desde la segunda posición y se muestra
la forma 2 saltando una posición. Por ejemplo: asumiendo la forma 2 “*”; entonces, se
muestra “*” en la posición 2,2; luego se muestra “*” en la posición 2,4; luego se muestra “*”
en la posición 2,6 y así sucesivamente.
NOTA: Es obligatorio usar lazos repetitivos.
Por ejemplo :
Luces(5,”+”,”*”)
+
+
*
+
+
#
*
+
*
+
Luces(3,”#”,”+”)
+
+
#
*
+
#
+
2
#
PROGRAMACIÓN APLICADA AL DISENO
Tema 2) Pseudocódigo (20 puntos).
Resuelva el siguiente problema, haciendo uso de pseudocódigo:
Un estudiante quiere comprar una entrada a un concierto de un cantante conocido a través de una
aplicación móvil que utiliza el siguiente algoritmo: Al costo base de la entrada se le deben sumar los
valores del IVA y la comisión del vendedor.
El valor de la comisión del vendedor dependerá del tipo de entrada o localidad acorde a la Tabla1. Por
ejemplo: si la entrada es de tipo general, entonces la comisión del vendedor es del 5%. Si la entrada
es de tipo cancha, entonces la comisión del vendedor es del 10%.
El valor del IVA corresponde al 14% de la suma del valor base de la entrada más el valor de la comisión
del vendedor.
Escriba un pseudocódigo que permita simular la venta de 100 entradas para el concierto y calcule por
cada una el precio final.
Tabla 1. porcentajes de beneficio para los vendedores
Ejemplo:
General
Tribuna
Cancha
GoldenBox
Valor de la entrada: $35
5%
7%
10%
15%
Comisión del vendedor: Cancha 10%  3,5
Subtotal  $ 35 + $ 3,5 = $ 38,5
IVA: 14%  $ 38,5 * 14% = $ 5,39
Precio final: $38,5 + 5,39 = $43,89
a.
b.
c.
d.
e.
Validar que cada costo ingresado sea mayor o igual a cero. (2 puntos).
Validar que se elija una de las localidades permitidas. (2 puntos).
Mostrar el porcentaje de comisión para el vendedor correspondiente a la entrada. (4 puntos).
Al final mostrar cual fue la mayor comisión obtenida de las ventas. (6 puntos).
Calcular y mostrar la comisión total para el vendedor. (6 puntos).
Tema 3) Resolver (50 puntos).
La Florería Mariuxi tiene una lista de 7 productos disponibles y los dueños decidieron tomar los
pedidos mediante llamadas telefónicas únicamente.
Los empleados ganan una comisión por el arreglo floral realizado, pero entre los 5 trabajadores que
hay en la florería, se rotan por hora para atender los pedidos telefónicos mientras el resto se dedica
a realizar los arreglos florales.
La florería le ha pedido a usted como estudiante de la ESPOL que le indique mediante un algoritmo
como pueden manejar esta complicada situación porque al final del día deben pagarle la comisión
total a cada uno de los empleados. Considere que usted ya tiene llenos los arreglos llamados:
IdProductos[7 ]: Int, Productos[7 ]: String, Precios[ 7]: Double, ComisionArrFlor[7 ]: Double,
PedidoIdProd[ 35]: Int, Trabajador[ 35]: String.
3
PROGRAMACIÓN APLICADA AL DISENO
Tabla 1. Productos y comisiones:
Id
Producto
0
Arreglo con oso
1
Arreglo con rosas
2
Corazón amarillo
3
Corazón rojo
4
Arreglo con perritos
5
Arreglo con portarretrato
6
Arreglo de orquídeas
Tabla 2. Total 35 pedidos:
Nro
Id de Producto
0
0
1
2
2
0
3
6
4
4
5
2
…
…
34
5
Precio ($)
15.00
12.50
10.00
13.00
17.50
20.00
20.00
Comisión arreglo floral
15%
15%
10%
10%
17%
20%
20%
Reporte de Comisiones que se debe
generar:
Trabajador
V2
V3
V4
V5
V1
V2
…
V1
Nro. Trabajador
1
V1
2
V2
3
V3
4
V4
5
V5
Comisión ($)
40.25
33.70
29.90
51.25
38.20
Realizar lo siguiente:
A. Realizar una función que retorne un arreglo con las comisiones que le corresponden a un
trabajador especifico “idTrabajador”, pero que además devuelva el tamaño del mismo con
paso de parámetros por referencia. (15 puntos)
a. ObtenerComisiones ( IdTrabajadores[ ]: String, n: Int, IdProductos[ ]: Int, Precio[ ] :
Double, ComisionArrFlor[ ]: Double, nProductos: Int, PedidoIdProd[ ]: Int,
Trabajador[ ]: String, &nPedidos: Int ) : Double [ ]
B. Realizar una función para obtener la suma de un arreglo. (10 puntos)
a. Suma ( arreglo[ ]: Double, tam: Int) : Double
C. Realizar un procedimiento que dado un arreglo de trabajadores devuelva con paso por
referencia un arreglo con la comisión total de cada trabajador. Este procedimiento debe
reutilizar las funciones de A y B. (15 puntos)
a. ComisionesxTrabajador( idTrabajador: String, IdProductos[ ]: Int, Precio[ ] : Double,
ComisionArrFlor[7 ]: Double, PedidoIdProd[ 35]: Int, Trabajador[ 35]: String, &tam:
Int ) : Double [ ]
D. Crear un programa principal para llamar a C). (10 puntos)
4