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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2010, 19:46   #1
Repac123456
Пользователь
 
Аватар для Repac123456
 
Регистрация: 24.10.2010
Сообщений: 27
По умолчанию В самой проге не выполняется цикл.

Текст программы
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
x,e,p,t,s: real;
i: integer;

begin
x:= StrToFloat(Edit1.text);
e:= StrToFloat(Edit2.text);
p:=x;
i:=1;
s:=x;
if Abs(p)>e then
begin
i:= i+1;
t:=x*(1-(3/(2*i*i+i)));
p:= p*t;
s:=s+p;
end
else
begin
Edit3.text:= FloatToStr(s);
end;
end;
end.
программа исправно работает работает при Abs(p)<e изначально , тоесть при вводе х<е но при х>е прога не работает.
Не мог ли бы указать пжалуйста щито не так?!

Последний раз редактировалось Stilet; 15.11.2010 в 20:12.
Repac123456 вне форума Ответить с цитированием
Старый 15.11.2010, 20:02   #2
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

Repac123456 А как вы определяете что прога работает не правильно???

Код:
if Abs(p)>e then  //если модуль р больше е то
 begin
  i:= i+1;                         //к i прибавить 1
  t:=x*(1-(3/(2*i*i+i))); //вычислить t
  p:= p*t;                        //умножить p на t
  s:=s+p;                         //к s прибавить t
 end                                 //конец. А где, например отобразить результат или что-то подобное? Прога просто находит числа i,t,p и s   и всё!!!
else
 begin  //если модуль p < e то
  Edit3.text:= FloatToStr(s);   //вывести на  экран s. Это единственная запись, которая что-то отображает!
 end;
Хакинг - не преступление, а способ выживания.

Последний раз редактировалось Stilet; 15.11.2010 в 20:13.
Ghost of Night вне форума Ответить с цитированием
Старый 15.11.2010, 20:19   #3
Repac123456
Пользователь
 
Аватар для Repac123456
 
Регистрация: 24.10.2010
Сообщений: 27
По умолчанию

Во первых при запуске проги при Abs(p)<e изначально она выдаёт за сумму х, тоесть при вводе х<е, но при х>е прога не работает(не выдаёт значения суммы).
Во 2-х мне нужен вывод конечной суммы, промежут. значения ни к чему.
Repac123456 вне форума Ответить с цитированием
Старый 15.11.2010, 20:54   #4
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

У вас в самой процедуре на предусмотрен какой-либо вывод при Abs(p)>e.
Как я уже говорил, прога вычисляет значения и завершает работу.
Чтобы был вывод, нужно исправить код примерно так:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 x,e,p,t,s: real;
 i: integer;

begin
 x:= StrToFloat(Edit1.text);
 e:= StrToFloat(Edit2.text);
 p:=x;
 i:=1;
 s:=x;
 if Abs(p)>e then
  begin
   i:= i+1;
   t:=x*(1-(3/(2*i*i+i)));
   p:= p*t;
   s:=s+p;
  end;
 Edit3.text:= FloatToStr(s);  
end;
end.
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 15.11.2010, 20:55   #5
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

Теперь вывод s будет при любом Abs(p).
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 15.11.2010, 22:10   #6
Repac123456
Пользователь
 
Аватар для Repac123456
 
Регистрация: 24.10.2010
Сообщений: 27
По умолчанию

спасибо за помощь.
Repac123456 вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не выполняется весь цикл alexeevich PHP 3 30.08.2010 11:52
Pascal. нахождения самой длинной возрастающей подпоследовательности nemeli Помощь студентам 5 16.02.2010 16:12
Цикл по времени - Как сделать так чтобы цикл выполнялся к примеру 10 секунд ? Anarki Общие вопросы C/C++ 3 13.11.2009 19:23
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34