Описать функцию 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.

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

  1. Объявлены константы и переменные:
    • const fin = 'input.dat';
    • type TFR = file of real;
    • var fi : TFR;
    • var R : real;
    • var count : byte;
  2. Определена процедура FillInput(var f : TFR). Эта процедура заполняет типизированный файл f числами, которые пользователь вводит с клавиатуры, до тех пор, пока не будет введено число 0 и не будет введено больше трех чисел. Введенные числа записываются в файл.
  3. Определена функция s3(var f : TFR):real). Эта функция возвращает сумму последних трех элементов файла f. Для этого используется цикл for, который выполняется три раза. На каждой итерации цикла файл f перемещается к последнему элементу, затем считывается значение этого элемента и добавляется к сумме.
  4. В основной части программы выполняются следующие действия:
    • Создается экземпляр файла fi, который ссылается на файл input.dat.
    • Выполняется процедура FillInput(fi), которая заполняет файл fi числами.
    • Файл fi закрывается.
    • Выполняется функция s3(fi), которая возвращает сумму последних трех элементов файла fi.
    • Результат функции s3(fi) выводится на экран.
    • Файл fi открывается для записи и закрывается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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