headerphoto

Ayudantía 6

Problema

Existe un experimento de física cuyo resultado esta dado en dos archivos.

Un archivo llamado nombre.dat que contiene registros con el nombre del experimento (string[10]),y el numero de muestras realizadas en dicho experimento(Integer).

El otro archivo, muestra.dat contiene números enteros correspondientes a los resultados de los experimentos.

Desarrolle un programa que lea y genere un tercer archivo de registros llamado resultado.dat, en el cual se almacene el nombre del experimento y el promedio de las muestras como un número real.

Resultado

program Fisica;

Type

registro1=RECORD

nombre :string[10];

numero:Integer;

end;

registro2=RECORD

nombre2:string[10];

resultado:Real;

end;

Arch1=FILE OF registro1;

Arch2=FILE OF integer;

Arch3=FILE OF registro2;

Var

a:Arch1;

b:Arch2;

c:Arch3;

x,i,suma:Integer;

temp:registro1;

temp2:registro2;

begin

ASSIGN(a,'nombre.dat');

ASSIGN(b,'muestra.dat');

ASSIGN(c,'resultado.dat');

RESET(a);

RESET(b);

REWRITE(c);

while not EOF a do

begin

READ(a,temp);

temp2.nombre:=temp1.nombre2;

suma:=0;

for i=1 to temp.numero do

begin

READ(b,x);

suma:=suma+x;

end;

temp2.resultado:=suma/temp.numero;

WRITE(c,temp2);

end;

CLOSE(a);

CLOSE(b);

CLOSE(c);

end.

nombre.dat

Exp_1 3
Exp_2 2

muestra.dat

4 2 6 4 1

nombre.dat

Exp_1 4.0
Exp_2 2.5