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] Certamen I

464 visualizaciones

Publicado el

Publicado en: Tecnología
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

[Pauta] [Inf 140] Certamen I

  1. 1. Pontificia Universidad Católica de Valparaíso Facultad de Ingeniería Escuela de Ingeniería Informática [PAUTA] Certamen 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. (16 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 4 puntos. a) La ventaja de utilización de una variable sobre una constante, es que la primera permite recibir diferentes tipos de valores durante el funcionamiento de un algoritmo. Falso. Una variable definida de un cierto tipo sólo puede tomar valores de ese tipo (puede tomar diferentes valores, pero siempre que correspondan al tipo de variable que se ha definido). b) Un Intérprete ofrece un rendimiento ampliamente superior a un Compilador, pues los intérpretes trabajan directamente con código máquina. Falso. Un Intérprete es más lento que un compilador, pues procesa una línea de código fuente a la vez. Asimismo, no trabaja directamente con código máquina, sino que traduce cada línea leída a código máquina. c) El Lenguaje Ensamblador es un lenguaje funcionalmente similar al Lenguaje Máquina. Esta similitud otorga una gran ventaja al programador, pues las instrucciones codificadas en Lenguaje Ensamblador son directamente utilizables por un computador. Falso. Si bien el Lenguaje Ensamblador es funcionalmente similar al Lenguaje Máquina, las instrucciones codificadas en él deben ser traducidas a código máquina. Esta tarea es realizada por un Ensamblador, el que además, incorpora bibliotecas preexistentes si es que son necesarias. d) En la resolución de problemas, la ventaja de utilizar un enfoque Top Down es que permite trabajar desde el detalle mismo del problema, ascendiendo progresivamente hacia una perspectiva más general del mismo. Falso. El enfoque Top Down enfrenta un problema comenzando desde una perspectiva general, y progresivamente incorpora detalles (el enfoque contrario se conoce como Bottom Up). PHM/DCP 18/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. (44 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 de forma completa, ya sea en pseudolenguaje ó notación de diagramas de flujo, según sea el caso. Además, se debe incluir la estrategia utilizada para enfrentar el desarrollo del problema (Análisis). a) [24 Puntos] En una importante industria del país, se manufacturan ciertos productos en base a una cadena de producción sofisticada. Los productos cuentan con características muy diversas, esto gracias a los diferentes procesos de producción existentes para desarrollarlos. Conforme un producto avanza en la cadena de producción, pasa por distintas estaciones en donde se van modificando sus características, lo que repercute directamente en su valor agregado. En la cadena de producción, los productos parten con un valor base que dependerá de la línea a la cual pertenecen. La siguiente tabla muestra esta correspondencia: Línea del producto Valor base Básico (B) 1000 Intermedio (I) 2500 Avanzado (A) 5000 Cada producto tiene asociado un código de producción, que corresponde a un número entero que tiene un largo entre 5 y 10 dígitos. Este código describe el orden que debe seguir el producto en la cadena de producción, en donde cada dígito indica una estación que visitará. La lectura del orden de las estaciones es desde el último dígito del código al primero. Por ejemplo, el código 59274 indica que el producto seguirá la siguiente secuencia de estaciones: 4-7-2-9-5. De acuerdo al número de la estación en donde se encuentre el producto, se aplican cambios al valor que lleve hasta ese momento. La siguiente tabla describe estas modificaciones al valor de un producto: Número de estación Modificación al valor Se multiplica el número de estación por 10, y se suma al valor que lleva hasta Número par ese momento el producto. 0 Sólo es una Estación de Registro, por lo que el valor del producto no cambia. Se multiplica un tercio del valor que lleve el producto hasta ese momento por el 1y9 número de la estación en la que se encuentra, y el resultado se suma al valor del producto. La cantidad de estaciones visitadas hasta el momento es multiplicada por el 3, 5 y 7 número de la estación (se incluye la actual estación). Luego, el resultado se multiplica por 10. El resultado obtenido se suma al valor del producto. Para automatizar la cadena productiva, se le solicita desarrollar un algoritmo en pseudolenguaje que permita seguir la cadena de producción de un producto, para el cual se especifica su línea de producto y un código de producción. En base a estos datos, se debe obtener el valor final del producto, después de pasar por todas las estaciones que el código especifique. b) [20 Puntos] En una importante empresa del retail de nuestro país, se observa un proceso que permite vender a los clientes diferentes productos disponibles en la sala de ventas. El proceso comienza cuando un cliente se acerca a una caja, en donde se inicia el registro de cada producto. El proceso de registro y cálculo de precio de cada producto se mantiene mientras existan productos que el cliente desee comprar. Una vez terminado esto, el cliente posee dos alternativas para pagar el valor de los productos: efectivo, y tarjeta de crédito. En el caso de pago con efectivo, se debe entregar el vuelto resultante al cliente (en efectivo). Para lo anteriormente descrito, desarrollar: • Diagrama de Flujo [10 Puntos]. • Diagrama de Nassi – Schneiderman [10 Puntos]. PHM/DCP 18/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 Calcular_Precio_Producto Var real: valor_base, valor_auxiliar entero: cod_produccion, num_estacion, tipo_estacion, contador_estaciones caracter: linea_producto Inicio escribir (quot;Ingrese la línea de producto: ‘B’ para Básico; ‘I’ para Intermedio; ‘A’ para Avanzadoquot;) leer (linea_producto) escribir (quot;Ingrese código de producciónquot;) leer (cod_produccion) segun_sea linea_producto hacer 'B': valor_base <- 1000 'I': valor_base <- 2500 'A': valor_base <- 5000 fin_si contador_estaciones <- 0 repetir num_estacion <- cod_produccion MOD 10 cod_produccion <- cod_produccion DIV 10 contador_estaciones <- contador_estaciones + 1 si num_estacion MOD 2 = 0 entonces tipo_estacion = 1 fin_si si num_estacion = 0 entonces tipo_estacion = 2 fin_si si num_estacion = 1 ν num_mod = 9 entonces tipo_estacion = 3 fin_si si num_estacion = 3 ν num_estacion = 5 ν num_estacion = 7 entonces tipo_estacion = 4 fin_si segun_sea tipo_estacion hacer '1': valor_auxiliar <- num_estacion * 10 valor_base <- valor_base + valor_auxiliar '2': escribir (quot;Estación de Registro, por lo que no se altera el valor del productoquot;) '3': valor_base <- valor_base + (valor_base / 3) * num_estacion PHM/DCP 18/04/2008
  4. 4. Pontificia Universidad Católica de Valparaíso Facultad de Ingeniería Escuela de Ingeniería Informática '4': valor_auxiliar <- contador_estaciones * num_estacion *10 valor_base <- valor_base + valor_auxiliar fin_si hasta_que (cod_produccion = 0) escribir (quot;El valor final del producto es: quot;, valor_base) Fin Desarrollo (Pregunta 2a): PHM/DCP 18/04/2008
  5. 5. Pontificia Universidad Católica de Valparaíso Facultad de Ingeniería Escuela de Ingeniería Informática Desarrollo (Pregunta 2b): PHM/DCP 18/04/2008

×