Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Разьясните плиз!

14K
17 января 2006 года
GreK
10 / / 15.12.2005
Народ помогите разобраться хотя бы с заданием, никак не могу понять что от меня хотят!
Написать программу для вычисления суммы ряда v=3+E ((-1)^n/(5n-1)^3) с точностью e=10(-4).
E - знак энной интегральной суммы
e - эпсила
И если кому не лень помогите решить.
Плиз, экзамен на носу.
241
17 января 2006 года
Sanila_san
1.6K / / 07.06.2005
Цитата:
Originally posted by GreK

Написать программу для вычисления суммы ряда v=3+E ((-1)^n/(5n-1)^3) с точностью e=10(-4).
E - знак энной интегральной суммы
e - эпсила



От тебя хотят посчитать сумму ряда. Ты только скажи, в каком диапазоне находится n? Ряд-то, надеюсь, конечный? Если ряд конечный, просто считаешь от min до max. Не помню, но по-моему, в Паскале была ф-я возведения в произвольную степень. Если не было, несложно написать. Нужная точность достигается округлением.

То есть, пишется цикл:
for n := min to max do
E := 0;
begin
E := E + ((-1)^n/(5n-1)^3); //Пишу без синтаксиса!
end;
E:= E + 3;
E := Round (4);

Примерно так.

929
17 января 2006 года
sp999
198 / / 31.01.2003
x^n = exp(n * ln(x))
14K
17 января 2006 года
GreK
10 / / 15.12.2005
Цитата:
Originally posted by Sanila_san
От тебя хотят посчитать сумму ряда. Ты только скажи, в каком диапазоне находится n? Ряд-то, надеюсь, конечный? Если ряд конечный, просто считаешь от min до max. Не помню, но по-моему, в Паскале была ф-я возведения в произвольную степень. Если не было, несложно написать. Нужная точность достигается округлением.

То есть, пишется цикл:
for n := min to max do
E := 0;
begin
E := E + ((-1)^n/(5n-1)^3); //Пишу без синтаксиса!
end;
E:= E + 3;
E := Round (4);

Примерно так.


Спасибо. А в каком диапазоне n и какой ряд не знаю. Я дословно написал задание - т.е. все что известно я написал.

241
18 января 2006 года
Sanila_san
1.6K / / 07.06.2005
Цитата:
Originally posted by GreK
А в каком диапазоне n и какой ряд не знаю.


В любом случае [COLOR=firebrick]min <= n <= max[/COLOR] , где min и max - соответственно минимальное и максимальное значение использованного типа данных. Для Integer -32768 <= n <= 32767
Если n:Real или какой-то другой, тогда смотри доки, я навскидку не помню.

Но мне что-то говорит, что сумма будет считаться от нуля до n. Впрочем, это сути дела не меняет.

14K
18 января 2006 года
GreK
10 / / 15.12.2005
Цитата:
var n,x:integer;
E,v:real;
begin
n:=0;
E:=0;
while n<=5 do

begin
if (n=2) or (n=4) then x:=1 else x:=-1;

E:=E+(x/exp(3*ln(abs(5*n-1))));
n:=n+1;
end;
v:=E + 3;
writeln('v=',v:5:4);
readln;
end.


Зделал n от 0 до 5. Но вот какая проблема:
условие зделано потому что -1 в степень не возведешь так как получается отрицательное число под логарифмом. Если условие записать с остатком - типо проверка на четность то прога не правильно считает, может кто поможет? И даже если записать "if (n=0) or (n=2) or (n=4)" то тоже не правильно считает - видимо всю погоду делает энтот 0!

247
19 января 2006 года
wanja
1.2K / / 03.02.2003
А так:
s:=3;
x:=1;
n:=1;
u:=2*eps;
while u>eps do
begin
x:=-x;
u:=x/((5*n-1)*(5*n-1)*(5*n-1));
s:=s+u;
n:=n+1;
end;

Надеюсю, я правильно понял формулу.
14K
20 января 2006 года
GreK
10 / / 15.12.2005
Цитата:
Originally posted by wanja
А так:
s:=3;
x:=1;
n:=1;
u:=2*eps;
while u>eps do
begin
x:=-x;
u:=x/((5*n-1)*(5*n-1)*(5*n-1));
s:=s+u;
n:=n+1;
end;

Надеюсю, я правильно понял формулу.


Ну что то вроде этого только получается чушь какая то.

326
20 января 2006 года
sadovoya
757 / / 19.11.2005
Цитата:
Originally posted by GreK
Народ помогите разобраться хотя бы с заданием, никак не могу понять что от меня хотят!
Написать программу для вычисления суммы ряда v=3+E ((-1)^n/(5n-1)^3) с точностью e=10(-4).
E - знак энной интегральной суммы
e - эпсила
И если кому не лень помогите решить.
Плиз, экзамен на носу.

326
20 января 2006 года
sadovoya
757 / / 19.11.2005
Цитата:
Originally posted by sadovoya

Надо хотя бы немного башкой думать! Какой нах.. из тебя программер?

