UNIDAD 5: PASCAL REGISTROS Y ARCHIVOS SECUENCIALES

TEMA 7: 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.

prog20.pas

program prog20;
uses crt;
type
alumnos = RECORD
clave:integer;
nombre:string[30];
estatura:real;
end;
var
alumno:alumnos;
archivo: file of alumnos;
clave:integer;
BEGIN
(* creando y abriendo el archivo *)
assign(archivo,'c:\prog\alumnos.dat');
reset(archivo);
(* capturando clave a buscar *)
clrscr;
write('clave a buscar : ');readln(clave);
(* iniciando ciclo de lectura de registros en archivo *)
while not(EOF(archivo)) do
begin
READ(archivo,alumno);
if clave = alumno.clave then
begin
write('clave : ');writeln(alumno.clave);
write('nombre : ');writeln(alumno.nombre);
write('estatura : ');writeln(alumno.estatura:0:2);
write('<enter> para continuar');readln;
end;
end;
(* cerrando archivo *)
close(archivo);
END.

corrida:

image251.jpg

Recordar que la caracteristica principal de un archivo secuencial, es que no es posible acceder o accesar a un registro o renglon especifico o determinado sino que se debera recorrer todos los n-1 renglones anteriores.

Esta situacion se da porque al construir un registro cualquiera con una monton de campos strings a la hora de almacenar dichos registros, estos registros tendran tamanos diferentes, esta es la razon principal por la cual al buscar un registro especifico se tiene que recorrer y validar todos los registros anteriores.

En el programa ejemplo se esta usando un ciclo while noteof para recorrer todos los registros del archivo, por supuesto que si se tiene un archivo con 5000 registro y el buscado es el 4500 al menos se se tendra que recorrer todos los 4499 registros anteriores.

TAREAS PROGRAMACION PASCAL

Construirles programas de busquedas a los archivos y menus ya construidos.

Politica de Privacidad