Var i, N: integer; S, a, x, y: real; begin write('x = '); readln(x); S := x; if x <> 0...

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

Var
i, N: integer;
S, a, x, y: real;

begin
write('x = ');
readln(x);
S := x;
if x <> 0 then
begin
write('N = ');
readln(N);
y := sqr(x);
a := x;
for i := 2 to N do
begin
a := a * y * (2 * i - 3) / (2 * i - 2);
S := S + a / (2 * i - 1)
end
end;
writeln;
writeln('Значение суммы ');
readln
end.
СРОЧНО НАЙДИТЕ ОШИБКУ В ПРОГРАММЕ!!!!!!!!


Информатика (17 баллов) | 140 просмотров
0

так может условие задачи дашь?

0

(Дано вещественное число X (|X| < 1) и целое число N (> 0). Найти значение выражения X + 1·X3/(2·3) + 1·3·X5/(2·4·5) + … + + 1·3·…·(2·N−1)·X2·N+1/(2·4·…·(2·N)·(2·N+1)). Полученное число является приближенным значением функции arcsin в точке X.

Дан 1 ответ
0 голосов

Var

i, N: integer;

S, a, x, y: real;

 

begin

write('x = ');

readln(x);

S := x;

if x <> 0 then

begin

write('N = ');

readln(N);

y := sqr(x);

a := x;

for i := 2 to N do

begin

a := a * y * (2 * i - 3) / (2 * i - 2);

S := S + a / (2 * i - 1);   -нужно ;

end;     -нужно ;

end;

writeln;

writeln('Значение суммы ',s);      -добавлена s, потому что иначе зачем все вычисления?

readln;   -нужно ;

end.


вообще трудно разобраться без математической формулы в привычном виде, потому что могут быть еще ошибки в вычислениях, если в числителе должно быть  ау, то надо (а*у), то же самое (S + a). а может и не надо.


a := a * y * (2 * i - 3) / (2 * i - 2);

S := S + a / (2 * i - 1) ;
(1.6k баллов)
0

вот сама задача: (Дано вещественное число X (|X| < 1) и целое число N (> 0). Найти значение выражения X + 1·X3/(2·3) + 1·3·X5/(2·4·5) + … + + 1·3·…·(2·N−1)·X2·N+1/(2·4·…·(2·N)·(2·N+1)). Полученное число является приближенным значением функции arcsin в точке X.)

0

кажется, условие задачи вообще не отражает текст программы. но это я могу ошибаться

0

а если написать вот так:

var
x, Sum, a, b, c, y: real;
N, i: integer;

begin
write('Введите N: ');
readln(N);
write('Введите x: ');
readln(x);
Sum := x;
a := x;
b := 1;
c := 1;
y := Sqr(x);
for i := 1 to N do
begin
b := b * (2 * i - 1);
c := c * (2 * i);
a := a * y;
Sum := Sum + b * a / (c * (2 * i + 1));
end;
writeln('Значение суммы', S);
end.