Другие языки программирования и технологии
Факториалы в паскале???
дан бесконечый ряд суммы бесконечно сходящегося ряда ∑(-1)^n*(x^(2n+1))/(2n+1)! до меня не доезжает как можно зациклить факториал (2n+1) в паскале? помогите кто знает
F := 1;
for n := 1 to M do
begin
F := F * (2*n) * (2*n + 1); { <--- вот так! }
....
end;
for n := 1 to M do
begin
F := F * (2*n) * (2*n + 1); { <--- вот так! }
....
end;
Видно же, каждый следующий член ряда, это предыдущий, умноженный на -х*х* и деленный на 2n и еще на 2n+1. А n бежит по циклу
что-то типа.
S := 0;
y := x;
For n := 1 to M do
begin
y := y * (-x*x) / (2*n*(2*n + 1));
S := S + y;
end;
что-то типа.
S := 0;
y := x;
For n := 1 to M do
begin
y := y * (-x*x) / (2*n*(2*n + 1));
S := S + y;
end;
выче, люди, непонял юмора, ето ж ряд Тейлора СУММА
жжоте, блин програмисты 8)
FACK(2*i+1);
----------
function fack(n :integer) : real;
var
i :integer;
z :real;
begin
z:=1;
for i:=1 to n do z:=z*i;
fack:= z;
end;
---------------
ВОТ ПРОГА:
=====================================
function Power(x:real; stepin :integer) :Real;
var
z :real;
i :integer;
begin
z:=1;
for i:=1 to stepin do z:=z*x;
Power:=z;
end;
function fack(n :integer) : real;
var
i :integer;
z :real;
begin
z:=1;
for i:=1 to n do z:=z*i;
fack:= z;
end;
var
i, n :integer;
x, E :real;
BEGIN
writeln('======== TEYLORS lines:');
write('Enter n(~~n<=16): '); readln(n); { vvod kolva 4lenov ryada }
write('Enter x (radian [ -2*pi..2*pi]): '); readln(x); { argument function }
E:=0;
for i:=0 to n do
E:=E + power(-1, i) * power(x, 2*i+1) / fack (2*i+1) ;
writeln('Teylor fnc= ', E:1:8);
writeln('Sin(x) fnc= ', sin(x):1:8);
readln;
END.
=================
жжоте, блин програмисты 8)
FACK(2*i+1);
----------
function fack(n :integer) : real;
var
i :integer;
z :real;
begin
z:=1;
for i:=1 to n do z:=z*i;
fack:= z;
end;
---------------
ВОТ ПРОГА:
=====================================
function Power(x:real; stepin :integer) :Real;
var
z :real;
i :integer;
begin
z:=1;
for i:=1 to stepin do z:=z*x;
Power:=z;
end;
function fack(n :integer) : real;
var
i :integer;
z :real;
begin
z:=1;
for i:=1 to n do z:=z*i;
fack:= z;
end;
var
i, n :integer;
x, E :real;
BEGIN
writeln('======== TEYLORS lines:');
write('Enter n(~~n<=16): '); readln(n); { vvod kolva 4lenov ryada }
write('Enter x (radian [ -2*pi..2*pi]): '); readln(x); { argument function }
E:=0;
for i:=0 to n do
E:=E + power(-1, i) * power(x, 2*i+1) / fack (2*i+1) ;
writeln('Teylor fnc= ', E:1:8);
writeln('Sin(x) fnc= ', sin(x):1:8);
readln;
END.
=================
Похожие вопросы
- Факториал парных чисел в С++ (VS 2010)
- Что такое факториал? Помогите пожалуйсто с синтаксисом С++.
- Задание функции факториала в С++
- Факториал tasm. Нужно вычислить факториал (не меньше 300!) и вывести результат на дисплей. Заранее спасибо.
- нужно написать программку на ассемблере, к-рая считает факториал числа n
- Помогите, пожалуйста, с нахождением факториала. Язык Си.
- Вычисление суммы с факториалом в С++?
- На сколько нулей оканчивается факториал заданного числа
- Ассемблер рекурсивная процедура. вычисление факториала, в чем проблемма программы? в отладчике она зацикливается.
- Обязательно ли для того, чтобы стать программистом на С++, решать все эти задачи, особенно на факториалы? Или в них нет
ето ж сумма а не произведение ???
E=E+...