SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
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
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
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
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
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

Más contenido relacionado

Similar a [Pauta] [Inf 140] Certamen I

[Pauta] [Inf 140] Control I
[Pauta] [Inf 140]   Control I[Pauta] [Inf 140]   Control I
[Pauta] [Inf 140] Control I
Daniel Barraza
 
Algorithmic Differentiation for the calculation of sensitivities of financial...
Algorithmic Differentiation for the calculation of sensitivities of financial...Algorithmic Differentiation for the calculation of sensitivities of financial...
Algorithmic Differentiation for the calculation of sensitivities of financial...
José Ramón Picos Varela
 
[Inf 140] Guia1 2008 01
[Inf 140]   Guia1 2008 01[Inf 140]   Guia1 2008 01
[Inf 140] Guia1 2008 01
Daniel Barraza
 
[Pauta] [Inf 140] Certamen Ii
[Pauta] [Inf 140]   Certamen Ii[Pauta] [Inf 140]   Certamen Ii
[Pauta] [Inf 140] Certamen Ii
Daniel Barraza
 
Estructuras básicas conceptos básicos de programación (1)
Estructuras básicas  conceptos básicos de programación (1)Estructuras básicas  conceptos básicos de programación (1)
Estructuras básicas conceptos básicos de programación (1)
daniel lozada cutiva
 
Presentación del proyecto de informática
Presentación del proyecto de informáticaPresentación del proyecto de informática
Presentación del proyecto de informática
vanevacacela
 
CONCEPTOS DE PROGRAMACIÓN, MÉTODOS ESTADÍSTICOS 11-6
CONCEPTOS DE PROGRAMACIÓN, MÉTODOS ESTADÍSTICOS 11-6CONCEPTOS DE PROGRAMACIÓN, MÉTODOS ESTADÍSTICOS 11-6
CONCEPTOS DE PROGRAMACIÓN, MÉTODOS ESTADÍSTICOS 11-6
AnaSofiaLpezMilln
 
Programacion IV - Semana 02.pptx
Programacion IV - Semana 02.pptxProgramacion IV - Semana 02.pptx
Programacion IV - Semana 02.pptx
Errol31
 

Similar a [Pauta] [Inf 140] Certamen I (20)

[Pauta] [Inf 140] Control I
[Pauta] [Inf 140]   Control I[Pauta] [Inf 140]   Control I
[Pauta] [Inf 140] Control I
 
Informe de pseint
Informe de pseintInforme de pseint
Informe de pseint
 
U2-Algoritmos Estructuras Secuenciales.pdf
U2-Algoritmos Estructuras Secuenciales.pdfU2-Algoritmos Estructuras Secuenciales.pdf
U2-Algoritmos Estructuras Secuenciales.pdf
 
Algorithmic Differentiation for the calculation of sensitivities of financial...
Algorithmic Differentiation for the calculation of sensitivities of financial...Algorithmic Differentiation for the calculation of sensitivities of financial...
Algorithmic Differentiation for the calculation of sensitivities of financial...
 
[Inf 140] Guia1 2008 01
[Inf 140]   Guia1 2008 01[Inf 140]   Guia1 2008 01
[Inf 140] Guia1 2008 01
 
[Pauta] [Inf 140] Certamen Ii
[Pauta] [Inf 140]   Certamen Ii[Pauta] [Inf 140]   Certamen Ii
[Pauta] [Inf 140] Certamen Ii
 
Estructuras básicas conceptos básicos de programación (1)
Estructuras básicas  conceptos básicos de programación (1)Estructuras básicas  conceptos básicos de programación (1)
Estructuras básicas conceptos básicos de programación (1)
 
Fundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de FlujoFundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de Flujo
 
Fundamentos de Programacion - Unidad 4 control de flujo
Fundamentos de Programacion - Unidad 4 control de flujoFundamentos de Programacion - Unidad 4 control de flujo
Fundamentos de Programacion - Unidad 4 control de flujo
 
Estructuras Secuenciales - Sullin Santaella
Estructuras Secuenciales - Sullin SantaellaEstructuras Secuenciales - Sullin Santaella
Estructuras Secuenciales - Sullin Santaella
 
Santaella u4 estructurassecuenciales
Santaella u4 estructurassecuencialesSantaella u4 estructurassecuenciales
Santaella u4 estructurassecuenciales
 
Presentación del proyecto de informática
Presentación del proyecto de informáticaPresentación del proyecto de informática
Presentación del proyecto de informática
 
