Описать функцию 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 открывается для записи и закрывается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д