8.1 Organización de Archivos 183 sino escribir (2 , a ) ! graba el registro en AUXI.DAT fin si fin mientras Si (esta = ‘N’) entonces escribir ("No se encontró ese Legajo ", lega ) fin si cerrar ( 1 ) cerrar ( 2 ) borrar (DATOS.DAT) renombrar (AUXI.DAT como DATOS.DAT) FIN Bajas - MODIFICACIONES Hacer un algoritmo que permita modificar (MODIFICACIONES ) registros del archivo DATOS.DAT, cuyos registros fueron descriptos en el ejemplo anterior. Hacemos el algoritmo para una sola modificación. Algoritmo Modificar Tipo registro alumno carácter(*5)legajo tipo registro apeynom carácter(*20) apellido carácter(*25) nombre fin entero notas(5) tipo registro domicilio carácter(*15) calle entero numero carácter(*20) ciudad fin fin Tipo (alumno) a carácter esta entero i cadena(*5) lega Inicio abrir ( 11 , “C:\Informatica I \DATOS.DAT”, acción =”lectura” ) abrir ( 12 , “C:\Informatica I \AUX.DAT”, acción= “escritura” ) esta ‘N’; escribir ( “Legajo : ” ) leer ( lega ) Repetir mientras ( NO( EOF ( 11 ) )) ! ahora busca si este registro ya está grabado leer ( 11 , a )
184 Estructuras de datos: archivos Si ( a . legajo = lega) y ( esta =‘N’) entonces Llamar mostrar ( a ) Llamar cambios ( a ) escribir (12 , a) esta x27;Sx27; sino escribir (12 , a) fin si fin mientras Si( esta = ‘N’) entonces escribir ( “ El Legajo ”, lega ,"no existe") fin si cerrar ( 11 ) cerrar ( 12 ) borrar (DATOS.DAT) renombrar (AUX.DAT como DATOS.DAT) FIN Modificar Subrutina mostrar ( a ) Tipo(alumno) a Inicio escribir ( “Legajo : ” , a . legajo) escribir ( “Apellido : ”, a . apeynom . apellido) escribir ( “Nombre : ”, a . apeynom . nombre) escribir ( “Calle : ”, a . domicilio . calle , a . domicilio . numero) escribir ( “Localidad : ” , a . domicilio . ciudad) escribir ( “Notas :”) Repetir para i 1, 5 Escribir ( a . notas[ i ] ) fin para FIN mostrar Subrutina cambios ( a ) Tipo(alumno) a Inicio escribir (“Ingrese, en el mismo orden todos los datos correctos”) leer (a . legajo) leer (a . apeynom . apellido) leer (a . apeynom . nombre)
Created with BuildVu