Вниз
Скачать: CL | DM;

Цикл не работает ... ?   Найти похожие ветки 

← →
Иринка ©   (2007-11-16 20:40) [0]


 lmbd:= StrToInt(Edit1.Text);
 Tk:= StrToInt(Edit24.Text)*60*60;
 Vr_mashin_obsh:= StrToInt(Edit5.Text);
 Scale:= Tk/Vr_mashin_obsh;
 Delt:= StrToInt(Edit6.Text);
 Delt_m:= 60*Delt/Scale;

 Kl1_post:=0;
 Kl2_post:=0;


 Kl1_ochered:=0;
 Kl2_ochered:=0;
 
Vremya_tekyshee:=0;
Vremya_obsl1:= 0;
Vremya_obsl2:=0;
if Edit2.Text="2" then
begin
 repeat
   Vremya_tekyshee:= Vremya_tekyshee+Delt_m;
   Kol_post:= Kolichestvo(lmbd);
       if (Kl1_ochered > Kl2_ochered) or (Kl1_ochered = Kl2_ochered)  then
      begin
       Kl2_ochered:= Kl2_ochered+Kol_post;
        if Vremya_tekyshee > Vremya_obsl1 then
          begin
            Kl2_post:= Kl2_post + 1;
            Kl2_ochered:= Kl2_ochered - 1;
            Vr_obsl1:= Vremya_obslugivania(StrToInt(Edit3.Text)/Scale, 15/Scale);
            Vr_obsl2:= Vremya_obslugivania(StrToInt(Edit4.Text)/Scale, 20/Scale);
            Vremya_obsl1:= Vr_obsl1 + Vr_obsl2 + Vremya_tekyshee;
          end
      end
     else
      begin
       Kl1_ochered:= Kl1_ochered+Kol_post;
       if Vremya_tekyshee > Vremya_obsl2 then
          begin
            Kl1_post:= Kl1_post + 1;
            Kl1_ochered:= Kl1_ochered - 1;
            Vr_obsl1:= Vremya_obslugivania(StrToInt(Edit3.Text)/Scale, 15/Scale);
            Vr_obsl2:= Vremya_obslugivania(StrToInt(Edit4.Text)/Scale, 20/Scale);
            Vremya_obsl2:= Vr_obsl1 + Vr_obsl2 + Vremya_tekyshee;
          end
      end;

  until Vremya_tekyshee < Vr_mashin_obsh;
end;


Цикл repeat until явно не работает почему-то. Наращивание Vremya_tekyshee не происходит.

ПОчему? Подскажите, плиз


← →
Сергей С.   (2007-11-16 20:43) [1]

Потому что в этой абракадабре нигде не фигурирует модификация этого самого "Vremya_tekyshee"


← →
Джо ©   (2007-11-16 20:43) [2]

>  Vremya_tekyshee:= Vremya_tekyshee+Delt_m;

 Vremya_tekyshee:= Vremya_tekyshee+Delt_m;
;>


← →
Джо ©   (2007-11-16 20:44) [3]

> [2] Джо ©   (16.11.07 20:43)
Это я Сергею_С.

А Иринке скажу, чтобы она привела эту кашу в порядок (прежде всего, для себя), ибо никто в ней копаться не будет.


← →
Сергей С.   (2007-11-16 20:49) [4]


> Джо ©   (16.11.07 20:43) [2]


Долбаный поиск в MSE подвел)
А копаться в г..не "ручками", согласись, занятие не из приятных)


← →
Джо ©   (2007-11-16 20:57) [5]

> [4] Сергей С.   (16.11.07 20:49)
>
> > Джо ©   (16.11.07 20:43) [2]
>
>
> Долбаный поиск в MSE подвел)
> А копаться в г..не "ручками", согласись, занятие не из приятных)

В нем даже автор копаться не желает, мне-то зачем?! :)


← →
Правильный_Вася   (2007-11-16 20:58) [6]

так мож условие сразу невыполняется и выпадает из цикла после первой итерации


← →
Сергей С.   (2007-11-16 21:01) [7]


> Джо ©   (16.11.07 20:57) [5]


После твоего [2] я почуял, что и мне оно не надо)


← →
SergeyIT   (2007-11-16 22:04) [8]

The syntax of a repeat statement is

repeat statement1; ...; statementn; until expression

where expression returns a Boolean value. (The last semicolon before until is optional.) The repeat statement executes its sequence of constituent statements continually, testing expression after each iteration. When expression returns True, the repeat statement terminates. The sequence is always executed at least once because expression is not evaluated until after the first iteration.

То есть надо наверно

until Vremya_tekyshee > Vr_mashin_obsh;

и соответствующие проверки на время поставить,  а то долго считать будет


← →
SergeyIT   (2007-11-16 23:29) [9]


> а то долго считать будет

В случае ошибок



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.021 c
2-1195214661
allucard
2007-11-16 15:04
2007.12.09
Delphi + firebird


11-1180165434
Vladimir Kladov
2007-05-26 11:43
2007.12.09
Версия 2.63


15-1194442691
Elec3C
2007-11-07 16:38
2007.12.09
Для тех, у кого Win2000


2-1194902825
Blind Guardian
2007-11-13 00:27
2007.12.09
Пара вопросов о работе с динамической памятью


15-1194534907
Alral
2007-11-08 18:15
2007.12.09
MSXML 4.0 SP2 Setup




   Наверх