Вычислить значение выражения - 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
. - Результат выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д