За один просмотр файла, вывести числа сумма цифр которых больше А - Turbo Pascal

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

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

Дано файл натуральных чисел. За один просмотр файла, вывести числа сумма цифр которых больше А.

Решение задачи: «За один просмотр файла, вывести числа сумма цифр которых больше А»

textual
Листинг программы
const
  n = 100;
 
function Summ(n: longint): byte;
{ (C) Puporev}
var
  sm: byte;
  u: longint;
begin
  sm := 0;
  while n > 0 do
  begin
    u := n mod 10;
    sm := sm + u;
    n := n div 10;
  end;
  Summ := sm;
end;
 
var
  f: file of integer;
  a, i: integer;
 
begin
  assign(f, 'data.dat');
  rewrite(f);
  for i := 1 to n do
  begin
    a := random(n) + 1;
    write(a:5);
    write(f, a);
  end;
  close(f);
  reset(f);
  writeln;
  write('Введите число А: ');
  readln(a);
  while not eof(f) do
  begin
    read(f, i);
    if summ(i) > a then
      write(i:5);
  end;
  close(f);
end.

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

  1. В первой функции Summ объявлены две переменные: sm типа byte (байт) и u типа longint (длинное целое). Функция не принимает аргументов. Внутри цикла while происходит деление числа n на 10, пока n не станет равным нулю. Затем значение sm увеличивается на результат деления u на 10. После этого функция возвращает значение sm.
  2. Во второй функции summ объявлены три переменные: f типа file of integer (файл целых чисел), a и i оба типа integer (целое). Функция не принимает аргументов. Внутри цикла for генерируется случайное целое число a от 1 до n (не включая n), затем оно записывается в файл f и выводится на экран. После этого файл очищается и сбрасывается буфер.
  3. В основной функции main объявлены две переменные: f и a оба типа integer. Функция читает файл data.dat, где записано n целых чисел, затем в цикле while читается следующее число из файла, проверяется сумма его цифр с помощью функции summ и если она больше a, то число выводится на экран. После этого файл закрывается и сбрасывается буфер.

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


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

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

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