Реализовать в программе деление нацело и умножение двух чисел, не применяя операции «*» и «/» - Pascal ABC

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

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

1.Реализовать в программе деление на цело и умножение двух чисел не применяя операции «*» и «/».

Решение задачи: «Реализовать в программе деление нацело и умножение двух чисел, не применяя операции «*» и «/»»

textual
Листинг программы
function divide(n : integer; m : integer) : integer;
Begin
 
     if (m=0) then begin
        {вызвать ошибку деления на 0}
     end;
 
     if (n < m) then
        divide:=0
     else
        divide:=1+divide(n-m,m);
End;
 
function multiply(n : integer; m : integer) : integer;
Begin
     if (n=0) or (m=0) then Begin
         multiply:=0;
         exit;
     End;
     if n=1 then Begin
        multiply:=m;
        exit;
     end;
     if m=1 then Begin
        multiply:=n;
        exit;
     end;
     multiply:=n+multiply(n,m-1);
End;
 
Var n, k : integer;
 
Begin
    n:=23;
    k:=4;
    writeln(divide(n,k));
    writeln(multiply(n,k));
End.

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

  1. Создается функция divide(n: integer; m: integer), которая должна выполнять деление двух чисел без использования операций «*» и «/».
  2. В функции проверяется условие m=0. Если оно выполняется, то вызывается ошибка деления на 0.
  3. Далее, если n меньше m, то значение переменной divide устанавливается равным 0.
  4. В противном случае, значение переменной divide устанавливается равным 1 плюс результат деления n-m на m.
  5. Создается функция multiply(n: integer; m: integer), которая должна выполнять умножение двух чисел без использования операций «*» и «/».
  6. В функции проверяется условие n=0 или m=0. Если хотя бы одно из них выполняется, то значение переменной multiply устанавливается равным 0.
  7. Если n=1, то значение переменной multiply устанавливается равным m.
  8. Если m=1, то значение переменной multiply устанавливается равным n.
  9. В противном случае, значение переменной multiply устанавливается равным n+multiply(n,m-1).
  10. Создается переменная n со значением 23.
  11. Создается переменная k со значением 4.
  12. Вызывается функция divide(n,k) и результат выводится на экран.
  13. Вызывается функция multiply(n,k) и результат выводится на экран.

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


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

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

14   голосов , оценка 3.786 из 5
Похожие ответы