1 Востаннє редагувалося Tovmach95 (11.10.2015 17:22:21)

Тема: Функції користувача

Створив нову тему бо по поередній
(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 

Що робити далі і як правельно записати цю та іншу функцію, нерозумію.

Post's attachments

СУМА.png 36.8 kb, 219 downloads since 2015-10-11 

2

Re: Функції користувача

У вас же є приклад функції, і є шмат виразу, який ви хочете вставити в свою функцію. Що саме вам не зрозуміло?

Подякували: antonyk_ivan1

3

Re: Функції користувача

Все відбій програма справна та здатна виконувати завдання!

Подякували: koala1