Estructuras básicas conceptos básicos de programación
Estructuras básicas  conceptos básicos de programaciónEstructuras básicas  conceptos básicos de programación
Estructuras básicas conceptos básicos de programación
 
CONCEPTOS DE PROGRAMACIÓN, MÉTODOS ESTADÍSTICOS 11-6
CONCEPTOS DE PROGRAMACIÓN, MÉTODOS ESTADÍSTICOS 11-6CONCEPTOS DE PROGRAMACIÓN, MÉTODOS ESTADÍSTICOS 11-6
CONCEPTOS DE PROGRAMACIÓN, MÉTODOS ESTADÍSTICOS 11-6
 
Estructuras básicas conceptos básicos de programación
Estructuras básicas  conceptos básicos de programaciónEstructuras básicas  conceptos básicos de programación
Estructuras básicas conceptos básicos de programación
 
Estructuras básicas conceptos básicos de programación
Estructuras básicas  conceptos básicos de programaciónEstructuras básicas  conceptos básicos de programación
Estructuras básicas conceptos básicos de programación
 
Programacion IV - Semana 02.pptx
Programacion IV - Semana 02.pptxProgramacion IV - Semana 02.pptx
Programacion IV - Semana 02.pptx
 
Pseint (2)
Pseint (2)Pseint (2)
Pseint (2)
 
tecnologia trabajo en equipo.pdf
tecnologia trabajo en equipo.pdftecnologia trabajo en equipo.pdf
tecnologia trabajo en equipo.pdf
 
tecnologia trabajo en equipo.pdf
tecnologia trabajo en equipo.pdftecnologia trabajo en equipo.pdf
tecnologia trabajo en equipo.pdf
 

Más de Daniel Barraza

Pauta Guia 1(1) Bloc De Notas
Pauta Guia 1(1)   Bloc De NotasPauta Guia 1(1)   Bloc De Notas
Pauta Guia 1(1) Bloc De Notas
Daniel Barraza
 
[Pauta] Trabajo Grupal
[Pauta] Trabajo Grupal[Pauta] Trabajo Grupal
[Pauta] Trabajo Grupal
Daniel Barraza
 
[Inf 140] Representacion Interna De Datos (1 X Hoja)
[Inf 140] Representacion Interna De Datos (1 X Hoja)[Inf 140] Representacion Interna De Datos (1 X Hoja)
[Inf 140] Representacion Interna De Datos (1 X Hoja)
Daniel Barraza
 
[Inf 140] Programacion De Presentaciones
[Inf 140] Programacion De Presentaciones[Inf 140] Programacion De Presentaciones
[Inf 140] Programacion De Presentaciones
Daniel Barraza
 
[Inf 140] Procedimientos Y Funciones (4 X Hoja)
[Inf 140] Procedimientos Y Funciones (4 X Hoja)[Inf 140] Procedimientos Y Funciones (4 X Hoja)
[Inf 140] Procedimientos Y Funciones (4 X Hoja)
Daniel Barraza
 
[Inf 140] Procedimientos Y Funciones (1 X Hoja)
[Inf 140] Procedimientos Y Funciones (1 X Hoja)[Inf 140] Procedimientos Y Funciones (1 X Hoja)
[Inf 140] Procedimientos Y Funciones (1 X Hoja)
Daniel Barraza
 
[Inf 140] Introduccion A Los Algoritmos (6 Diap X Hoja)
[Inf 140]   Introduccion A Los Algoritmos (6 Diap X Hoja)[Inf 140]   Introduccion A Los Algoritmos (6 Diap X Hoja)
[Inf 140] Introduccion A Los Algoritmos (6 Diap X Hoja)
Daniel Barraza
 
[Inf 140] Introduccion A Los Algoritmos (4 Diap X Hoja)
[Inf 140]   Introduccion A Los Algoritmos (4 Diap X Hoja)[Inf 140]   Introduccion A Los Algoritmos (4 Diap X Hoja)
[Inf 140] Introduccion A Los Algoritmos (4 Diap X Hoja)
Daniel Barraza
 
[Inf 140] Introduccion A Los Algoritmos (3 Diap X Hoja)
[Inf 140]   Introduccion A Los Algoritmos (3 Diap X Hoja)[Inf 140]   Introduccion A Los Algoritmos (3 Diap X Hoja)
[Inf 140] Introduccion A Los Algoritmos (3 Diap X Hoja)
Daniel Barraza
 
[Inf 140] Guia4 2008 01
[Inf 140]   Guia4 2008 01[Inf 140]   Guia4 2008 01
[Inf 140] Guia4 2008 01
Daniel Barraza
 
