Текущий архив: 2007.12.09;
Скачать: 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 вся ветка
Текущий архив: 2007.12.09;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.033 c