Examen 2014 PDF

Title Examen 2014
Course Matemáticas Financieras
Institution Universidad Pontificia Comillas
Pages 3
File Size 167.2 KB
File Type PDF
Total Downloads 32
Total Views 157

Summary

Download Examen 2014 PDF


Description

Fundamentos de Informática 1ºIEM–1º ITL, 2013-2014 MODELO B

12/Mayo/2014 Nombre: Grupo:

Apellidos: Aula:

PC Nº:

Nº alumno:

INSTRUCCIONES: • Se pondrá el nombre y el número de PC en esta hoja, así como en la ficha (cabecera) del programa. • Crear el proyecto del programa en EL DIRECTORIO QUE INDIQUE EL PROFESOR • Las funciones sólo pueden tener un return. • No puede utilizar exit, continue, ni break (salvo en la instrucción switch). • No puede utilizar variables globales. DURACIÓN: 1h 30minutos

PROGRAMA Se va a proceder a la elección de delegado de la Escuela ICAI. El hecho, es que últimamente existen varios alumnos que se presentan para delegados, de manera que existen varias personas a las que votar. En particular, este año son 4 los alumnos que se han presentado, por lo que existen cuatro aspirantes. La votación es un poco particular, porque cada alumno debe puntuar a todos los aspirantes, y puede ser con puntos positivos, negativos o cero. El voto de cada alumno por lo tanto tiene: •

El expediente del alumno que vota.



Nº del curso en el que está el alumno, ya que el voto es proporcional al curso del alumno, de manera que el peso de los puntos es mayor en el caso de los alumnos de cursos superiores.



Puntuación para cada uno de los 4 aspirantes existentes. Pueden ser números positivos o negativos. Para que un voto se considere válido, la suma del valor absoluto de los puntos asignados a los aspirantes debe ser 150.

Se pide hacer un programa que realice el recuento de la votación a delegado de Escuela y muestre los resultados obtenidos. La información de los votos de todos los alumnos de la escuela está guardada en un archivo de texto “votos_alumnos.txt”, de manera que cada línea del archivo se corresponde con el voto de un alumno. Los pasos a seguir serán: •

Abrir el archivo de texto “votos_alumnos.txt” (es necesario que crearse este archivo con el bloc de notas o con el propio CodeLite).



Llamar a la función RellenarValidos(). La función debe rellenar con los votos válidos del archivo “votos_alumnos.txt”, un vector estático votacion de estructuras T_VOTO, que se pasa como argumento a la función. En ICAI, podemos suponer que el número máximo de alumnos es 3000. La función además debe contar cuántos de los votos del archivo “votos_alumnos.txt” son válidos y devolverlo al programa principal. También debe devolver por referencia cuántos votos han sido inválidos.



En el programa principal se mostrará al usuario el porcentaje de votos válidos e inválidos del archivo.



Llamar a la función Recuento() que va a ser la encargada de realizar el recuento electoral. Para ello, debe recorrer el vector votacion con los votos válidos e irá rellenando el vector aspirantes actualizando los votos recibidos por cada aspirante (puntos dados por un votante a ese aspirante * curso del alumno votante). Además, debe guardar el curso inferior y el curso superior del alumno del que ese aspirante ha recibido votos positivos (el 0 se considera positivo). El vector aspirantes es un vector estático de estructuras T_ASPIRANTE con tantos elementos como aspirantes haya (N_ASP).



La función RellenarFichero() debe rellenar el fichero binario “recuento.bin” con los resultados obtenidos, copiando el vector aspirantes de estructuras T_ASPIRANTE en el fichero.



Finalmente, se debe llamar a la función BuscarDelegado()que lea el fichero binario y busque (sin usar vector) el aspirante que ha sido elegido como delegado (es decir, el que tenga mayor número de p

Fundamentos de Informática 1ºIEM–1º ITL, 2013-2014 12/Mayo/2014 MODELO B untos) y devuelva por referencia su estructura T_ASPIRANTE. Mostrar en el programa principal toda la información del delegado. Nota 1: Se van a utilizar las siguientes constantes simbólicas: #define N_ASP 4

// Número de aspirantes

#define NUM_AL 3000 // Número de alumnos en ICAI La estructura T_VOTO debe contener: número de expediente del alumno votante, curso al que pertenece y un vector puntos de 4 posiciones con los votos de ese alumno a cada uno de los aspirante (del aspirante 0 al candidato 3). typedef struct { int num_exp; int curso; int puntos[N_ASP]; } T_VOTO;

La estructura T_ASPIRANTE debe contener: los votos recibidos, el curso inferior de algún alumno que le ha votado positivamente, y el curso superior. typedef struct { int votos; int curso_inf; int curso_sup; } T_ASPIRANTE;

Nota 2: El prototipo de la función valor absoluto es: int abs(int n); de manera que la función devuelve el valor absoluto del entero pasado como argumento. Su prototipo está en la stdlib.h

Ejemplo de ejecución: Suponiendo que el archivo “votos_alumnos.txt” tiene la siguiente información (sólo los valores numéricos, no la línea explicativa): Numero Exp.

Curso

Puntuación Aspirante 0

Punt.. A1

Punt. A2

Punt. A3

2010111

4

15

30

55

50

2011222

2

50

50

-50

100

2012333

3

10

10

10

80

2009444

3

60

10

20

60

2012555

1

-30

0

70

-50

2010111

4

15

30

55

50

2009444

3

60

10

20

60

2012555

1

-30

0

70

-50

Son votos válidos:

Son inválidos (la suma de los valores absolutos no da 150): 2011222

2

50

50

-50

100

2012333

3

10

10

10

80

Por lo tanto, un 60% son votos válidos y un 40% son votos inválidos.

Fundamentos de Informática 1ºIEM–1º ITL, 2013-2014 12/Mayo/2014 MODELO B

Con los tres votos válidos: El Aspirante 0 obtendrá: 15*4 + 60 * 3 – 30*1 = 210 votos El Aspirante 1 obtendrá: 30*4 + 10* 3 + 0*1 = 150 votos El Aspirante 2 obtendrá: 55* 4 + 20*3 + 70*1 = 350 votos El Aspirante 3 obtendrá: 50* 4 + 60*3 - 50*1 = 330 votos Por lo tanto, el Delegado es el Aspirante 2.

El curso inferior de un votante que ha dado votos positivos a ese aspirante

El curso superior de un votante que ha dado votos positivos a ese aspirante

Aspirante 0

3

4

Aspirante 1

1

4

Aspirante 2

1

4

Aspirante 3

3

4

Salida del programa: El porcentaje de votos validos es 60.00 por ciento y los invalidos 40.00 por ciento El delegado ha obtenido 350 puntos, curso inferior: 1 ; curso superior: 4 Press any key to continue.

Puntuación Prototipos, main(): 2.5 puntos. RellenarValidos(): 2.5 puntos Recuento(): 2.5 puntos RellenarFichero(): 1 punto BuscarDelegado(): 1.5 puntos...


Similar Free PDFs