Program2.pas(29) : Нельзя преобразовать тип function(x: real;eps: real): real к real var...

0 голосов
62 просмотров

Program2.pas(29) : Нельзя преобразовать тип function(x: real;eps: real): real к real
var
a, i, s, r, j, t, x, eps: real;

function v(x, eps: real): real;
begin
i := 1;s := 0;a := 1;t := 1; r := 1;
while abs(sin(x) - s) > eps do
begin

while i <= x do<br> begin
a := a * i;
r := r + 1
end;

s := s + t * power(x, i) / a;
t := -t;
a := 1;
i := i + 2;
end;
v := s;
end;

begin
read(x);
read(eps);
a := v;
v(x, eps);
write('sinx=', sin(x));
write('по формуле ', a);
write('количество итераций', i);
end.
Как исправить?


Информатика (40 баллов) | 62 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
var
  a,i,s,r,j,t,x,eps:real;

function v(x,eps:real):real;
begin
  i:=1; s:=0; a:=1; t:=1; r:=1;
  while abs(sin(x)-s)>eps do begin
    while i<=x do begin a:=a*i; r:=r+1 end;<br>  s:=s+t*power(x,i)/a;
  t:=-t; a:=1;
  i:=i+2
  end;
  v:=s
end;

begin
  read(x);
  read(eps);
  a:=v(x,eps);
  write('sinx=',sin(x));
  write('по формуле ',a);
  write('количество итераций',i);
end.


(150k баллов)