гибкий цикл

Страницы: 1
RSS
гибкий цикл
 
Господа, помогите пожалуйста советом. Хочу написать гибкий цикл, в котором можно возвращаться на шаг назад, и перебирать данные с разным шагом.
Постарался описать это здесь:
Код
iterations=20
start=0
finish=100
step=(finish-start)/iterations
for i=start,finish,step do
--делаем расчёт.
   if profit>0 then
      --возвращаемся на step назад
      --iterations=100 (шаг становится более мелким)
   end
end
то есть если я при переборе большого массива данных (слепки стакана) наткнулся на прибыльный участок, то я хочу проанализировать его тщательно, с более мелким шагом.
А потом, когда снова пошли убыточные участки, хочу вернуться на прежний шаг - обычный.  
 
iterations=20
k=0
finish=100

for j=1,1000000 do
     start=k
     step=(finish-start)/iterations
         for i=start,finish,step do
         --делаем расчёт.
            if profit>0 then
               k=i-1 --возвращаемся на step назад
               iterations=100 --(шаг становится более мелким)
               break
            end
         end
   if i==finish then break
end
Не проверял. Но, возможно, как направление мысли.
 
после чая увидел пару ошибок (i-локальная в цикле)
исправляю на

iterations=20;
k=0;
finish=100;
flag=true;
while flag do
start=k;
step=(finish-start)/iterations;
 for i=start,finish,step do
  if i==finish then
   flag=false;
  end;
           --делаем расчёт.
  if profit>0 then
   k=i-1; --возвращаемся на step назад
   iterations=100; --(шаг становится более мелким)
   break;
  end;
 end;
end
 
Спасибо!
Очень полезный ответ!
Страницы: 1
Читают тему
Наверх