Ayuda con turbo pascal

Tengo un examen el 2 de sept, y tengo unas pequeñas dudas sobre un sencillo ejercicio... Por favor. Si alguien tiene cinco minutos para hacerlo... Que lo intente, me ayudaría mucho:
Se dispone de un fichero de organización secuencial de nombre Notas.Dat que contiene las notas de los alumnos de una asignatura. De cada alumno guarda: su código de identificación (DNI+letra), nota del primer parcial, nota del segundo parcial y nota de practicas.
Construye un programa que genere un nuevo fichero secuencial que contenga unicamente la identificación del alumno y su nota final de la asignatura, ordenado por nota final en sentido decreciente. La nota final de un alumno se calcula haciendo la media de los dos parciales y sumándole la nota de practicas. El nombre del nuevo fichero se leerá por teclado. Se recomienda utilizar un vector para el tratamiento. Considerad que nunca habrá más de 500 alumnos.
En PASCAL.
(Muchas gracias)

1 respuesta

Respuesta
1
Sencillo.
Creas una estructura RECORD del tipo
tdatos = RECORD
nombre:string;
dni:string; (*date cuenta que no va a hacer calculos con este numero*)
nota1,nota2,nota3:real;
END;
Y utiliza una variable
vector: tvector;
Después de haber declarado a tvector como array [1..500] of tdatos
Para empezar sera suficiente con estas estructuras.
Deberás leer el contenido del fichero e ir guardándolo en el array. Para ello bastara con un bucle for.
Una vez leído el fichero (recuerda cerrarlo) deberás utilizar un algoritmo para ordenar vectores por campos. Los hay a patadas por internet o incluso en tus libros aparecerá alguno.
Una vez ordenado como tu quieras tan solo deberás crear otro fichero para guardar estos datos (recuerda cerrarlo).
Si tienes más dudas no dudes en acudir a mi.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas