Реализовать в программе деление нацело и умножение двух чисел, не применяя операции «*» и «/» - 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.
Объяснение кода листинга программы
- Создается функция divide(n: integer; m: integer), которая должна выполнять деление двух чисел без использования операций «*» и «/».
- В функции проверяется условие m=0. Если оно выполняется, то вызывается ошибка деления на 0.
- Далее, если n меньше m, то значение переменной divide устанавливается равным 0.
- В противном случае, значение переменной divide устанавливается равным 1 плюс результат деления n-m на m.
- Создается функция multiply(n: integer; m: integer), которая должна выполнять умножение двух чисел без использования операций «*» и «/».
- В функции проверяется условие n=0 или m=0. Если хотя бы одно из них выполняется, то значение переменной multiply устанавливается равным 0.
- Если n=1, то значение переменной multiply устанавливается равным m.
- Если m=1, то значение переменной multiply устанавливается равным n.
- В противном случае, значение переменной multiply устанавливается равным n+multiply(n,m-1).
- Создается переменная n со значением 23.
- Создается переменная k со значением 4.
- Вызывается функция divide(n,k) и результат выводится на экран.
- Вызывается функция multiply(n,k) и результат выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д