UNIDAD 6: PROGRAMACION PASCAL REGISTROS Y ARCHIVOS DIRECTOS

TEMA 3: BUSQUEDA ARCHIVOS DISCO PASCAL

En este tema se analiza la busqueda de un registro o renglon determinado.

En este proceso el usuario del programa quiere que se despliegue un y solo un registro de informacion proporcionando un dato de busqueda generalmente la clave del registro.

Recordar que en esta operacion se muestra la diferencia fundamental entre archivos secuenciales y archivos directos, es decir aqui se puede accesar directamente un registro n cualesquiera.

Prog27.pas

program prog27;
uses crt;
type
alumnos = RECORD
clave:integer;
nombre:string[30];
edad:integer;
status:char;
end;
var
alumno:alumnos;
archivo: file of alumnos;
clave:integer;
BEGIN
clrscr;
(* creando y abriendo el archivo *)
assign(archivo,'c:\prog\alumnos.dat');
reset(archivo);
(* clave a buscar *)
write('clave a buscar');readln(clave);
(* moviendo apuntador a registro buscado *)
seek(archivo,clave-1);
(* leyendo registro *)
read(archivo,alumno);
(* revisando status registro *)
if alumno.status = 'A' then
begin
write('clave : ');writeln(alumno.clave);
write('nombre : ');writeln(alumno.nombre);
write('edad : ');writeln(alumno.edad);
write('<enter> para continuar ');readln;;
end;
(* cerrando archivo *)
close(archivo);
END.

corrida:

image257.jpg

Observar que cuando se busco la clave se desconto uno ( seek(archivo,clave-1 ), la razon es que pascal no empieza internamente el registro uno, sino el registro 0 (cero) por eso aunque grabemos cinco registros, para pascal los registros almacenados son los registros 0,1,2,3,4

Observar tambien que no se ocupo un ciclo de lectura de todo el archivo porque nos podemos estar posicionando directamente en cualquier registro del archivo.

TAREAS PROGRAMACION PASCAL

Empezar a construir un menu de archivo directo para productos o mercancias.

Politica de Privacidad