algoritmo altas_dir_trcl
const
findatos = <valor1>
max = <valor>2
tipo
registro: datos_personales
<tipo_dato1>: cod
<tipo_dato2>: nombre_campon
..................:...................
fin registro
archivo_d de datos_personales:arch
var
arch : f
datos_personales : persona, personaaux
lógico: econtradohueco
entero: posi
inicio
abrir (f, l/e, <nombre-en_disco>)
leer (personaaux.cod)
posi <<HASH(personaaux.cod)
leer (f, posi, persona)
si persona.ocupado = '*' entonces
encontradohueco << falso
posi <<findatos
mientras posi <Max y no encontradohueco hacer
posi << posi + 1
leer (f, posi, persona)
si persona.ocupado <> '*' entonces
encontradohueco <<verdad
fin_si
fin-mientras
si_no
si encontradohueco entonces
leer_otros_campos (personaaux)
persona<< personaaux
persona.ocupado <<'*'
escribir (f, posi, persona)
si_no
escribir ('no está')
fin_si
fin
HE AQUÍ LO QUE NO ENTIENDO:
inicio
abrir (f, l/e, <nombre-en_disco>)
leer (personaaux.cod)
posi <<HASH(personaaux.cod)
leer (f, posi, persona)
se supone que el algoritmo empieza la lecura por el campo ocupado?
y esto. leer (f, posi, persona) a que se debe?
esto: leer_otros_campos (personaaux), a fin de cuentas, qué archivo o registro se está leyendo, el original persona, o persona aux'