Описать функцию s3(f), значением которой является сумма последних трех элементов файла - Free Pascal
Формулировка задачи:
type fr=file of real
описать функцию s3(f) значением которой является сумма последних трех элементов файла f имеющего тип fr и содержащего не менее 3 элементов.Введите файл( последний элемент=0) и вычислите функцию s3(F)
Решение задачи: «Описать функцию s3(f), значением которой является сумма последних трех элементов файла»
textual
Листинг программы
- program _files;
- const
- fin = 'input.dat';
- type
- TFR = file of real;
- var
- fi : TFR;
- R : real;
- count : byte;
- procedure FillInput(var f : TFR);
- {процедура заполнения типизированного файла}
- var
- r : real;
- count : byte;
- begin
- count:=0;
- repeat
- write('>: ');readln(r);
- inc(count);
- if r<>0 then write(f,r)
- until (R=0) and (count>3)
- end;
- function s3(var f : TFR):real;
- {возвращает сумму последних трех элементов файла f}
- var
- x,sum : real;
- size : byte;
- i : byte;
- begin
- x:=0;
- sum:=0;
- size:=filesize(f);
- for i:=1 to 3 do
- begin
- seek(f,size-i);
- read(f,x);
- sum:=sum+x;
- end;
- S3:=Sum;
- end;
- BEGIN
- {fill input file}
- Assign(fi,fin);rewrite(fi);
- FillInput(fi) ;close(fi);
- {proces. & output}
- assign(fi,fin);reset(fi);
- Write(s3(fi):0:2);close(fi);
- END.
Объяснение кода листинга программы
- Объявлены константы и переменные:
- const fin = 'input.dat';
- type TFR = file of real;
- var fi : TFR;
- var R : real;
- var count : byte;
- Определена процедура FillInput(var f : TFR). Эта процедура заполняет типизированный файл f числами, которые пользователь вводит с клавиатуры, до тех пор, пока не будет введено число 0 и не будет введено больше трех чисел. Введенные числа записываются в файл.
- Определена функция s3(var f : TFR):real). Эта функция возвращает сумму последних трех элементов файла f. Для этого используется цикл for, который выполняется три раза. На каждой итерации цикла файл f перемещается к последнему элементу, затем считывается значение этого элемента и добавляется к сумме.
- В основной части программы выполняются следующие действия:
- Создается экземпляр файла fi, который ссылается на файл input.dat.
- Выполняется процедура FillInput(fi), которая заполняет файл fi числами.
- Файл fi закрывается.
- Выполняется функция s3(fi), которая возвращает сумму последних трех элементов файла fi.
- Результат функции s3(fi) выводится на экран.
- Файл fi открывается для записи и закрывается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д