14K
20 января 2006 года
GreK
10 / / 15.12.2005
Цитата:
Originally posted by sadovoya
Надо хотя бы немного башкой думать! Какой нах.. из тебя программер?



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

326
21 января 2006 года
sadovoya
757 / / 19.11.2005
Цитата:
Originally posted by GreK
Вот если бы тебе начитали лекций по паскалю и заставили здавать экзамен при этом практики было 3 пары, то я думаю что ты также думал своей башкой!!!
И нах. флудить в теме? Считаешь себя таким Вумным? Тогда попробуй сам написать! Посмотрел бы я как у тебя эт получится.

326
21 января 2006 года
sadovoya
757 / / 19.11.2005
Цитата:
Originally posted by sadovoya

Ну, ладно, извини. Если всего три пары, то понятно. Что касается ответа, то по-моему его дали уже. Вроде все правильно.

14K
21 января 2006 года
GreK
10 / / 15.12.2005
Цитата:
Originally posted by sadovoya
Ну, ладно, извини. Если всего три пары, то понятно. Что касается ответа, то по-моему его дали уже. Вроде все правильно.


Ответ вроде правильный но считает не правильно. Я думаю что весь косяк в задании, даже в excel чушь получается.

326
21 января 2006 года
sadovoya
757 / / 19.11.2005
Цитата:
Originally posted by GreK
Ответ вроде правильный но считает не правильно. Я думаю что весь косяк в задании, даже в excel чушь получается.

326
21 января 2006 года
sadovoya
757 / / 19.11.2005
Цитата:
Originally posted by sadovoya

Может, сам ряд дурной. Дай подумать.

326
21 января 2006 года
sadovoya
757 / / 19.11.2005
Цитата:
Originally posted by sadovoya

Проверь, я мог напортачить, потому что спешил:

var
S1,V: Double;
n, sign: Integer;
begin
sign:=1;
V:=3;
S1:= -1;
V:=V+S1; // нулевой член
n:=0;
While (abs(S1)>=1E-4) do
begin
n:=n+1;
sign:=sign*(-1);// меняем знак на обратный
S1:=sign/((5*n-1)*(5*n-1)*(5*n-1));
V:=V+S1;
end;

Ответ у меня вышел 1,9854557...
Не уверен, что правильно - спешил.

14K
23 января 2006 года
GreK
10 / / 15.12.2005
Цитата:
Originally posted by sadovoya
Проверь, я мог напортачить, потому что спешил:

var
S1,V: Double;
n, sign: Integer;
begin
sign:=1;
V:=3;
S1:= -1;
V:=V+S1; // нулевой член
n:=0;
While (abs(S1)>=1E-4) do
begin
n:=n+1;
sign:=sign*(-1);// меняем знак на обратный
S1:=sign/((5*n-1)*(5*n-1)*(5*n-1));
V:=V+S1;
end;

Ответ у меня вышел 1,9854557...
Не уверен, что правильно - спешил.


Спасибо. Я очень много кодов перепробовал, включая этот. Везде получаются разные ответы. Даже в excel хрень получается.

391
23 января 2006 года
Archie
562 / / 03.02.2005
Цитата:
Originally posted by GreK
Спасибо. Я очень много кодов перепробовал, включая этот. Везде получаются разные ответы. Даже в excel хрень получается.


Разных ответов тут быть не может. Ряд же сходящийся (а ну-ка, кто вспомнит критерий сходимости?).
Алгоритм подсчета суммы ряда очень простой: считаешь очередной член ряда, если он больше твоего епсолона, прибавляешь его к сумме и увеличиваешь индекс. И так, пока очередной член не станет меньше или равен епсилон - это и будет сумма ряда, найденная с точностью до епсилона. Сумма сходящегося ряда всегда конечна.
Успехов!

9.5K
23 января 2006 года
OdDi
8 / / 29.01.2005
мда, господа... языков ты можешь и не знать, но математику знать обязан! ещё порадовал переход к ln...
326
23 января 2006 года
sadovoya
757 / / 19.11.2005
Цитата:
Originally posted by GreK
Спасибо. Я очень много кодов перепробовал, включая этот. Везде получаются разные ответы. Даже в excel хрень получается.


Совершенно согласен с Archie. Кстати, вручную проверил свой код - все верно. Забыл только оператор вывода результата скопировать в ответ. Надеюсь, тут нет проблем. Одного end тоже не хватает :-). Еще, возможно, n пробегает от 1, а не от 0 и т.д. Здесь задание надо уточнить.

14K
24 января 2006 года
GreK
10 / / 15.12.2005
Цитата:
Originally posted by sadovoya
Совершенно согласен с Archie. Кстати, вручную проверил свой код - все верно. Забыл только оператор вывода результата скопировать в ответ. Надеюсь, тут нет проблем. Одного end тоже не хватает :-). Еще, возможно, n пробегает от 1, а не от 0 и т.д. Здесь задание надо уточнить.


Все разобрался, просто нужно было в условие поставить по модулю т.е. until abs(s)<0.0001/
Спасибо всем за участие!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог