Organización De Archivos

  • 953 views
Uploaded on

 

More in: Education , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
953
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
13
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1.
    • Inicializa un archivo que contenga registros vacíos en un determinado número y luego se sobrescriben.
    • En esta organización se pueden leer y escribir registros, en cualquier orden y en cualquier lugar.
    • Una desventaja es que puede desaprovecharse parte del espacio destinado al archivo ya que pueden quedar huecos libres entre unos registros y otros.
    • Su principal ventaja es la rapidez de acceso a un registro cualquiera, ya que para ello no es preciso pasar por los anteriores.
    • Acceso directo
    Organización de archivos. Archivos de acceso directo Posición5 Posición4 Posición3 Posición2 Posición1 Registro5 Registro1 Registro2
  • 2.
    • Procedure Leer_Datos
    • Begin
    • Writeln ('Ingrese el nombre del alumno: ');
    • Readln (Inf.Nombre);
    • Writeln ('Ingrese la calificación: ');
    • Readln (Inf.Calf);
    • Inf.Nc:=Nctrl
    • End;
    • Procedure Limpia_regis;
    • Begin
    • Inf.Nc:=0;
    • Inf.Nombre:='';
    • Inf.Calf:=0;
    • End;
    Program Archivo_directo Uses Crt; Type Alum: Record Nc: integer; Nombre: String; Calf: Real; Var Arch: File of Alum Inf: Alum; Nctrl,i: Integer; Ch: Char; Procedure Leer_Nc; Begin Writeln ('Ingrese el numero de control: '); Readln (Nctrl); End; Ejemplo de Un Archivo-Directo en Pascal
  • 3.
    • Procedure Imprimir;
    • Begin
    • Writeln ('El número de control es: ',Inf.Nc);
    • Writeln ('El nombre es: ', Inf.Nombre);
    • Writeln ('La calificación es: ',Inf.Calf);
    • End;
    • Procedure revisa;
    • Begin
    • {$I-}
    • Reset (Arch);
    • {$I+}
    • If (IORESULT<>0) then
    • Begin
    • Rewrite (Arch);
    • Limpia_regis;
    • For i:=0 to 100 do
    • Write (Arch,Est);
    • End;
    • End;
    Procedure espera (Var CH:Char); Begin Repeat CH:= Upcase(Readkey); until CH in ['S' or 'N']; End;
  • 4.
    • Procedure Altas;
    • Var CH: Char;
    • Begin
    • Repeat
    • Clrscr;
    • Leer_NC;
    • Seek (Arch,Nctrl);
    • Read (Arch,Inf);
    • If (Inf.Nc<>0) then (*if (Inf.Nc=0) then *)
    • Writeln ('Ese dato ya existe...'); (*Ese dato no existe*)
    • Else
    • Begin
    • Leer_Datos; (*Imprimir*)
    • Writeln ('Desea dar de alta estos datos? (S/N): '); (*Desea borrar el registro*)
    • If (Espera='S') then
    • Begin
    • Seek (Arch,Nctrl); (*Limpia_regis*)
    • Write (Arch,Inf);
    • End;
    • End;
    • Writeln ('Desea continuar en altas (S/N): '); (*Desea seguir en bajas*)
    • Until (Espera='N')
    • End;
    (*Cambios para realizar una baja de registro*)