esta bien este ej??
Publicado por usuaria (1 intervención) el 14/12/2006 02:21:58
este es el enunciado:
S
e tiene un archivo secuencial cuyos registros tienen la siguiente estructura:
Clientes : integer;
Mes : integer;
Valor: real;
el archivo está ordenado ascendentemente por Cliente.
Se tiene otro archivo de acceso directo cuyos registros tienen la siguiente estructura:
Cliente : integer;
Aportes : array [1..12] of real;
Se pide actualizar el archivo de acceso directo completando el vector de Aportes con los datos obtenidos en el primer archivo, los número del 1 al 12 representan los meses.
Y asi lo hice yo, queria saber si estaba bien..gracias
Program Actualizar;
Type
treg1=Record
Clientes:integer;
Mes:integer;
Calor:real;
End;
tvector= array [1..12]of Real;
treg2 =Record
Clientes:integer;
Aportes:tvector;
End;
tArch1=File of treg1;
tARch2=File of treg2;
Var
ARCH1:TArch1;
ARCH2:TArch2;
Procedure Actualizar_ArchivoDirecto (Var Arch1:tArch1; Var Arch2:tArch2);
Begin
Reset (ARch1);
While not eof(Arch1) do
Begin
Read (ARch1,reg1);
posicion:=reg1.cliente;
i:=reg1.mes;
Seek(Arch2, posicion);
Read (Arch2,reg2);
reg2.aportes[i]:=reg2.aportes[i]+reg1.valor;
Seek(Arch2,reg2);
Write(Arch2,reg2);
End;
End;
{PRINCIPAL}
Begin
Assign (Arch1,'Archivo1.dat');
Assign (Arch2,'Archivo2.dat');
Reset(Arch1);
Reset(Arch2);
Actualizar_ArchivoDirecto(Arch1,Arch2);
Close(Arch1);
Close(ARch2);
End.
S
e tiene un archivo secuencial cuyos registros tienen la siguiente estructura:
Clientes : integer;
Mes : integer;
Valor: real;
el archivo está ordenado ascendentemente por Cliente.
Se tiene otro archivo de acceso directo cuyos registros tienen la siguiente estructura:
Cliente : integer;
Aportes : array [1..12] of real;
Se pide actualizar el archivo de acceso directo completando el vector de Aportes con los datos obtenidos en el primer archivo, los número del 1 al 12 representan los meses.
Y asi lo hice yo, queria saber si estaba bien..gracias
Program Actualizar;
Type
treg1=Record
Clientes:integer;
Mes:integer;
Calor:real;
End;
tvector= array [1..12]of Real;
treg2 =Record
Clientes:integer;
Aportes:tvector;
End;
tArch1=File of treg1;
tARch2=File of treg2;
Var
ARCH1:TArch1;
ARCH2:TArch2;
Procedure Actualizar_ArchivoDirecto (Var Arch1:tArch1; Var Arch2:tArch2);
Begin
Reset (ARch1);
While not eof(Arch1) do
Begin
Read (ARch1,reg1);
posicion:=reg1.cliente;
i:=reg1.mes;
Seek(Arch2, posicion);
Read (Arch2,reg2);
reg2.aportes[i]:=reg2.aportes[i]+reg1.valor;
Seek(Arch2,reg2);
Write(Arch2,reg2);
End;
End;
{PRINCIPAL}
Begin
Assign (Arch1,'Archivo1.dat');
Assign (Arch2,'Archivo2.dat');
Reset(Arch1);
Reset(Arch2);
Actualizar_ArchivoDirecto(Arch1,Arch2);
Close(Arch1);
Close(ARch2);
End.
Valora esta pregunta


0