You are on page 1of 1

Introducción a los

computadores
1º. Ingeniería Técnica de Telecomunicación
Convocatoria extraordinaria (2ª. parte, ejercicios)

Nombre: 22 DICIEMBRE 2009


DNI:

Especialidad (SE/SI/ST): Grupo (A/B):

Tiempo: 2 horas 30 min.


Puntuación máxima: 5.0
Especialidad
Ejercicio 1 (5 (SE/SI/ST):
puntos) Grupo (A/B):
Nota CORTE: 2.5
Se desea desarrollar una aplicación para la gestión de una agenda escolar para un alumno de la
Escuela de Ingenieros de Telecomunicaciones. Para ello, es necesario guardar en una estructura
de datos tridimensional cada una de las horas de todo el curso escolar: 48 semanas, de 7 días
cada semana, y con 24 horas cada día.
Para cada hora debe guardarse un registro con los siguientes campos:

- Tipo de tarea realizada en esa hora, que debe ser un enumerado con los siguientes posibles
valores: clase_presencial, seminario, tutoría, estudio, trabajo_en_grupo,
examen, descanso.
- Descripción de la tarea: se trata de una cadena de caracteres para describir, con texto, la
tarea.
- Dificultad: es un valor natural, entre 1 y 10, para estimar la dificultad de la tarea en concreto.
- Número de personas que colaboran en la tarea: es un número natural.
- Personas implicadas: es un array de cadenas de caracteres con los nombres de las personas
que colaboran en la tarea. Tamaño del array: 100.
Se pide:
1. Definir los tipos de datos necesarios para implementar las estructuras de datos que
requiere la gestión de la agenda escolar, así como las estructuras auxiliares
necesarias para implementar los siguientes algoritmos.
2. Implementar la función ContarVacaciones, que reciba como parámetro las
estructuras necesarias y devuelva un número natural con el número de días al año
que se tiene de vacaciones, considerando día de vacaciones aquel que sus 24
horas están fijadas como de descanso.
3. Implementar una función ListaPersonasTrabajoGrupo, que reciba como
parámetro las estructuras necesarias y devuelva un array con el nombre de todas
las personas con las que el estudiante ha realizado al menos un
trabajo_en_grupo a lo largo del curso y el número de horas que ha trabajado en
grupo con esa persona ese curso. Debe aparecer una sola entrada en el array por
cada persona con la que se ha hecho trabajo en grupo. (Se supone implementada
la función
ALGORITMO B CadenasIguales(E TpCadena cad1, cad2).)
4. Implementar una función MediaDificultad, que reciba como parámetro las
estructuras necesarias, además de dos números naturales que indican una semana
de inicio y una semana de fin. La función debe devolver un array en el que,
para cada tipo de tarea que no sea descanso, debe indicarse su dificultad media
en el intervalo de semanas entre la semana de inicio y la semana de fin,
ambas incluidas. Si una tarea no aparece en ese intervalo de tiempo, debe
asignársele una dificultad media de 0.

You might also like