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

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

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

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

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

textual
Листинг программы
  1. const
  2.   n = 100;
  3.  
  4. function Summ(n: longint): byte;
  5. { (C) Puporev}
  6. var
  7.   sm: byte;
  8.   u: longint;
  9. begin
  10.   sm := 0;
  11.   while n > 0 do
  12.   begin
  13.     u := n mod 10;
  14.     sm := sm + u;
  15.     n := n div 10;
  16.   end;
  17.   Summ := sm;
  18. end;
  19.  
  20. var
  21.   f: file of integer;
  22.   a, i: integer;
  23.  
  24. begin
  25.   assign(f, 'data.dat');
  26.   rewrite(f);
  27.   for i := 1 to n do
  28.   begin
  29.     a := random(n) + 1;
  30.     write(a:5);
  31.     write(f, a);
  32.   end;
  33.   close(f);
  34.   reset(f);
  35.   writeln;
  36.   write('Введите число А: ');
  37.   readln(a);
  38.   while not eof(f) do
  39.   begin
  40.     read(f, i);
  41.     if summ(i) > a then
  42.       write(i:5);
  43.   end;
  44.   close(f);
  45. 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

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

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

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