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

0 голосов
23 просмотров
Помогите составить программу
image

Информатика (22 баллов) | 23 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Const e=0.0004;
var x,a,f,y:real; n,z:integer;
begin
x:=2.65; a:=1.5;
f:=1/(2*a);
n:=1; z:=1;
y:=a*cos(n*x)/(a*a-n*n);
while abs(y)>e do begin
f:=f+y;
n:=n+1;
z:=-z;
y:=z*a*cos(n*x)/(a*a-n*n);
end;
writeln('F(',x,') = ',f:8:5);
end.

Пример:
F(2.65) = -0.37856

(194k баллов)
0

почему в сумме получается -?

0

и что значит z?

0

1) ряд знакочередующийся; 2) z - знак слагаемого

0

program p1;
var F,x,S,eps,a:real;
n:integer;
begin
write('Vvedite a=');
readln(a);
write('Vvedite x=');
readln(x);
write('Vvedite eps=');
readln(eps);
F:=1/2*a;
n:=1;
S:=a*cos(n*x)/(sqr(a)-sqr(n));
while abs(S)>eps do
begin
F:=F+S;
n:=n+1;
if n mod 2=0 then S:=-(a*cos(n*x)/(sqr(a)-sqr(n)))
else S:=a*cos(n*x)/(sqr(a)-sqr(n));
end;
write('pri x=',x:5:2,' a=',a:5:2,' eps=',eps:7:4,' summa F=',F:7:3);
readln;
end.

0

а что тут не правильно?

0

В моей программе опечатки нашлись. Исправьте две строки:
n:=1; z:=-1;
y:=-a*cos(n*x)/(a*a-n*n);

0

В Вашей программе тоже есть опечатка: вместо F:=1/2*a; нужно F:=1/(2*a); И ещё знаки "+" и "-" у слагаемых надо поменять. Начальное S: S:=-a*cos(n*x)/(sqr(a)-sqr(n)); а в цикле if n mod 2 = 1 ...