Записать в конец файла среднее арифметическое его чисел - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Дан текстовый файл, с последовательностью вещественных чисел. Записать в конец фала среднее арифметическое
помогите решить

Решение задачи: «Записать в конец файла среднее арифметическое его чисел»

textual
Листинг программы
uses crt;
var f:text;
    nf:string;
    a,s:real;
    k:integer;
begin
clrscr;
write('Имя файла для чтения: ');
readln(nf);{вводим без расширения, например input}
nf:=nf+'.txt';
assign(f,nf);
{$I-} reset(f);  {$I+}
if IOResult <> 0 then
 begin
  writeLn('Файл ',nf,' не найден!');
  writeLn('Работа программы завершена. Нажмите ENTER');
  readln;
  exit;
 end;
s:=0;
k:=0;
while not eof(f) do
 begin
  read(f,a);
  k:=k+1;
  s:=s+a
 end;
close(f);
s:=s/k;
append(f);
writeln(f);
write(f,'Sr.arifm.=',s:0:2);
close(f);
write('Результат дописан в файл ',nf);
readln
end.

Объяснение кода листинга программы

  1. Создаётся переменная f типа text, которая будет использоваться для чтения и записи в файл.
  2. Создаётся переменная nf типа string, в которую будет записываться имя файла для чтения.
  3. Создаются переменные a, s и k типа real и integer соответственно, которые будут использоваться для хранения чисел из файла и подсчёта их количества.
  4. Выполняется инициализация переменной f с помощью функции assign(f,nf).
  5. Выполняется проверка на успешность инициализации переменной f с помощью оператора if. Если процесс инициализации не удался, выводится сообщение об ошибке и работа программы завершается.
  6. Инициализируется счётчик k равным 0.
  7. Инициализируется счётчик s равным 0.
  8. Запускается цикл while not eof(f) do`, который будет выполняться до тех пор, пока не будет достигнут конец файла.
  9. Внутри цикла выполняется чтение числа из файла в переменную a с помощью функции read(f,a).
  10. Счётчик k увеличивается на 1.
  11. Переменная s увеличивается на сумму прочитанного числа и текущего значения счётчика k.
  12. После завершения цикла выполняется закрытие файла f с помощью функции close(f).
  13. Вычисляется среднее арифметическое чисел в файле, для чего переменная s делится на счётчик k.
  14. Выполняется запись результата в конец файла с помощью функции append(f).
  15. Выполняется запись сообщения в конец файла с помощью функции write(f,str).
  16. Выполняется закрытие файла с помощью функции close(f).
  17. Выводится сообщение о том, что результат дописан в файл с именем nf.
  18. Выполняется ожидание ввода пользователя с помощью функции readln.
  19. Программа завершается.

Оцени полезность:

8   голосов , оценка 4.375 из 5
Похожие ответы