Вывести на экран среднее арифметическое чисел, записанных в файле типа real - Pascal ABC
Формулировка задачи:
PABCSystem.pas(5944) : Ошибка времени выполнения: Bad typed file size
Решение задачи: «Вывести на экран среднее арифметическое чисел, записанных в файле типа real»
textual
Листинг программы
program pr;
var
f: file of real;
i, n,cout: integer;
m, sum, avg: real;
begin
randomize;
sum := 0;
cout:=0;
assign(f, 'c:\tee.txt');
reset(f);
while not eof(f) do
begin
read(f, m);
cout:=cout+1;
sum := sum + m;
avg := sum / cout;
end;
writeln;
writeln('Среднее арифметическое: ', avg);
close(f);
end.
Объяснение кода листинга программы
- В программе объявляются переменные: f - файл типа real, i - целое число, n - целое число, cout - целое число, m - вещественное число, sum - вещественное число, avg - вещественное число.
- Устанавливается начальное значение для переменной randomize, которая используется для генерации случайных чисел.
- Объявляется переменная sum и ей присваивается значение 0. Эта переменная будет использоваться для хранения суммы чисел.
- Объявляется переменная cout и ей присваивается значение 0. Эта переменная будет использоваться для отслеживания количества прочитанных чисел.
- Задается путь к файлу 'c:\tee.txt' с помощью переменной f.
- С помощью функции reset(f) происходит очистка файла перед чтением.
- Запускается цикл while, который будет выполняться до тех пор, пока не будет достигнут конец файла (не более 20 раз).
- Внутри цикла происходит чтение числа из файла в переменную m с помощью функции read(f, m).
- Переменная cout увеличивается на 1.
- Переменная sum увеличивается на сумму прочитанного числа m.
- Переменная avg вычисляется как среднее арифметическое чисел, прочитанных из файла, и сохраняется в переменной avg.
- После окончания цикла while выводится сообщение на экран с помощью функции writeln.
- Закрывается файл с помощью функции close(f).