КВ
Константин Воробьёв

Паскаль не получается, подскажите?

Рассматривается вариант вычисления суммы бесконечного ряда, текущий член ai которого содержит степенные выражения, факториалы.



Что то не то написал. поправьте пожалуйста.
Program Lab4;
const
n=1000;
e=0.0001;
label met;
Var x,y,s,xn,xk,dx,a :real;
i:integer;
Begin
write('Введите xn,xk,dx=');
readln(xn,xk,dx);
x:=xn;
While x<=xk do begin
y:=exp(x)*sin(x+1);
s:=1;
For i:=1 to n do
begin
a:=(((power(sqrt(2),i))*(sin(i*pi/4))*(power(x,i)))/i);
if abs(a)



ПРОДОЛЖЕНИЕ
a:=(((power(sqrt(2),i))*(sin(i*pi/4))*(power(x,i)))/i);
if abs(a)

if abs(a)

Ольга Латушкина
Ольга Латушкина

Предлагаю такой вариант:
var i,n: integer;
s,x,e,d,sum: real;
procedure fact(y:integer);
begin
while y>=1 do begin
s:=s*y;
dec(y);
end;
end;

begin
cls;
e:=1e-10; s:=1;
x:=0.5;
repeat
fact(n);
d:=(exp(0.5*n*ln(2)+n*ln(x))+sin(n*3.1415926/4))/s;
sum:=sum+d;
writeln(' sum=',sum);
s:=1; inc(n);
until abs(d)

Марина Сергеева
Марина Сергеева

Зачем „мудрствовать”, когда можно представить каждое слогаемое, как предыдущее значение, умноженное на √(2)·x/n и умноженное на одну из восьми возможных значений sin(n·π/4) (которые можно рассчитать заранее) .

const
X0 = 0.2;
X1 = 0.8;
dX = 0.2';
Eps = 0.000001;

var
X, Q, Ai, S : Real;
N : Integer;
SinN : array [0..7] of Real;

begin
Q := Sqrt(2);
for N := 0 to 7 do
SinN[N] := Sin(N * Pi / 4);

X := X0;
repeat
Ai := 1;
S := 1;
N := 0;
repeat
Inc(N);
Ai := Ai * Q * X / N;
S := S + Ai * SinN[N mod 8];
until Abs(Ai * SinN[N mod 8]) < Eps;

WriteLn('S(', X:0:2, ') = ', S:0:7, ' Y(', X:0:2, ') = ', Exp(X)*Sin(X)+1:0:7, ' Погрешность = ', Abs(S - Exp(X)*Sin(X)-1):0:9);
X := X + dX;
until X > X1;
end.

Результат работы программы:

S(0.20) = 1.2426667 Y(0.20) = 1.2426553 Погрешность = 0.000011398
S(0.40) = 1.5813333 Y(0.40) = 1.5809439 Погрешность = 0.000389433
S(0.60) = 2.0320000 Y(0.60) = 2.0288457 Погрешность = 0.003154334
S(0.80) = 2.6106667 Y(0.80) = 2.5965053 Погрешность = 0.014161326

Похожие вопросы
подскажите пожалуйста, как в паскале...
Подскажите по паскалю!
паскаль паскаль паскаль
подскажите что неправильно в коде на паскаль
Подскажите как сделать это на Паскале
Пожалуйста, помогите с Паскалем, не получается...
как перевести двухмерный массив в одномерный на Паскале? ? помогите. я пыталась и ничего не получается.
подскажите пожалуйста, как изменить в паскале...
подскажите, компанента. абц паскаль
Не получается написать программу на паскале