Тема: Функції користувача
Створив нову тему бо по поередній
(Re: Рекурентне співвідношення) відповіді не отримав.
Свою програму хочу переробити використовуючи в ній власні функції для обчислення виразу і степеня за зразком:[img](завдання на фото)[/img]
Program Laba_6; (обчислення факторіалу)
uses crt;
Const
E=0.00001; {задаємо значення E за допомогою константи}
Var
i : integer; {ціла змінна для циклу}
n: integer; {змінна для значення n}
а: real; {дійсна змінна для членів ряду}
x: real; {дійсна змінна для значення X}
Function Fact(n:integer):real; {функція обчислення факторіалу}
Var
i:integer; {допоміжні змінні}
k:real;
begin
k:= 1; {початкове значення}
for i:= 2 to n do k:= k*i;{так знаходимо n!}
Fact:=k; {кінцеве значення функції}
end;
Function Pow_n(x:real, n:integer):real; {функція обчислення ступеню}
Var
i:integer; {допоміжні змінні}
k:real;
begin
k:= 1; {початкове значення }
for i:=1 to n do k:= k*x; {так знаходимо ступінь}
Pow_n:=k; {кінцеве значення функції}
end;
Begin
clrsrc;
Write(’Введіть значення X:’);
Readln(x);
Write(’Введіть значення N:’);
Readln(n);
i:=0; {початкове значення i}
s:=0; {початкове значення суми}
Repeat
a:= Pow_n(-1,i)*Pow_n(x,2*i+1)/ Fact(n+1+i); {обчислюємо і-тий член ряду}
s:= s+a; {сумма i – перших членів ряду}
inc(i); {збільшуємо i на 1}
Until abs(a)<E;
Writeln(’i=’, i-1);{виводимо значення i на 1 менше}
Writeln(’a=’, a:10:6);
Writeln(’s=’, s:10:5);
End.
ТЕПЕР МОЯ ПРОГРАМА:(завдання на фото у темі Re: Рекурентне співвідношення)
Program korin;
Uses Crt;
Var xn1, xn :real;
a,p:integer;
Begin
CLRSCR;
Writeln(' Vvedit A :');
Readln(a);
Writeln(' Vvedit P :');
Readln(p);
xn1:=a;
Repeat
xn:=xn1;
xn1:=1/p*((p-1)*xn+a/exp(p-1*ln(xn)));
until abs(xn1-xn) < 0.000001;
Writeln('xn1=',xn1);
Readln
End.
Моя мета подати форму xn1:=1/p*((p-1)*xn+a/exp(p-1*ln(xn))); у вигляді xn1:=1/p*Viraz/Pow_n.
Function Viraz - (маю наувазі частину формули (p-1)*xn+a).
Function Pow_n - (функція піднесення до степеня, ( exp(p-1*ln(xn)
Починаю складати функцію піднесення до степеня.
Function Pow_n(x:real, n:integer):real;
Var
i:integer; {допоміжні змінні функції}
P :real;
begin
Що робити далі і як правельно записати цю та іншу функцію, нерозумію.