Написать программу которая, используя признаки делимости, определяет, делится ли число на 6 - Pascal ABC

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

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

Листинг программы
  1. var a,c: integer;
  2. begin cls;
  3. randomize;
  4. a:=random (99999+99999+1)-99999;
  5. writeln ( 'исходное числo: ',a);
  6. if (a mod 10) mod 2 =0 then
  7. writeln (' делится на 2')
  8. else
  9. writeln (' не делится на 2');
  10. while a<>0 do
  11. begin
  12. c:= c+(a mod 10);
  13. a:= a div 10;
  14. end;
  15. if c mod 3 = 0 then
  16. writeln (' число делится на 3')
  17. else
  18. writeln (' число не делится на 3');
  19. end.
признак делимости на 6 - это значит, что число делится на 2 и 3. я сделала по отдельности на 2 и 3 ( программа выше). а как это обобщить?

Решение задачи: «Написать программу которая, используя признаки делимости, определяет, делится ли число на 6»

textual
Листинг программы
  1. var n:longint;
  2. function d_2(x:longint):boolean;
  3.  begin
  4.   d_2:=not odd(x)
  5.  end;
  6. function d_3(x:longint):boolean;
  7.  function sum(xx:longint):byte;
  8.   begin
  9.    if xx>0 then sum:=sum(xx div 10)+xx mod 10;
  10.   end;
  11.  begin
  12.   d_3:=sum(x) mod 3 = 0;
  13.  end;
  14. begin
  15.  write('n = ');readln(n);
  16.  write(n);
  17.  if not((d_2(n))and(d_3(n))) then write(' не');
  18.  writeln(' делится на 6')
  19. end.

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

  1. Переменная n инициализируется как дробное число без знака со значением типа longint.
  2. Функция d_2 принимает целое число x и возвращает логическое значение true, если x не является четным, и false в противном случае.
  3. Функция d_3 принимает целое число x и возвращает логическое значение true, если сумма цифр числа x делится на 3 без остатка, и false в противном случае.
  4. В функции d_3 определена вспомогательная функция sum, которая принимает целое число xx и возвращает байтовое значение. Если xx больше нуля, то сначала выполняется деление на 10, затем полученный результат прибавляется к остатку от деления на 10, и только после этого выполняется операция модуля 10.
  5. В функции d_3 снова вызывается вспомогательная функция sum, но уже с аргументом x. Результат вычисления функции sum сохраняется в переменной sum_result.
  6. Затем проверяется, равен ли остаток от деления sum_result на 3 нулю. Если это так, то переменной d_3 присваивается значение true, иначе - false.
  7. В основной части программы считывается значение переменной n.
  8. Выводится значение переменной n.
  9. Проверяется, удовлетворяет ли n условиям, определенным в функциях d_2 и d_3. Если нет, то выводится слово не.
  10. Выводится слово делится на 6.

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


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

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

13   голосов , оценка 3.538 из 5

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

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

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