IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Ещё задачка, Вычислить сумму первых n членов ряда
сообщение
Сообщение #1


Гость






Наконец-то все решил. Почти.. Вот осталась эта задачка. Я пытался делать по примеру, но в примере тока плюсы и там проще.. А в задании сложнее. Че то я немного не понял... Поскажите как?
Вычислить сумму первых n членов ряда 1 - 1/1 + 1/3 - 1/5 +...
Help me please..
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Извините за такую наглость smile.gif)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






StudentTNGU, это - знакопеременный ряд... Так что, придется хранить знак очередного элемента...

s := 1; sign := -1;
for i := 0 to n - 1 do
s := s + (sign / (2 * i + 1));
sign := - sign;
end;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата(volvo @ 4.12.2006 14:48) *

s := 1; sign := -1;
for i := 0 to n - 1 do
s := s + (sign / (2 * i + 1));
sign := - sign;
end;


volvo спасибо. А s и sign объявлять как Integer? или Real?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






S само собой - вещественного, ибо есть деление, а Sign достаточно чтобы был Integer... Хотя нет, даже ShortInt подойдет (один байт экономия) smile.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость







Program summa_n;
Var i, n, sign: Integer;
s: Real;
Begin
s:=1; sign:=-1;
for i:=0 to n-1 do
begin
s:= s + (sign/(2*i+1));
sign:=-sign;
end;
Writeln('Summa elementov ryada ravna: ',s);
Readln;
end.


вот. Надеюсь все верно? а то что он выдает 1.000000000000E+00 это нормально? так и должно быть?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
Надеюсь все верно?


А n-то у тебя чему равно ?

Цитата
а то что он выдает 1.000000000000E+00 это нормально?


Это нормально smile.gif В экспоненциальной форме просто, поставь

Writeln('Summa elementov ryada ravna: ',s:5:3);


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Цитата(klem4 @ 4.12.2006 16:07) *

А n-то у тебя чему равно ?

не знаю.... а чему оно должно быть равно?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость







Program summa_n;
Var i, n, sign: Integer;
s: Real;
Begin
Writeln('Vvedite kol-vo elementov ryada');
Readln(n);
s:=1; sign:=-1;
for i:=0 to n-1 do
begin
s:= s + (sign/(2*i+1));
sign:=-sign;
end;
Writeln('Summa elementov ryada ravna: ',s:5:3);
Readln;
end.


Вот! Сделал как в примере. Работает. Вроде правильно?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость







Program summa_n;
Var i, n, sign: Integer;
s: Real;
Begin
Writeln('Vvedite kol-vo elementov ryada');
Readln(n);
s:=1; sign:=-1;
for i:=0 to n-1 do
begin
s:= s + (sign/(2*i+1));
sign:=-sign;
end;
Writeln('Summa elementov ryada ravna: ',s:5:3);
Readln;
end.


Это точно решение этой задачи Вычислить сумму первых n членов ряда 1 - 1/1 + 1/3 - 1/5 +... ???
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






Ну, давай еще раз 15 переспросим dry.gif
А это ТОЧНО то, что тебе нужно? Может у тебя задание другое, и ты его неправильно прочел?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гость






Понятно... smile.gif Я на другом форуме по турбо паскалю тоже попросил помочь с этой задачкой. Там мне написали код. Вот он:

for i:=1 to n do
begin
if i mod 2 =0
then buf:=-1/i
else buf:=1/i;
summ:=summ+buf;
end;

buf, summ: real;
i: word;


Он совсем другой и результаты работы получаются разные... Кому верить? Как правильно?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


А провести ручной расчет и убедиться что на другом форуме тебя обманули не судьба ?

Пуск -> Программы -> Стандартные -> Калькулятор

удачи.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


или головой подумать, что в задании про четные знаменатели вообще ни слова нет....


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 13.11.2024 18:35
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name