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

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

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

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


Гость






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


Гость






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


Гость






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

s := 1; sign := -1;
for i := 0 to n - 1 do
s := s + (sign / (2 * i + 1));
sign := - sign;
end;
 К началу страницы 
+ Ответить 
StudentTNGU
сообщение 4.12.2006 15:36
Сообщение #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?
 К началу страницы 
+ Ответить 
volvo
сообщение 4.12.2006 15:44
Сообщение #5


Гость






S само собой - вещественного, ибо есть деление, а Sign достаточно чтобы был Integer... Хотя нет, даже ShortInt подойдет (один байт экономия) smile.gif
 К началу страницы 
+ Ответить 
StudentTNGU
сообщение 4.12.2006 16:04
Сообщение #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 это нормально? так и должно быть?
 К началу страницы 
+ Ответить 
klem4
сообщение 4.12.2006 16:07
Сообщение #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 
 К началу страницы 
+ Ответить 
Гость
сообщение 4.12.2006 16:17
Сообщение #8


Гость






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

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

не знаю.... а чему оно должно быть равно?
 К началу страницы 
+ Ответить 
StudentTNGU
сообщение 4.12.2006 16:21
Сообщение #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.


Вот! Сделал как в примере. Работает. Вроде правильно?
 К началу страницы 
+ Ответить 
Гость
сообщение 4.12.2006 16:31
Сообщение #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 +... ???
 К началу страницы 
+ Ответить 
volvo
сообщение 4.12.2006 17:58
Сообщение #11


Гость






Ну, давай еще раз 15 переспросим dry.gif
А это ТОЧНО то, что тебе нужно? Может у тебя задание другое, и ты его неправильно прочел?
 К началу страницы 
+ Ответить 
StudentTNGU
сообщение 4.12.2006 18:31
Сообщение #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;


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


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

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

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


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

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

удачи.


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


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

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

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


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


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

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

 



- Текстовая версия 21.07.2025 10:28
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"