Advertisement
Guest User

EJ 6 TP 5 INVERTIR ARCHIVO RECURSION

a guest
Sep 20th, 2018
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.74 KB | None | 0 0
  1. Program GrabarDatosRecursivamente;
  2. {}
  3. Const
  4.     Max=3;
  5.  
  6. Type
  7.     ArchEnt = File of integer;
  8.    
  9. ////////////////////////////////////////////////////////////////////////////////    
  10. Procedure GrabarDatosR(Var Arch1,Arch2: ArchEnt; cont : integer);
  11. var valor: integer;
  12. Begin
  13.     //GrabarDatosR(Arch1,cont);
  14.     if not (cont<0) then
  15.     Begin
  16.         seek(arch1, Cont);
  17.         Read(Arch1, valor);
  18.         write(Arch2, Valor);
  19.         GrabarDatosR(Arch1,Arch2,cont-1);
  20.     End;
  21. End;
  22. ////////////////////////////////////////////////////////////////////////////////
  23. Procedure CarDatArch(Var Arch:Archent);
  24. Var
  25.     i,Dato:integer;
  26. Begin
  27.     For i:=1 to Max do
  28.     Begin
  29.         Writeln('Ingrese un valor a meter en el archivo');
  30.         Readln(Dato);
  31.         Write(Arch,Dato);
  32.     End;
  33. End;
  34. ////////////////////////////////////////////////////////////////////////////////
  35. Procedure ImpArchR(Var Arch:Archent);
  36. Var
  37.     Dato:Integer;
  38. Begin
  39.     seek(arch,0);
  40.     While (not Eof(Arch)) do
  41.     Begin
  42.         Read(Arch,Dato);
  43.         Writeln(Dato);
  44.     End;
  45. End;
  46. ////////////////////////////////////////////////////////////////////////////////
  47. {PROGRAMA PRINCIPAL}
  48. Var
  49.     Archiduque1,Archiduque2:ArchEnt;
  50.     i:integer;
  51. Begin
  52.     Assign(Archiduque1, '/ip2/arielillo');
  53.     Assign(Archiduque2,'/ip2/arielillo2');
  54.     Rewrite(Archiduque1);
  55.     Rewrite(Archiduque2);
  56.     CarDatArch(Archiduque1);
  57.     writeln('el primer archivo es');
  58.     ImpArchR(Archiduque1);
  59.     i:=Filesize(archiduque1)-1;
  60.     GrabarDatosR(Archiduque1,Archiduque2,i);
  61.     writeln('el archivo resultado quedo:');
  62.     ImpArchR(Archiduque1);
  63.     writeln('el archivo resultado quedo:');
  64.     ImpArchR(Archiduque2);
  65.     Close(Archiduque1);
  66.     Close(Archiduque2);
  67. End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement