program fibonacci-memo; cons undef = -1; {valeur qui n'est jamais employee et qui signifie une valeur non definie} cons maxIndice = 20; var memoArray : packed array[0..maxIndice] of integer; function fibonacci(var n : integer) : integer; {Pre: 0 <= n <= maxIndice} begin if n < 2 then fibonacci := n; else fibonacci := fibonacciMemo(n-1) + fibonacciMemo(n-2); end; function fibonacciMemo(var n : integer) : integer; {Pre: 0 <= n <= maxIndice} begin if memoArray[n] = undef then memoArray[n] := fibonacci(n);{il est necessaire de calculer la valeur} fibonacciMemo := memoArray[n];{la valeur est deja calculee} end; {main program} begin var i : integer; var j : integer; j:=20; for i:=0 to maxIndice do memoArray[i]:=undef; writeln('Fibonacci(', j, ') = ', fibonacci(j)); end.
Merge Sort Exemple de tri par fusion
Selection Sort Exemple de tri par sélection
Suite de Fibonacci Exemple de récursion en Pascal
Suite de Fibonacci Exemple de méoïsation en Pascal
Tous les extraits
Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.
9 mots clés dont 5 définis manuellement (plus d'information...).
Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.
Recherche (afficher)
Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
Citation (masquer)