Pontificia Universidad Católica de Valparaíso
                                                   Facultad de Ingeniería
  ...
Pontificia Universidad Católica de Valparaíso
                                                  Facultad de Ingeniería
   ...
Pontificia Universidad Católica de Valparaíso
                                                  Facultad de Ingeniería
   ...
Pontificia Universidad Católica de Valparaíso
                                                  Facultad de Ingeniería
   ...
Pontificia Universidad Católica de Valparaíso
                                              Facultad de Ingeniería
       ...
Próxima SlideShare
Cargando en…5
×

[Pauta] [Inf 140] Control I

396 visualizaciones

Publicado el

0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
396
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
22
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

[Pauta] [Inf 140] Control I

  1. 1. Pontificia Universidad Católica de Valparaíso Facultad de Ingeniería Escuela de Ingeniería Informática [PAUTA] Control I – Informática 1 (INF 140) Pamela Hermosilla Monckton Daniel Gómez Cornejo Profesores: Ayudantes: Daniel Cabrera Paniagua Enrique Urra Coloma Nombre: 1.- Verdadero – Falso. (12 puntos) Instrucciones: Indicar, en cada caso, si el enunciado presentado es Verdadero o Falso. Si la respuesta es Falso, es requerido justificar claramente el por qué. La negación simple no es admisible como respuesta. Cada respuesta correcta equivale a 3 puntos. a) Un algoritmo se caracteriza por tener un conjunto finito de instrucciones para resolver un problema determinado, en donde el orden de las instrucciones existentes en él no altera mayormente el resultado final. Falso. Por definición, un algoritmo es un conjunto finito de instrucciones que especifican la secuencia de operaciones a realizar, en orden, para resolver un problema determinado. Por lo anterior, si se altera el orden de las operaciones o instrucciones en un algoritmo, no existe forma de asegurar que dicho algoritmo continuará resolviendo de manera adecuada el problema abordado. b) Una de las características que se espera que posea un algoritmo es la eficacia. Esta característica permite asegurar una óptima utilización de recursos y tiempo en alcanzar el objetivo deseado. Falso. La eficacia permite alcanzar el objetivo propuesto. En alcanzar el objetivo propuesto, se pueden utilizar diferentes alternativas, las que presentarán algunas variaciones en cuanto a la utilización de recursos y tiempo. En otras palabras, estas alternativas (ó procesos) poseen diferentes niveles de eficiencia (eficiencia <> eficacia). c) Desde la perspectiva algorítmica, la resolución de problemas pasa necesariamente por identificar claramente las salidas requeridas (resultado esperado), por lo que la fase más importante en la resolución de un problema es una adecuada implementación de la solución en forma de programa. Falso. Si bien la clara identificación de las salidas requeridas forma parte del análisis propio del problema a resolver, la fase más importante en la resolución de un problema corresponde a la comprensión del problema. A partir de este punto, se plantea una solución en forma algorítmica, la que finalmente es implementada en forma de programa. Si se falla en la comprensión del problema, sus consecuencias se arrastran hasta la solución final. d) Un lenguaje de programación permite escribir programas para computadores, de tal modo que puedan ser entendidos por estos últimos. En este sentido, el lenguaje mayormente utilizado es el Lenguaje Máquina, pues permite a los computadores comprender directamente que es lo que deben realizar en cada operación. Falso. Los lenguajes de alto nivel son los que se emplean con mayor frecuencia como lenguajes de programación, porque permiten expresar los algoritmos de una manera y con un estilo fácilmente reconocible por parte de diversos programadores. PHM/DCP 14/04/2008
  2. 2. Pontificia Universidad Católica de Valparaíso Facultad de Ingeniería Escuela de Ingeniería Informática 2.- Desarrollo de algoritmos. (48 puntos) Instrucciones Generales Indicar cualquier suposición que exista en el desarrollo de los problemas. Recordar que estos supuestos no deben cambiar la orientación de ellos. Responder en forma ordenada y con letra legible. Los desarrollos que no cumplan con esta condición no serán considerados en la corrección. Los algoritmos deben implementarse en pseudolenguaje y de forma completa. Además, se debe incluir la estrategia utilizada para enfrentar el desarrollo del problema (Análisis). a) [24 Puntos] Una empresa encargada del cobro de peajes en una carretera de gran importancia en una región determinada, está redefiniendo el manejo de sus cobros a los conductores, con el fin de distribuir los costos del servicio de forma más adecuada en relación a los destinos que sigue cada usuario. A modo de plan piloto para el nuevo sistema, se ha seleccionado una estación de peajes estratégica desde la cual se puede llegar a tres diferentes localidades. De acuerdo a la localidad que el vehículo tenga destinada, se cobrará un cargo adicional al precio base del peaje que debe cancelar cada vehículo, alcanzándose un precio final para cada usuario. El precio base es calculado considerando dos aspectos: el peso que el vehículo posee al momento de pasar por el peaje; y el tipo de vehículo (automóvil, bus, ó camión). La fórmula matemática para el cálculo del precio base es la siguiente: Peso Vehículo + τ * 500 Precio Base = 8 Donde el peso del vehículo está en Kg., y ‘τ ’ puede se determina de acuerdo a: Si el vehículo es un automóvil, τ = 2 . • Si el vehículo es un bus, τ = 3 . • τ = 5. Finalmente, si el vehículo corresponde a un camión, • Por otro lado, el precio final a pagar depende del destino a alcanzar por cada vehículo. Los recargos o rebajas aplicadas al precio base se describen en la siguiente tabla: Destino Modificación al precio base Se suman $130 al precio base. Luego, se debe agregar el 5% extra del Ciudad ‘A’ precio base original al precio total a pagar. Ciudad ‘B’ Se descuenta un 15% del precio base. Ciudad ‘C’ Se calcula un 20% del precio base y se agrega al precio total a pagar. Para la automatización del plan piloto en la estación de peajes, se le solicita desarrollar un algoritmo que permita al operador realizar lo siguiente: Calcular el costo del peaje para n vehículos, en base a sus destinos, el peso que transportan y el tipo de vehículo (cada • vez que se termina con el cálculo del costo del peaje para un vehículo, el operador tendrá la opción de terminar la ejecución del algoritmo. En caso contrario, se deberá continuar con otro vehículo). Si un vehículo pertenece a un cliente preferencial de la empresa, se aplica un descuento de 10% al precio final de peaje. • b) [24 Puntos] Se tiene una máquina que permite “sencillar” un monto de dinero. La máquina está diseñada para que, dado un monto cualquiera, indique cuantos billetes de $10.000, $5.000, $2.000 y $1.000 se deben entregar. Asimismo, permite determinar la cantidad de monedas de $500, $100, $10, $5 y $1 que se deben entregar. Una característica de la máquina es que siempre intenta entregar la menor cantidad de billetes y monedas posible. En base a lo anterior, desarrollar un algoritmo que provea el funcionamiento antes descrito. En otras palabras, el algoritmo debe recibir como entrada un monto de dinero, y tiene como salida la cantidad de billetes y de monedas de las distintas denominaciones que equivalen a dicho monto. PHM/DCP 14/04/2008
  3. 3. Pontificia Universidad Católica de Valparaíso Facultad de Ingeniería Escuela de Ingeniería Informática Desarrollo (Pregunta 2a): Algoritmo Cobro_peajes Var real: precio_base, peso_veh, precio_fin entero: var_T caracter: tipo_veh, opcion, dest Inicio repetir escribir (quot;Ingrese el tipo de vehículo: ‘A’ para automóvil; ‘B’ para bus; ‘C’ para camiónquot;) leer (tipo_veh) segun_sea tipo_veh hacer 'A': var_T <- 2 'B': var_T <- 3 'C': var_T <- 5 fin_si escribir (quot;Ingrese el peso del vehículo en kgs.quot;) leer (peso_veh) precio_base <- peso_veh / 8 + var_T * 500 escribir (quot;Ingrese destino del vehículo: Ciudad ‘A’ || Ciudad ‘B’ || Ciudad ‘C’ quot;) leer (dest) segun_sea dest hacer 'A': precio_fin <- 130 + precio_base * 1.05 'B': precio_fin <- precio_base * 0.85 'C': precio_fin <- precio_base * 1.2 fin_si escribir (quot;¿El cliente corresponde a un Cliente Preferencial? s/n” ) leer (opcion) si (opcion = ‘s’) entonces precio_fin <- precio_fin * 0.9 fin_si escribir (quot;El costo final del peaje es: quot;, precio_fin) escribir (quot;¿Desea realizar otro cálculo de peaje? s/nquot;) leer (opcion) hasta_que (opcion = 'n') Fin PHM/DCP 14/04/2008
  4. 4. Pontificia Universidad Católica de Valparaíso Facultad de Ingeniería Escuela de Ingeniería Informática Desarrollo (Pregunta 2b): Algoritmo Sencillar_Monto Var entero: monto_ingresado, contador_diezMil, contador_cincoMil, contador_dosMil, contador_mil, contador_quinientos, contador_cien, contador_diez, contador_cinco, contador_uno Inicio contador_diezMil <- 0 contador_cincoMil <- 0 contador_dosMil <- 0 contador_mil <- 0 contador_quinientos <- 0 contador_cien <- 0 contador_diez <- 0 contador_cinco <- 0 contador_uno <- 0 escribir (quot;Ingrese monto a sencillarquot;) leer (monto_ingresado) Mientras (monto_ingresado >= 10000) hacer contador_diezMil <- contador_diezMil + 1 monto_ingresado <- monto_ingresado - 10000 fin_mientras Mientras (monto_ingresado >= 5000) hacer contador_cincoMil <- contador_cincoMil + 1 monto_ingresado <- monto_ingresado - 5000 fin_mientras Mientras (monto_ingresado >= 2000) hacer contador_dosMil <- contador_dosMil + 1 monto_ingresado <- monto_ingresado - 2000 fin_mientras Mientras (monto_ingresado >= 1000) hacer contador_mil <- contador_mil + 1 monto_ingresado <- monto_ingresado - 1000 fin_mientras Mientras (monto_ingresado >= 500) hacer contador_quinientos <- contador_quinientos + 1 monto_ingresado <- monto_ingresado - 500 fin_mientras Mientras (monto_ingresado >= 100) hacer contador_cien <- contador_cien + 1 monto_ingresado <- monto_ingresado - 100 fin_mientras Mientras (monto_ingresado >= 10) hacer contador_diez <- contador_diez + 1 monto_ingresado <- monto_ingresado - 10 fin_mientras PHM/DCP 14/04/2008
  5. 5. Pontificia Universidad Católica de Valparaíso Facultad de Ingeniería Escuela de Ingeniería Informática Mientras (monto_ingresado >= 5) hacer contador_cinco <- contador_cinco + 1 monto_ingresado <- monto_ingresado - 5 fin_mientras Mientras (monto_ingresado >= 1) hacer contador_uno <- contador_uno + 1 monto_ingresado <- monto_ingresado - 1 fin_mientras escribir (quot;Cantidad de billetes de $10000: quot;, contador_diezMil) escribir (quot;Cantidad de billetes de $5000: quot;, contador_cincoMil) escribir (quot;Cantidad de billetes de $2000: quot;, contador_dosMil) escribir (quot;Cantidad de billetes de $1000: quot;, contador_mil) escribir (quot;Cantidad de monedas de $500: quot;, contador_quinientos) escribir (quot;Cantidad de monedas de $100: quot;, contador_cien) escribir (quot;Cantidad de monedas de $10: quot;, contador_diez) escribir (quot;Cantidad de monedas de $5: quot;, contador_cinco) escribir (quot;Cantidad de monedas de $1: quot;, contador_uno) Fin PHM/DCP 14/04/2008

×