|
|
#1 |
|
Участник
|
Народ!
Кто-нибудь реально сталкивался с необходимостью написания рекурсивных функций в Навижине? Есть примеры? |
|
|
|
|
#2 |
|
NavAx
|
А в чем проблемы? Пишутся элементарно, как в Паскале.
Правда, есть недостаток - стек слабый. Функия Аккермана в 3.01 у меня загибалась, кажется, на (3, 4)
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
|
|
|
#3 |
|
Участник
|
в 3.7А проблем не наблюдалось. Как сказал ув. Дуд пишется как в Паскале
|
|
|
|
|
#4 |
|
Участник
|
Я проверял рекурсию в 2.5. сталкивался с какими-то странными сообщениями при количестве уровней вложенности больше 1000.
![]() Тестил на чем-то вроде F(i) { I+=1; message(format(i)); myCU.F(i); } |
|
|
|
|
#5 |
|
Участник
|
Цитата:
а могут ли быть проблемы с памятью, если вызывать несколько раз за сеанс работы с Навиженном при небольшой глубине рекурсии (до 10)? |
|
|
|
|
#6 |
|
NavAx
|
Не должно быть проблем
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
|
|
|
#7 |
|
Moderator
|
Вот такой код вызывает крэш без всяких ошибок:
OnRun() Window.OPEN('#1############'); myFunc(); myFunc() Counter+=1; Window.UPDATE(1,Counter); IF Counter>700 THEN SLEEP(100) ELSE SLEEP(10); IF Counter=1000 THEN EXIT ELSE myFunc(); На 4.0 он вылетает на 792 итерации |
|
|
|
|
#8 |
|
Участник
|
у меня 4.0 и без таких извращений вылетает постоянно
__________________
Want to believe... |
|
|
|
|
#9 |
|
Участник
|
Цитата:
Напарывался на подобное в 3.7, эскпериментальным путём было установлено, что максимальная глубина рекурсии - не помню сколько, но сильно меньше трёхста стековых записей. Больше в стек не лезет. Так что увы и ах, но способа обойти траблу не было найдено. Разве что реализовывать "внутрипрограммный" стек самостоятельно, а это уже из области иллюзионной проктологии :) |
|
|
|
|
#10 |
|
Moderator
|
Цитата:
Количество возможных вложенностей вызовов зависит от глубины стека
Цитата:
Разве что реализовывать "внутрипрограммный" стек самостоятельно, а это уже из области иллюзионной проктологии
|
|
|