Top.Mail.Ru
Ответы

Помогите написать программу

Задание на фото, примерное решение (написано в паскале авс, но он выдает ошибку" Неизвестное имя 'extended'):
Program Lab;
label PVA,PVX;
var X, Xn, Xk, XkMax, DeltaX, a, Eps, Term, Summa, Exponenta:real;
Cl, Os:double;
i,j,L:integer;
Fy:array [1..30,1..2] of real;
Function factorial(N: integer) :double;
Begin
If N= 0 then
Factorial := 1
Else Factorial := factorial(N-1) * N
End;
Function SCh(Chislo: double; Stepen: integer): Extended;
var
i:integer;

begin
SCh:= 1;
i := 0;
while i < abs(Stepen) do begin
SCh := SCh * Chislo;
i := i + 1;
end;
if Stepen < 0 then
SCh := 1 / SCh
end;
begin

a:=1;
Xn:=1;
X:=Xn;
DeltaX:=0.5;
L:=30;
Xk:=X+DeltaX*L;
Eps:=0.01;

PVA:
writeln(' Введите значение А ');
write('A=');
readln(a);

PVX:
writeln(' Введите значение начала интервала Х ');
write('Xn=');
readln(Xn);
writeln('Введите значение шага расчёта DeltaX');
write('DeltaX=');
readln(DeltaX);
writeln('Введите количество шагов L');
write('L=');
readln(L);
writeln('Введите погрешность Eps');
write('Eps=');
readln(Eps);
writeln(' РЕЗУЛЬТАТЫ РАСЧЁТА ФУНКЦИИ');
writeln(' X Fy exp');

while X<Xk do begin
i:=1;
j:=1;
Summa:=0;
Exponenta:=exp(X+a);
while i<1000 do
begin
Osnovanie:=X+a;
Cl:=SCh(Os,i);
Term:=Cl/factorial(i);
Summa:=Summa+Term;
XkMax:=factorial(i);
i:=i+1;
if Term<Eps then
i:=1001;
end;
write(' ');
write(X:7:3);
write(' ');
write(Summa:13:5);
write(' ');
writeln(Exponenta:13:5);
X:=X+DeltaX;
end;
writeln('Конец');
readln;
end.

По дате
По рейтингу
Аватар пользователя
Новичок
9лет

замени на double или real
функция видать скоммунизжена из дельфи

Аватар пользователя
Высший разум
9лет

Тебе же в задании сказано: «Найти рекуррентную формулу…»
Сначала нужно решить „элементарную“ задачу по вычислению ряда (см. картинку), а только после пытаться её настраивать на интервалы!