КИТА unofficial

Ваши интересы => Викторины и конкурсы => Тема начата: LazarusLong от Ноябрь 17, 2008, 07:00:57



Название: Искусство программирования (задача 9)
Отправлено: LazarusLong от Ноябрь 17, 2008, 07:00:57
Дан текст программы, требуется определить, сможет ли выполнение программы  завершиться когда-либо. Альтернативой этому является то, что она работает всё время без остановки.


Название: Re: Искусство программирования (задача 8)
Отправлено: vimmax от Ноябрь 19, 2008, 11:04:24
э прикольно,
а исключения считаются ?

видел код, когда все блоки программы были взяты в try ... catch, чтобы программа не могла вылететь
еще ставят watch dog карты или аппаратные таймеры.


Название: Re: Искусство программирования (задача 9)
Отправлено: LazarusLong от Ноябрь 20, 2008, 06:25:44
vimmax, эта задача была придумана когда еще компьютеров не существовало в принципе. В оригинале  там звучало слово "алгоритм", а не программа.


Название: Re: Искусство программирования (задача 9)
Отправлено: tos от Ноябрь 20, 2008, 04:50:29
стоп! я чё то не пойму.
ну и где текст програмы собс-на?


Название: Re: Искусство программирования (задача 9)
Отправлено: LazarusLong от Ноябрь 20, 2008, 08:38:52
текст програмы собс-на?
на винте в файле с расширением cpp(или с другим - смотря какой язык программирования тебе удобнее. Хоть на GW-BASIC или ассемблере). Текст программы может быть любой. Нужно написать программу его анализирующую и дающую ответ: "Да. Программа остановится", "Нет. Программа зациклится".
(Отправлено в: 2008-11-20, 19:37:53)
 Поясню - текст программы - дейсвительно любой. От Hello World до сорцов ядря фряхи.


Название: Re: Искусство программирования (задача 9)
Отправлено: tos от Ноябрь 20, 2008, 08:44:26
вот так яснее.


Название: Re: Искусство программирования (задача 9)
Отправлено: LazarusLong от Ноябрь 20, 2008, 08:49:45
это радует ). Есть идеи?


Название: Re: Искусство программирования (задача 9)
Отправлено: tos от Ноябрь 20, 2008, 08:56:14
пока нету.
ещё не задумывался.
парсер исходников??
всё равно ничё не даст.
разве тока вероятность.


Название: Re: Искусство программирования (задача 9)
Отправлено: LazarusLong от Ноябрь 20, 2008, 09:01:30
Ладно, я наверно оглашу ответ, которого я ждал, так как вряд ли кто-то его скажет.

Ответ - решить данную задачу невозможно в принципе. Никак. Математически доказано Тюрьингом (обобщенная проблема остановки). Данная задача относится к классу алгоритмически не разрешимых задач

но это нужно было просто знать :)


Название: Re: Искусство программирования (задача 9)
Отправлено: tos от Ноябрь 20, 2008, 09:10:37
жжош!
+1
типа того :
"дайте определение плоскости"