[Inf 140] Estructuras Repetitivas Y Selectivas (6 X Hoja)
[Inf 140]   Estructuras Repetitivas Y Selectivas (6 X Hoja)[Inf 140]   Estructuras Repetitivas Y Selectivas (6 X Hoja)
[Inf 140] Estructuras Repetitivas Y Selectivas (6 X Hoja)
Daniel Barraza
 

Más de Daniel Barraza (20)

Lista
ListaLista
Lista
 
Lista
ListaLista
Lista
 
Pauta Control1
Pauta Control1Pauta Control1
Pauta Control1
 
Ayudantia 1
Ayudantia 1Ayudantia 1
Ayudantia 1
 
Pauta Guia 1(1) Bloc De Notas
Pauta Guia 1(1)   Bloc De NotasPauta Guia 1(1)   Bloc De Notas
Pauta Guia 1(1) Bloc De Notas
 
Suma Numeros
Suma NumerosSuma Numeros
Suma Numeros
 
Pauta Guia 3
Pauta Guia 3Pauta Guia 3
Pauta Guia 3
 
Inf 140 Guia3 2008 01
Inf 140   Guia3 2008 01Inf 140   Guia3 2008 01
Inf 140 Guia3 2008 01
 
Inf 140 Guia2 2008 01
Inf 140   Guia2 2008 01Inf 140   Guia2 2008 01
Inf 140 Guia2 2008 01
 
Ejercicio Extra 1
Ejercicio Extra 1Ejercicio Extra 1
Ejercicio Extra 1
 
[Pauta] Trabajo Grupal
[Pauta] Trabajo Grupal[Pauta] Trabajo Grupal
[Pauta] Trabajo Grupal
 
[Inf 140] Representacion Interna De Datos (1 X Hoja)
[Inf 140] Representacion Interna De Datos (1 X Hoja)[Inf 140] Representacion Interna De Datos (1 X Hoja)
[Inf 140] Representacion Interna De Datos (1 X Hoja)
 
[Inf 140] Programacion De Presentaciones
[Inf 140] Programacion De Presentaciones[Inf 140] Programacion De Presentaciones
[Inf 140] Programacion De Presentaciones
 
[Inf 140] Procedimientos Y Funciones (4 X Hoja)
[Inf 140] Procedimientos Y Funciones (4 X Hoja)[Inf 140] Procedimientos Y Funciones (4 X Hoja)
[Inf 140] Procedimientos Y Funciones (4 X Hoja)
 
[Inf 140] Procedimientos Y Funciones (1 X Hoja)
[Inf 140] Procedimientos Y Funciones (1 X Hoja)[Inf 140] Procedimientos Y Funciones (1 X Hoja)
[Inf 140] Procedimientos Y Funciones (1 X Hoja)
 
[Inf 140] Introduccion A Los Algoritmos (6 Diap X Hoja)
[Inf 140]   Introduccion A Los Algoritmos (6 Diap X Hoja)[Inf 140]   Introduccion A Los Algoritmos (6 Diap X Hoja)
[Inf 140] Introduccion A Los Algoritmos (6 Diap X Hoja)
 
[Inf 140] Introduccion A Los Algoritmos (4 Diap X Hoja)
[Inf 140]   Introduccion A Los Algoritmos (4 Diap X Hoja)[Inf 140]   Introduccion A Los Algoritmos (4 Diap X Hoja)
[Inf 140] Introduccion A Los Algoritmos (4 Diap X Hoja)
 
[Inf 140] Introduccion A Los Algoritmos (3 Diap X Hoja)
[Inf 140]   Introduccion A Los Algoritmos (3 Diap X Hoja)[Inf 140]   Introduccion A Los Algoritmos (3 Diap X Hoja)
[Inf 140] Introduccion A Los Algoritmos (3 Diap X Hoja)
 
[Inf 140] Guia4 2008 01
[Inf 140]   Guia4 2008 01[Inf 140]   Guia4 2008 01
[Inf 140] Guia4 2008 01
 
[Inf 140] Estructuras Repetitivas Y Selectivas (6 X Hoja)
[Inf 140]   Estructuras Repetitivas Y Selectivas (6 X Hoja)[Inf 140]   Estructuras Repetitivas Y Selectivas (6 X Hoja)
[Inf 140] Estructuras Repetitivas Y Selectivas (6 X Hoja)
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (10)

Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

[Pauta] [Inf 140] Certamen I

  • 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. 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. 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. 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. 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