[Pauta] [Inf 140] Certamen Ii

4
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

Transcript of [Pauta] [Inf 140] Certamen Ii

Page 1: [Pauta] [Inf 140]   Certamen Ii

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

Page 2: [Pauta] [Inf 140]   Certamen Ii

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

Page 3: [Pauta] [Inf 140]   Certamen Ii

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

Page 4: [Pauta] [Inf 140]   Certamen Ii

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