Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2013, 10:22   #1
Angel_dark
 
Регистрация: 30.11.2013
Сообщений: 3
По умолчанию Проблема с циклом

Здравствуйте, есть небольшая программка по вычислению суммы
n вводится с клавиатуры в поле Edt1
Проблема в том, что программа неправильно считает сумму, если задать n=2, то все будет нормально, но если другое число, к примеру 3, то результат будет -0.305(5), хотя должен быть -0.194
Код:
procedure TForm1.btn1Click(Sender: TObject);
begin
n:=StrToInt(edt1.text); 
r:=i-1;
s1:=Power((-1),r);
S:=0;
for i:=2 to n  do
begin
S:=s+(s1/((i*i)*(i-1))); 
Lbl2.Caption := FloattoStr(s);
end;

Последний раз редактировалось Stilet; 30.11.2013 в 17:29.
Angel_dark вне форума Ответить с цитированием
Старый 30.11.2013, 10:29   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
r:=i-1;
какое значение в i при вычислении?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 30.11.2013, 10:40   #3
Angel_dark
 
Регистрация: 30.11.2013
Сообщений: 3
По умолчанию

Возможно я скажу глупость, но разве i не должен быть равен 2, 3 и т.д. до того, как он будет равен n?
Angel_dark вне форума Ответить с цитированием
Старый 30.11.2013, 10:50   #4
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Цитата:


Возможно я скажу глупость, но разве i не должен быть равен 2, 3 и т.д. до того, как он будет равен n?
Вас не об этом спросили. Вы присваиваете r значение i-1. I до этого момента НИЧЕГО не присваивалось. Добрый компилятор занес в i значение 0, а может и нет.
Так что, в r у вас неизвестно что.
А то о чем вы говорите, написано у вас ниже и к этой строчке никакого отношения не имеет.

Последний раз редактировалось ZX Spectrum-128; 30.11.2013 в 10:52.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 30.11.2013, 11:04   #5
Angel_dark
 
Регистрация: 30.11.2013
Сообщений: 3
По умолчанию

Понял свою ошибку, засунул
r:=i-1;
s1:=Power((-1),r);
все в цикл и все нормально заработало
Спасибо за разъяснение
Angel_dark вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
c++ Проблема с циклом konstantusha Помощь студентам 1 01.10.2012 09:42
Проблема с циклом на СИ. hgfdd Помощь студентам 1 30.09.2012 15:54
Проблема с циклом! Ислам Помощь студентам 2 21.03.2011 00:48
проблема с циклом kiborgdelto Помощь студентам 1 16.10.2010 19:46
проблема с циклом Dima_D Общие вопросы Delphi 5 04.08.2010 16:41