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

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

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

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

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

textual
Листинг программы
function Zad1(const x, y: Integer): Boolean;
    function SumFirstAndLast(x: Integer): Byte;
    var
        Result: Byte;
    begin
        x := Abs(x);
        Result := x mod 10;
        while (x > 9) do
            x := x div 10;
        Inc(Result, x);
        SumFirstAndLast := Result;
    end;
begin
    Zad1 := (SumFirstAndLast(x) = SumFirstAndLast(y));
end;
 
function Zad3(const x, y: Integer): Boolean;
    function From10To20(x: Integer): Boolean;
    var
        temp: Byte;
    begin
        x := Abs(x);
        temp := 0;
        repeat
            Inc(temp, x mod 10);
            x := x div 10;
        until ((x = 0) And (temp > 20));
        From10To20 := ((temp > 9) And (temp < 21));
    end;
begin
    Zad3 := (From10To20(x) And From10To20(y));
end;
 
 
function Zad4(const x, y: Integer): Boolean;
    function MultEven(x: Integer): LongWord;
    var
        Result: LongWord;
        temp: Byte;
    begin
        Result := 1;
        repeat
            temp := x mod 10;
            x := x div 10;
            if (Not Odd(temp))
            then
                Result := Result * temp;
        until (x = 0);
        MultEven := Result;
    end;
begin
    Zad4 := (MultEven(x) = MultEven(y));
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
Похожие ответы