Outils pour utilisateurs

Outils du site


microalg:recursion_infinie

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

microalg:recursion_infinie [2015/08/28 09:06] (Version actuelle)
Ligne 1: Ligne 1:
 +# Récursion infinie
  
 +Le programme suivant tourne, en théorie, infiniment longtemps.
 +
 +(MicroAlg "​rec-inf"​ {"​version":​ "​0.3.17"​})
 +(Definir (Boucle)
 +    "​Commande récursive idiote."​
 +    "​ProfGra"​
 +    (Boucle)
 +    (Retourner Rien)
 +)
 +(Boucle)
 +(/MicroAlg)
 +
 +Sauf que la machine sur laquelle il tourne n'a pas une mémoire vive infinie,
 +et donc il finira par s'​arrêter.
 +
 +Heureusement pour nous, la plupart des langages autorisant la récursion
 +ont un mécanisme de protection et le programme ne *plante* que de façon
 +inoffensive. Suivant la façon dont vous exécuterez ce programme (dans
 +différents navigateurs ou avec
 +[la version utilisant Java](https://​github.com/​Microalg/​Microalg/​blob/​v0.2.5/​INSTALL.md#​scite-avec-java)),​
 +différentes erreurs vont apparaître quand le nombre d'​appels
 +récursifs aura dépassé une certaine limite.
 +
 +Il est malheureusement rarement possible de modifier cette valeur (comme [en Python](https://​docs.python.org/​2/​library/​sys.html#​sys.setrecursionlimit)). Pour
 +les curieux, voici [une page](http://​sandbox.javascriptrules.com/​stackoverflow/​)
 +qui indique la limite du nombre d'​appels pour votre navigateur.
microalg/recursion_infinie.txt · Dernière modification: 2015/08/28 09:06 (modification externe)