Дан файл натуральных чисел. Просуммировать числа этого файла, начинающиеся с указанной цифры - Pascal ABC

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

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

Дан файл натуральных чисел. Просуммировать числа этого файла, начинающиеся с указанной цифры.

Решение задачи: «Дан файл натуральных чисел. Просуммировать числа этого файла, начинающиеся с указанной цифры»

textual
Листинг программы
var f:text;
    c,a,b,s:integer;
begin
repeat
write('Введите цифру, на которую начинаются числа c=');
readln(c);
until c in [1..9];
assign(f,'chisla.txt');
reset(f);
s:=0;
while not seekeof(f) do
 begin
  read(f,a);
  if a=c then s:=s+a
  else
   begin
    b:=a;
    while b>9 do
    b:=b div 10;
    if b=c then s:=s+a;
   end;
 end;
close(f);
write('Сумма чисел начинающихся на ',c,'=',s)
end.

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

  1. Объявляются переменные: — f — файл; — c — текущая цифра; — a — текущее число; — b — число, разделенное на 10; — s — сумма чисел.
  2. Пользователю предлагается ввести цифру, с которой начинаются числа (цикл repeat).
  3. Файл с числами открывается на чтение (assign(f,'chisla.txt'); open(f)).
  4. Задается начальное значение суммы чисел (s:=0).
  5. Пока не достигнут конец файла (while not seekeof(f)), происходит чтение числа (read(f,a)).
  6. Если число начинается с текущей цифры (a=c), то оно прибавляется к сумме (s:=s+a).
  7. Если число не начинается с текущей цифры, то оно делится на 10 (b:=a) и проверяется следующая цифра (цикл while).
  8. Если последняя цифра числа (b) совпадает с текущей цифрой (c), то число прибавляется к сумме (s:=s+a).
  9. Файл закрывается (close(f)).
  10. Выводится результат (write('Сумма чисел начинающихся на ',c,'=',s)).

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


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

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

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