Вычислить значение выражения - Pascal (80441)
Формулировка задачи:
Привет ребят не оч шарю в паскале, нужна помощь в задаче: Вычислить значение выражения y=xn – zk. Вычисление значения степени оформить в виде рекурсии. Зарание спасибо !!
Решение задачи: «Вычислить значение выражения»
textual
Листинг программы
function Pwr(r: Real; n: Integer): Real;
var t: Real;
begin
if n>=0 then begin
if Odd(n) then t:=r else t:=1;
if n>1 then t:=t*Sqr(Pwr(r,n div 2));
end else t:=1/Pwr(r,-n);
Pwr:=t;
end;
var
x, z: Real;
n, k: Integer;
begin
Write('x n z k: '); ReadLn(x,n,z,k);
WriteLn('x^n - z^k = ',Pwr(x,n)-Pwr(z,k));
end.
Объяснение кода листинга программы
- Объявляется функция с именем
Pwr, принимающая два параметра:r- типа Real иn- типа Integer. - Объявляется переменная
t- типа Real. - В функции происходит вычисление значения
tв зависимости от знака переменнойnи ее четности. - Вычисляется рекурсивное значение
t, еслиnбольше 1. - Если
nотрицательное, значениеtвычисляется как 1, деленная наPwr(r,-n). - Функция возвращает значение
t. - Объявляются переменные
x,z,nиk, все типа Real или Integer. - Вводятся значения переменных
x,n,zиk. - Вычисляется разность между результатами функции
Pwrдляxиn, иPwrдляzиk. - Результат выводится на экран.