Está en la página 1de 1

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1761289

ESCUELA DE INGENIERÍAS INDUSTRIALES

FUNDAMENTOS DE INFORMÁTICA (GITI)


SEPTIEMBRE 2018

DNI: ___________________ NOMBRE: ________________________________________________________________


GRUPO (o nombre profesor): __________

EJERCICIO 1 (1.5 puntos)


Diseñe un subprograma llamado contar_coincidencias() que, dadas dos listas con un máximo de
100 números enteros (pueden existir repeticiones dentro de cada lista), devuelva cuántos números
coindicen en ambas listas. Si un número aparece varias veces en ambas listas, solo se contabilizará una vez.
Por ejemplo, dadas las listas {142, 3, 7, 1, 1} y {8, 1, 47, -5, 7, 1} el subprograma deberá devolver 2,
porque tanto el 1 como el 7 aparecen en ambas listas.

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
EJERCICIO 2 (1.5 puntos)
Una imagen captada por una cámara digital puede representarse como una matriz a de tamaño N×M, donde
N es la resolución vertical, M la horizontal y el valor a[i][j] es un número natural proporcional a la
intensidad luminosa en el punto de coordenadas (i,j). Una operación típica que se hace con este tipo de
imágenes es el suavizado para eliminar ruidos. Para ello, el valor en cada punto se sustituye por la media
aritmética entera (sin decimales) del valor almacenado en ese punto y el de sus vecinos. Hay que tener en
cuenta que un punto puede tener diferente número de vecinos dependiendo del lugar que ocupe en la
imagen (matriz). Así, los puntos que están en las esquinas de la matriz tienen solo 3 vecinos, los puntos que
están en un borde de la matriz sin ser esquina tienen 5 vecinos y el resto de puntos tienen 8 vecinos.

Define el tipo de dato Imagen para una matriz de números naturales de tamaño N×M (N y M dos
constantes) e implementa un subprograma llamado suavizado()que reciba como parámetro de entrada
una matriz a de tipo Imagen y devuelva como parámetro de salida una matriz b del mismo tipo,
resultado de llevar a cabo la operación promedio antes descrita sobre cada uno de los valores de a.

EJERCICIO 3 (3.0 puntos)


Se desea simular el sistema de colas y servidores del supermercado de un gran centro comercial. Se tiene
una cola única de clientes (con un máximo de 100), de los que se almacenará su nombre, dni y su cesta de
la compra. La cesta de la compra se representa como una lista de productos (con un máximo 30), de los
cuales se almacena su nombre, código y precio.
Por otro lado, se representa una lista de cajas activas (con un máximo de 50). Para cada caja activa se
almacenará el número de caja, el nombre del dependiente y una cola de clientes con sus respectivas cestas
de la compra, con un máximo de 5 clientes por caja.
Se pide:
a) (0.25 p) Definir las constantes y tipos necesarios para almacenar y manejar la información.
b) (1.25 p) Realizar un subprograma llamado compra_mas_cara() que devuelva el nombre del
cliente que va a pagar más y el número de caja en el que se encuentra. Sólo se tendrán en cuenta
los clientes que están encolados en alguna caja activa, no los que se encuentran en la cola única.
c) (1.5 p) Realizar un subprograma llamado asignar_caja() que asigne una caja al primer cliente
de la cola única. Se debe sacar dicho cliente de la cola única, manteniendo el orden de los clientes
que queden, y añadirlo al final de la cola de la caja activa que menos clientes tenga.
Nota: para los apartados b) y c) deben pasarse todos los parámetros que se estimen necesarios además de
los indicados en el enunciado.

También podría gustarte