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 |
muestra.dat |
4 2 6 4 1 |
nombre.dat |
Exp_1 4.0 |