Laboratorio de Programación II Examen Extraord. Septiembre 2001 UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y CC. Computación ETSI Telecomunicación Alumno: ____________________________________________________ Grupo 1º _____ Código de ordenador: __________ ENUNCIADO : A) Desarrollar la estructura TEXTO con la siguiente interfaz (dada en fichero en la red): DEFINITION MODULE Texto; TYPE TEXTO; PROCEDURE Crear( VAR t: TEXTO); (* Crea estruct. vacía *) PROCEDURE Destruir( VAR t: TEXTO); (* Libera todo *) PROCEDURE Insertar( VAR t: TEXTO; lin, col: CARDINAL; c: CHAR); (* En línea lin, col. col, inserta c. Si lin=NumLin + 1 añade línea; Si lin=LongLin + 1 añade el carácter. Si se excede más, error *) PROCEDURE InsertarLin(VAR t: TEXTO; lin: CARDINAL; l: ARRAY OF CHAR); (* Inserta la cadena l como línea en posición lin. 1<=lin<=NumLin+1 *) PROCEDURE Borrar( VAR t: TEXTO; lin, col: CARDINAL); (* De línea lin, borra carácter en col. col *) PROCEDURE BorrarLin( VAR t: TEXTO; lin: CARDINAL); (* Borra toda la línea lin *) PROCEDURE Ver( t: TEXTO; lin, col: CARDINAL): CHAR; (* Devuelve el carácter en lín. lin, col. col *) PROCEDURE VerLin( t: TEXTO; lin: CARDINAL; VAR l: ARRAY OF CHAR); (* Devuelve la lín. lin, como cadena en l. Se supone que cabe. *) PROCEDURE TotCar( t: TEXTO): CARDINAL; (* Total de caracteres en todas las líneas *) PROCEDURE LongLin( t: TEXTO; lin: CARDINAL): CARDINAL; (* Total de caracteres en la línea lin *) PROCEDURE NumLin( t: TEXTO): CARDINAL; (* Total de líneas *) (* HASTA AQUI APROBADO *) PROCEDURE Leer( VAR t: TEXTO; lin, col: CARDINAL): CARDINAL; (* Lee de teclado tras lin, col. Devuelve número caract. leídos. FIN: ^Z *) PROCEDURE Escribir( t: TEXTO): CARDINAL; (* Escribe todo el texto en pantalla. Devuelve número caract. escritos *) (* HASTA AQUI NOTABLE *) PROCEDURE FLeer( VAR t: TEXTO; f: FILE; lin, col: CARDINAL): CARDINAL; (* Lee de f (abierto, NO cierra) tras lin, col *) PROCEDURE FEscribir( t: TEXTO; f: FILE): CARDINAL; (* Escribe en f (abierto, NO cierra) tras lin, col *) END Texto. El PROGRAMA DRIVER TAMBIÉN ESTÁ EN LA RED. Notas: ?? Los datos personales de cada alumno deben encabezar los ficheros con el fuente que presente el alumno. ?? Con cada aparición del menú durante la ejecución del programa aparecerán los datos académicos personales del alumno (identificando así el programa ejecutable): <Apellidos, nombre> <Curso, grupo> <Código del Equipo>, <TURNO> ?? Se debe trabajar y tener los ficheros en el directorio: C:\TS\TEL22 (si no existe la ruta, se crea). ?? Se pueden utilizar todas las librerías del TopSpeed que se estimen oportunas.