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 )