program FileGen;
var
  textfile : text;           
  realfile : file of real;   
  quanti   : integer;        
  media,  somma,
  x        : real;           
  procedure StampaLinea (numast: integer);
  
  var
    i : integer;
  begin
    for i := 1 to numast do
      write('*')
  end;
begin  
  writeln('assegnazione in lettura file ''REAL.TXT''');
  assign(textfile, 'REAL.TXT');
  reset(textfile);
  writeln('assegnazione in scrittura file ''FILEREAL.OUT''');
  assign(realfile, 'FILEREAL.OUT');
  rewrite(realfile);
  writeln('inizio ciclo lettura del file');
  somma := 0;
  quanti := 0;
  while not eof(textfile) do
  begin
    readln(textfile, x);
    writeln(' ho letto ', x);
    somma := somma + x;
    quanti := quanti + 1
  end;
  media := somma / quanti;
  writeln('media = ', media:8:2);            
  write(realfile, media);                    
  writeln('somma = ', somma:8:2);
  write(realfile, somma);
  writeln('<RET> per continuare');
  readln;
  writeln('adesso stampo l''output su video e su file text di output:');
  reset(realfile);              
  close(textfile);
  assign(textfile, 'REAL2.TXT');
  rewrite(textfile);
  
  while not eof(realfile) do
  begin
    read(realfile, x);
    writeln(x : 8 : 2);
    writeln(textfile, x : 8 : 2)
  end;
  close(textfile);
  close(realfile);
  writeln('<RET> per finire');
  readln
end.