Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

эврестический алгоритм [D7]


Lokk ©   (2005-12-18 11:12:00) 

Народ подскажите плиз, есть алгоритм где имеется несколько проверок, проблема в том что при выполнении каждой последующей проверки условия надо заново проверять все предыдущие и к следующему пункту переходим только в том случае если все предыдущие удачны. если использовать конструкцию if ... then то как возвращатсья обратно?? может можно как-то по другому?


Набережных С.   (2005-12-18 13:54:00) [1]


> Lokk   (18.12.05 13:11) [9]

Вот и придумай. Эта простейшая задача не только для гигантов мысли.


Lokk   (2005-12-18 13:11:00) [2]

видимо тогда надо придумать как обрабатывать зацикливание....то есть бесконечность, например, может так случится что преподаватель всегда занят а из цикла выйти надо....


Набережных С.   (2005-12-18 13:05:00) [3]


> Lokk   (18.12.05 12:35) [7]
> может быть...
> так как сделать то?:))))

Видимо, что-то вроде этого:

Result:= false;
repeat
 SetNextValue;
 if Condition1 then
   if Condition2 then
     if Condition3 then
       if Condition4 then Result:= true;
until Result;

Только смотри, чтобы цикл не оказался бесконечным.


Lokk   (2005-12-18 12:35:00) [4]

может быть...
так как сделать то?:))))


Anatoly Podgoretsky   (2005-12-18 12:31:00) [5]

Lokk   (18.12.05 12:28) [5]
По описанию похоже на машину состояний - конечный автомат.


Lokk   (2005-12-18 12:28:00) [6]

вообщем суть такая, разрабатвыается система автоматического составления расписания, конечные методы из серии линейного программирования не подходят, поэтому используются эвристические методы полного перебора.
у меня четрые условия, при выполнении первого условия переходим ко второму, если второе условие не выполняется меняем значение одной переменной и проверяем первое условие и так четрые раза . Да, эта переменная во всех четырех условиях одна и та же


Набережных С.   (2005-12-18 12:21:00) [7]


> Lokk   (18.12.05 11:29) [1]
> никто не разбирается в эврестических алгоритмах?
> я бы даже сказал что это простой полный перебор

Есть, конесно, вероятность, что я просто непроходимо глуп, но она все-таки не слишком велика, мне кажется. Но, так или иначе, я практически ничего не понял в [0]:(
Правда, у меня почему-то возникли ассоциации с конечным автоматом, может это - оно самое?

PS Меня всегда удивляло, как можно заниматься программированием, не умея формально формулировать собственные мысли, извините за тавталогию.


Lokk   (2005-12-18 12:13:00) [8]

так вот и вопрос в этом и состоит...
какие циклы организовывать...
for??
или while
или
repeat
как алгоритм в котором одни if переделать в циклы? ничего на ум не приходит


Virgo_Style   (2005-12-18 12:07:00) [9]

Если религия запрещает пользоваться goto, то остаются циклы


Lokk   (2005-12-18 11:29:00) [10]

никто не разбирается в эврестических алгоритмах?
я бы даже сказал что это простой полный перебор


Наверх

Титульная страница Поиск, карта сайта Написать письмо