Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.10.2008, 20:08
boxep boxep вне форума
Прохожий
 
Регистрация: 20.10.2008
Сообщения: 49
Репутация: 10
По умолчанию мне тут задали задание...несооброжу

Вводится точность e. Вычислить сумму ряда Вычисления продолжать до тех пор, пока очередное слагаемое не станет меньше e. Вывести рядом и сравнить с полученной суммой
Помогите составить код....

Последний раз редактировалось boxep, 20.10.2008 в 20:12.
Ответить с цитированием
  #2  
Старый 20.10.2008, 20:19
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Вот пример
Код:
sum := 0;

repeat
 slag := ; // вычисляешь следующее слагаемое
 sum := sum + slag; // общая сумма
until slag <= e;
Ответить с цитированием
  #3  
Старый 20.10.2008, 20:30
boxep boxep вне форума
Прохожий
 
Регистрация: 20.10.2008
Сообщения: 49
Репутация: 10
По умолчанию

Цитата:
Сообщение от Drozh
Вот пример
Код:
sum := 0;

repeat
 slag := ; // вычисляешь следующее слагаемое
 sum := sum + slag; // общая сумма
until slag <= e;

чему равен slag? и как потом сравнуть?
Ответить с цитированием
  #4  
Старый 20.10.2008, 20:54
boxep boxep вне форума
Прохожий
 
Регистрация: 20.10.2008
Сообщения: 49
Репутация: 10
По умолчанию

Кажется сделал
Цитата:
var n:integer; e,dr,sum:extended;

begin
e:=StrToFloat(Edit1.Text);
sum:=0;
dr:=1;
n:=-1;
repeat
sum:=sum+dr;
inc(n,2);
dr:=1/n;
until dr<e;
showmessage(FloatToStr(sum));
end;

Почему то значение всегда равно 1, что не так?
Ответить с цитированием
  #5  
Старый 20.10.2008, 21:02
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

А что за ряд, то?
Ответить с цитированием
  #6  
Старый 20.10.2008, 21:27
boxep boxep вне форума
Прохожий
 
Регистрация: 20.10.2008
Сообщения: 49
Репутация: 10
По умолчанию

Цитата:
Сообщение от Drozh
А что за ряд, то?
Ну вот такой задали
Ответить с цитированием
  #7  
Старый 20.10.2008, 21:34
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Напиши сюда ряд, посмоторим
Ответить с цитированием
  #8  
Старый 20.10.2008, 21:37
boxep boxep вне форума
Прохожий
 
Регистрация: 20.10.2008
Сообщения: 49
Репутация: 10
По умолчанию

Цитата:
Сообщение от Drozh
Напиши сюда ряд, посмоторим
так вот он, получается сначала прибавляем 2, потом отнимаем 2, знаменатель дроби
Ответить с цитированием
  #9  
Старый 20.10.2008, 21:54
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

По коду у тебя выходит:
1 + 1 + 1/3 + 1/5 ...
Ответить с цитированием
  #10  
Старый 20.10.2008, 21:56
boxep boxep вне форума
Прохожий
 
Регистрация: 20.10.2008
Сообщения: 49
Репутация: 10
По умолчанию

Цитата:
Сообщение от Drozh
По коду у тебя выходит:
1 + 1 + 1/3 + 1/5 ...
а да точно, а надо чтобы прибавляло и отнимало, голова кипит уже не как не пойму.... как сделать
Ответить с цитированием
  #11  
Старый 20.10.2008, 22:20
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

т.е. 1 - 1 + 1/3 - 1/5 ....
Код:
var 
 n, i: integer;
 e,dr,sum: extended;

begin
e:=StrToFloat(Edit1.Text);
sum:=0;
dr:=1;
n:=-1;
i := 1

repeat
sum:=sum+dr;
inc(n,2);
i := -i
dr:=i/n;
until dr<e;

showmessage(FloatToStr(sum));
end;
Ответить с цитированием
  #12  
Старый 20.10.2008, 22:30
boxep boxep вне форума
Прохожий
 
Регистрация: 20.10.2008
Сообщения: 49
Репутация: 10
По умолчанию

Цитата:
Сообщение от Drozh
т.е. 1 - 1 + 1/3 - 1/5 ....
Код:
var 
 n, i: integer;
 e,dr,sum: extended;

begin
e:=StrToFloat(Edit1.Text);
sum:=0;
dr:=1;
n:=-1;
i := 1

repeat
sum:=sum+dr;
inc(n,2);
i := -i
dr:=i/n;
until dr<e;

showmessage(FloatToStr(sum));
end;
Ой спасибо большое, а как потом сравнить с ?

Последний раз редактировалось boxep, 20.10.2008 в 22:37.
Ответить с цитированием
  #13  
Старый 20.10.2008, 23:21
boxep boxep вне форума
Прохожий
 
Регистрация: 20.10.2008
Сообщения: 49
Репутация: 10
По умолчанию

Цитата:
Сообщение от boxep
Ой спасибо большое, а как потом сравнить с ?
Цитата:

p:=3.14
if p/4<sum then
showmessage(' p меньше')
else
showmessage('P больше')
так должно выглядеть сравнение?

Последний раз редактировалось boxep, 20.10.2008 в 23:30.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:47.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter