Pontificia Universidad Católica de Valparaíso
Facultad de Ingeniería
Escuela de Ingeniería Informática
PHM/DCP
27/06/2008
[PAUTA] Certamen II – Informática 1 (INF 140)
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) Una de las diferencias entre un Procedimiento y una Función es que esta última no requiere la existencia de
Parámetros Formales, pues en su reemplazo utiliza Parámetros Actuales.
Falso. Tanto los procedimientos como las funciones requieren necesariamente una correspondencia directa entre los
parámetros formales definidos y los parámetros recibidos (también llamados parámetros actuales).
b) Un vector corresponde a una colección de elementos del mismo tipo y que están dispuestos de manera ordenada.
Esto último se garantiza en el bloque de declaraciones, en donde el orden está dado por cómo se denota el vector.
Ejemplo: [1..10] -> orden ascendente; [10..1] -> orden descendente.
Falso. La definición de la dimensión de un vector no incide en absoluto en el orden de los elementos que éste contiene, y
de ningún modo garantiza algún tipo de orden en él.
c) En el paso de parámetros a un procedimiento, es posible minimizar la cantidad de parámetros utilizando un
arreglo unidimensional, en donde se pueden almacenar los diferentes tipos de variables involucradas.
Falso. Si bien es posible utilizar un arreglo unidimensional como parámetro de un procedimiento, los arreglos sólo
admiten elementos del mismo tipo (y no diferentes tipos de variables, como se indica en el enunciado).
d) En un Procedimiento, existe la condición de que el tipo de valor devuelto (o valor de retorno) debe ser
equivalente al menos con el tipo de alguno de los parámetros recibidos a través de la invocación a dicho
Procedimiento.
Falso. A diferencia de las Funciones, los Procedimientos no retornan valor alguno.
Profesores: Pamela Hermosilla Monckton Ayudantes: Daniel Gómez Cornejo
Daniel Cabrera Paniagua Enrique Urra Coloma
Pontificia Universidad Católica de Valparaíso
Facultad de Ingeniería
Escuela de Ingeniería Informática
PHM/DCP
27/06/2008
2.- Desarrollo de algoritmos. (30 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.
� El algoritmo deben implementarse de forma completa en pseudolenguaje.
� Además, se debe incluir la estrategia utilizada para enfrentar el desarrollo del problema (Análisis).
Una Agencia de Aduanas desea tener un sistema que les ayude en la administración de sus contenedores. Para esto, se
solicita a los estudiantes de INF 140 desarrollar un algoritmo que les ayude a resolver su problema. Se debe tener en
cuenta, que una aduana almacena hasta 100 contenedores y por cada contenedor se tienen 20 baúles de mercaderías varias.
Cada baúl contiene una cierta cantidad de productos que se miden por Kg. (Ejemplo: Primer baúl lleno de 50 kilos de
porotos. Nota: No es importante el producto, es importante los kilos del producto). Con estos datos una aduana necesita
calcular lo siguiente:
)
a) Identifique y justifique claramente la(s) estructura(s) a utilizar para dar solución al problema. (5 pts)
b) Ingrese los datos de kilos para cada baúl de cada contenedor. (5 pts)
c) Implemente un algoritmo que a través de una función, permita calcular cual es el promedio en Kg. que tienen los
baúles de un contenedor dado. (10 pts)
d) Desarrolle un procedimiento para calcular cuántos contenedores registran sobrepeso, pensando que cada
contenedor pesa 500 Kg y no pueden exceder los 2300 Kg. en total. (10 pts)
Resp:
a) Se usará una matriz de 20 filas y 100 columnas. Cada columna representará un contenedor, por lo que cada una de sus
posiciones corresponderá a un baúl de mercadería. El valor en cada celda de la matriz representará el peso en kg. del baúl
respectivo.
b) Algoritmo contenedores_aduana
var entero: conts[1..20][1..100], i, j, opcion, cont, prom
Inicio
desde j <- 1 hasta 100 hacer
escribir( "Ingresando datos para contenedor ", j )
desde i <- 1 hasta 20 hacer
escribir( "Ingrese el peso en kg. del baúl ", i )
leer( conts[i,j] )
fin_desde
fin_desde
escribir( "Ingrese 1 para calcular el promedio en kg. de los baules de un contenedor" )
escribir( "Ingrese 2 para obtener el nro. de contenedores que registran sobrepeso" )
leer( opcion )
si( opcion = 1 ) entonces
escribir( "Ingrese el nro. de contenedor a evaluar" )
leer( cont )
prom <- llamar_a calcular_promedio( conts, cont )
escribir( "El peso promedio es de ", prom )
sino
llamar_a contenedores_sobrepeso( conts )
fin_si
Fin
Pontificia Universidad Católica de Valparaíso
Facultad de Ingeniería
Escuela de Ingeniería Informática
PHM/DCP
27/06/2008
c)
entero funcion calcular_promedio( entero: conts[1..20][1..100], entero: cont )
var entero: i, sum, prom
Inicio
sum <- 0
desde i <- 1 hasta 20 hacer
sum <- sum + conts[i, cont]
fin_desde
prom <- sum / 20
devolver( prom )
Fin_funcion
d)
procedimiento contenedores_sobrepeso( entero: conts[1..20][1..100] )
var entero: i, j, peso_act, cuenta
Inicio
cuenta <- 0
desde j <- 1 hasta 100 hacer
peso_act <- 500
i <- 0
mientras( peso_act <= 2300 ^ i <= 20 ) hacer
peso_act <- peso_act + conts[i, j]
i <- i + 1
fin_mientras
si( peso_act > 2300 ) entonces
cuenta <- cuenta + 1
fin_si
fin_desde
escribir( "Se registro un total de ", cuenta, " contenedores con sobrepeso" )
Fin_procedimiento
Pontificia Universidad Católica de Valparaíso
Facultad de Ingeniería
Escuela de Ingeniería Informática
PHM/DCP
27/06/2008
3.- Circuitos Digitales. (14 puntos)
a) Obtener la salida para el siguiente diagrama de compuertas lógicas. (7 pts)
xy
z
w
y
zzy
x
yyx
z
w
w
zw
x
zzx
y
yzx +
zwzy +
)( zwzyyx +⋅
)()]([ yzxzwzyyx +++⋅
wyzxzwzyyx ⋅+++⋅ )]()]([[
xy
z
w
y
zzy
x
yyx
z
w
w
zw
x
zzx
y
yzx +
zwzy +
)( zwzyyx +⋅
)()]([ yzxzwzyyx +++⋅
wyzxzwzyyx ⋅+++⋅ )]()]([[
b) Obtener el diagrama de compuertas lógicas para: )()( xyzzyzxy +⋅+ (7 pts)
Resp:
xy
z
xy
z
Top Related