182 Estructuras de datos: archivos escribir (22, a) cerrar (22) abrir (22,”C:\ informática I \DATOS.DAT” ,acción =“lectura”) fin si escribir (“ Quiere ingresar otro alumno? (Sx2F;N)") leer ( rta ) fin mientras cerrar ( 22 ) FIN Altas - BAJAS Hacer un algoritmo que permita eliminar (BAJAS) registros del archivo DATOS.DAT, cuyos registros fueron descriptos en el ejemplo anterior. Hacemos el algoritmo para una sola baja. Algoritmo Bajas 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 carácter(*5) lega Inicio abrir (1,“C:\Informatica I \DATOS.DAT, acción =”lectura” ) ! la idea es copiar uno a uno los registros de DATOS.DAT ! en AUXI.DAT con excepción del que queremos dar de baja abrir ( 2 , “C:\Informatica I\AUXI.DAT,acción =”escritura” ) está ‘N’ ! luego eliminamos DATOS.DAT y escribir ( “Legajo a eliminar : ” ) ! renombramos AUXI.DAT como DATOS.DAT leer ( lega ) ! ahora busca si este legajo está en el ! archivo Repetir mientras( NO ( EOF(1 ))) leer ( 1 , a ) Si ( lega = a.legajo) entonces escribir ( “ Este Legajo corresponde a ”, a . apeynom . apellido , “ y se borrará”) esta x27;Sx27; ! NO lo graba en AUXI.DAT
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 )
Created with BuildVu