Входные данные некоторой программы записаны в текстовый файл - Pascal ABC
Формулировка задачи:
Входные данные некоторой подпрограммы записаны в текстовый файл. На каждой строке файла содержатся два целых и три вещественных числа, разделенные пробелами. Найти сумму целых и сумму вещественных чисел из каждой строки.
Помогите, пожалуйста.
Решение задачи: «Входные данные некоторой программы записаны в текстовый файл»
textual
Листинг программы
var f:text;
a,b,s1,i:integer;
c,d,e,s2:real;
begin
assign(f,'input.txt');
reset(f);
i:=0;
while not seekeof(f) do
begin
read(f,a,b);
s1:=a+b;
read(f,c,d,e);
s2:=c+d+e;
inc(i);
writeln('Строка ',i,' сумма целых=',s1,' сумма вещественных=',s2:0:2);
end;
close(f);
end.
Объяснение кода листинга программы
- Переменная
fустанавливается в значениеtext, что означает, что она будет использоваться для чтения и записи в текстовый файл. - Переменные
a,b,s1,iиc,d,e,s2являются целочисленными и реальными соответственно. Они будут использоваться для хранения данных, считываемых из файла. - С помощью функции
assign(f,'input.txt')переменнойfприсваивается значение'input.txt', что означает, что она будет использоваться для чтения из файла с именем'input.txt'. - Функция
reset(f)сбрасывает файловую позицию на начало файла. - Переменная
iинициализируется значением 0. Она будет использоваться для отслеживания количества строк, прочитанных из файла. - Цикл
while not seekeof(f)выполняется до тех пор, пока функцияseekeof(f)не вернет значениеtrue, что означает, что достигнут конец файла. - На каждой итерации цикла считываются две строки из файла.
- Значения
a,bсчитываются в переменныеaиb. - Значения
c,d,eсчитываются в переменныеc,dиe. - Переменная
s1вычисляет сумму чиселaиb. - Переменная
s2вычисляет сумму чиселc,dиe. - Переменная
iувеличивается на единицу. - Выводится строка с номером строки и значениями переменных
s1иs2. - После окончания чтения файла вызывается функция
close(f).