Определить, равны ли суммы первой и последней цифр чисел - Pascal ABC

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

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

заданы два целых числа. Определить используя функции и процедуры. -равны ли суммы их первой и последней цифр. -выстроить количество цифр <1> в каждом числе по возрастанию. -попадает ли сумма цифр каждого числа в интервал(10,20). -равны ли произведение чётных цифр каждого числа.
Pascal

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

textual
Листинг программы
  1. function Zad1(const x, y: Integer): Boolean;
  2.     function SumFirstAndLast(x: Integer): Byte;
  3.     var
  4.         Result: Byte;
  5.     begin
  6.         x := Abs(x);
  7.         Result := x mod 10;
  8.         while (x > 9) do
  9.             x := x div 10;
  10.         Inc(Result, x);
  11.         SumFirstAndLast := Result;
  12.     end;
  13. begin
  14.     Zad1 := (SumFirstAndLast(x) = SumFirstAndLast(y));
  15. end;
  16.  
  17. function Zad3(const x, y: Integer): Boolean;
  18.     function From10To20(x: Integer): Boolean;
  19.     var
  20.         temp: Byte;
  21.     begin
  22.         x := Abs(x);
  23.         temp := 0;
  24.         repeat
  25.             Inc(temp, x mod 10);
  26.             x := x div 10;
  27.         until ((x = 0) And (temp > 20));
  28.         From10To20 := ((temp > 9) And (temp < 21));
  29.     end;
  30. begin
  31.     Zad3 := (From10To20(x) And From10To20(y));
  32. end;
  33.  
  34.  
  35. function Zad4(const x, y: Integer): Boolean;
  36.     function MultEven(x: Integer): LongWord;
  37.     var
  38.         Result: LongWord;
  39.         temp: Byte;
  40.     begin
  41.         Result := 1;
  42.         repeat
  43.             temp := x mod 10;
  44.             x := x div 10;
  45.             if (Not Odd(temp))
  46.             then
  47.                 Result := Result * temp;
  48.         until (x = 0);
  49.         MultEven := Result;
  50.     end;
  51. begin
  52.     Zad4 := (MultEven(x) = MultEven(y));
  53. end;

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

  1. Функция Zad1 принимает два целых числа x и y в качестве параметров и возвращает логическое значение True, если сумма первой и последней цифры чисел равна, и False в противном случае. В этой функции используется вспомогательная функция SumFirstAndLast, которая принимает целое число x и возвращает его первую цифру (x mod 10) и сумму всех цифр (x div 10), а затем увеличивает сумму первой цифры на единицу.
  2. Функция SumFirstAndLast используется в функции Zad1 для вычисления суммы первой и последней цифры числа x. Эта функция принимает целое число x и возвращает его первую цифру и сумму всех цифр. Для этого она делит число на 10, пока оно не станет однозначным, и затем увеличивает сумму первой цифры на единицу.
  3. Функция Zad3 принимает два целых числа x и y в качестве параметров и возвращает логическое значение True, если сумма цифр чисел от 10 до 20 равна, и False в противном случае. Эта функция использует вспомогательную функцию From10To20, которая принимает целое число x и возвращает True, если сумма цифр чисел от 10 до 20 больше или равна 10, и False в противном случае. Функция From10To20 вычисляет сумму цифр чисел от 10 до 20, используя цикл повторения, который увеличивает сумму на единицу при каждом проходе.
  4. Функция Zad4 принимает два целых числа x и y в качестве параметров и возвращает логическое значение True, если произведение четных чисел равно, и False в противном случае. Эта функция использует вспомогательную функцию MultEven, которая принимает целые числа x и y и возвращает произведение четных чисел. Функция MultEven вычисляет произведение четных чисел, используя цикл повторения, который умножает текущую цифру на предыдущую, пока не будет достигнуто основание числа.

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


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

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

8   голосов , оценка 4.625 из 5

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

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

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