Описать функцию s3(f), значением которой является сумма последних трех элементов файла - Free Pascal

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

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

type fr=file of real описать функцию s3(f) значением которой является сумма последних трех элементов файла f имеющего тип fr и содержащего не менее 3 элементов.Введите файл( последний элемент=0) и вычислите функцию s3(F)

Решение задачи: «Описать функцию s3(f), значением которой является сумма последних трех элементов файла»

textual
Листинг программы
  1. program _files;
  2.  
  3. const
  4.  fin        = 'input.dat';
  5.  
  6. type
  7.  TFR        = file of real;
  8.  
  9. var
  10.  fi         : TFR;
  11.  R          : real;
  12.  count      : byte;
  13.  
  14. procedure FillInput(var f : TFR);
  15. {процедура заполнения типизированного файла}
  16. var
  17.  r          : real;
  18.  count      : byte;
  19. begin
  20.  count:=0;
  21.  repeat
  22.   write('>: ');readln(r);
  23.   inc(count);
  24.   if r<>0 then write(f,r)
  25.  until (R=0) and (count>3)
  26. end;
  27.  
  28. function s3(var f : TFR):real;
  29. {возвращает сумму последних трех элементов файла f}
  30. var
  31.  x,sum      : real;
  32.  size       : byte;
  33.  i          : byte;
  34. begin
  35.  x:=0;
  36.  sum:=0;
  37.  size:=filesize(f);
  38.  for i:=1 to 3 do
  39.    begin
  40.     seek(f,size-i);
  41.     read(f,x);
  42.     sum:=sum+x;
  43.    end;
  44.  S3:=Sum;
  45. end;
  46.  
  47. BEGIN
  48.  
  49. {fill input file}
  50.  Assign(fi,fin);rewrite(fi);
  51.  FillInput(fi) ;close(fi);
  52.  
  53. {proces. & output}
  54.  assign(fi,fin);reset(fi);
  55.  Write(s3(fi):0:2);close(fi);
  56.  
  57. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы