<ul><li>Inicializa un archivo que contenga registros vacíos en un determinado número y luego se sobrescriben. </li></ul><u...
<ul><li>Procedure Leer_Datos </li></ul><ul><li>Begin </li></ul><ul><li>Writeln ('Ingrese el nombre del alumno: '); </li></...
<ul><li>Procedure Imprimir; </li></ul><ul><li>Begin </li></ul><ul><li>Writeln ('El número de control es: ',Inf.Nc); </li><...
<ul><li>Procedure Altas; </li></ul><ul><li>Var CH: Char; </li></ul><ul><li>Begin </li></ul><ul><li>Repeat </li></ul><ul><l...
Upcoming SlideShare
Loading in …5
×

Organización De Archivos

1,184 views

Published on

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,184
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Organización De Archivos

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

×