Создать функцию, которая для двух данных чисел определяет в каком числе произвольных чисел больше - Turbo Pascal

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

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

создать функцию,которая для двух данных чисел определяет в каком числе произвольных чисел больше

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

textual
Листинг программы
  1. function DiffNumb(x: LongInt): Byte;
  2. var
  3.     Result, temp: Byte;
  4.     s: Set Of 0..9;
  5. begin
  6.     s := []; Result := 0; x := Abs(x);
  7.     repeat
  8.         temp := x mod 10;
  9.         x := x div 10;
  10.         if Not(temp in s)
  11.         then
  12.             Inc(Result);
  13.         Include(s, temp);
  14.     until (x = 0);
  15.     DiffNumb := Result;
  16. end;
  17.  
  18. function Compare(const x, y: LongInt; var z: LongInt): Boolean;
  19. var
  20.     Result: Boolean;
  21.     xx, yy: Byte;
  22. begin
  23.     xx := DiffNumb(x); yy := DiffNumb(y);
  24.     Result := (xx <> yy);
  25.     if (Result)
  26.     then
  27.     begin
  28.         if (xx > yy)
  29.         then
  30.             z := x
  31.         else
  32.             z := y;
  33.     end;
  34.     Compare := Result;
  35. end;
  36.  
  37. var
  38.     x, y, z: LongInt;
  39. begin
  40.     Write('Input x: '); ReadLn(x);
  41.     Write('Input y: '); ReadLn(y);
  42.     if (Compare(x, y, z))
  43.     then
  44.     begin
  45.         if (z = x)
  46.         then
  47.             WriteLn('First')
  48.         else
  49.             WriteLn('Second');
  50.     end
  51.     else
  52.         WriteLn('Same');
  53. end.

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

  1. Функция DiffNumb принимает два аргумента типа LongInt и возвращает один байт (Byte). Она использует переменную s, которая представляет собой множество от 0 до 9, и переменную Result, которая инициализируется значением 0. Затем функция выполняет следующие действия:
    • Инициализирует переменную x абсолютным значением входного аргумента x.
    • В цикле повторяется, пока x не станет равным 0.
      • Вычисляет остаток от деления x на 10 и сохраняет его в переменной temp.
      • Делит x на 10 и сохраняет результат в переменной x.
      • Если temp не содержится в множестве s, то увеличивает значение Result на 1.
      • Добавляет temp в множество s.
    • Завершает цикл, когда x становится равным 0.
    • Возвращает значение Result.
  2. Функция Compare принимает три аргумента: const x, const y и var z: все они типа LongInt. Она использует две переменные xx и yy: обе они инициализируются результатами вызова функции DiffNumb для x и y соответственно. Затем функция выполняет следующие действия:
    • Если значение xx отличается от значения yy, то устанавливает значение Result в True и начинает выполнять следующие действия:
      • Если xx больше yy, то устанавливает значение z равным x.
      • Иначе устанавливает значение z равным y.
    • Возвращает значение Result.
  3. В основной части программы вводятся значения x и y с помощью функции ReadLn. Затем вызывается функция Compare с аргументами x, y и z. В зависимости от результата сравнения выводится соответствующее сообщение.

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


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

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

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

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

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

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