Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.08;
Скачать: CL | DM;

Вниз

эврестический алгоритм   Найти похожие ветки 

 
Lokk   (2005-12-18 11:12) [0]

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


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

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


 
Virgo_Style ©   (2005-12-18 12:07) [2]

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


 
Lokk   (2005-12-18 12:13) [3]

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


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


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

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

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


 
Lokk   (2005-12-18 12:28) [5]

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


 
Anatoly Podgoretsky ©   (2005-12-18 12:31) [6]

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


 
Lokk   (2005-12-18 12:35) [7]

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


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


> 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 13:11) [9]

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


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


> Lokk   (18.12.05 13:11) [9]

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



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

Текущий архив: 2006.01.08;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
2-1135102926
Lenik
2005-12-20 21:22
2006.01.08
Как сделать недоступным элемент combobox а


5-1120567784
Priest
2005-07-05 16:49
2006.01.08
Как программно открыть редактор коллекции свойства


2-1134913614
newhite
2005-12-18 16:46
2006.01.08
Перенос компонентов с формы на форму


5-1120815943
hair
2005-07-08 13:45
2006.01.08
иерархический dbgrid


2-1135078221
Crass
2005-12-20 14:30
2006.01.08
Скопировать фрагмент файла в новый файл