В качестве примера приведем статистическую обработку информации, находящейся в файле из текущего раздела, имя которого вводится с клавиатуры, а расширение.DAT назначено по умолчанию. В программе вычисляются математическое ожидание и дисперсия вещественных чисел соответственно по формулам:
и .
Program Statistic;
Var
Fil:File of real; { входной файл }
x, { очередное вводимое число }
M,D: real; { матожидание и дисперсия }
N: integer; { количество введенных значений }
Name: string; { вводимое имя файла (без расширения) }
Begin
N:=0; M:=0; D:=0;
Read(Name); { вводим имя файла }
{ ставим в соответствие внутреннее и внешнее имена }
Assign(Fil,Name+'.dat');
Reset(Fil); { открываем файл для чтения}
While not Eof(Fil) do Begin
N:=N+1;
Read(Fil,x); { в цикле вводим все значения }
M:=M+x; { и суммируем их }
D:=D+x*x;
end;
M:=M/N;
D:=sqrt(D/N-M*M);
Writeln(' Матожидание= ',M:10:5,' Дисперсия= ', D:10:5);
end.
При попытке открыть несуществующий файл может возникнуть аварийная ситуация, поэтому необходимо проверять корректность операций.