Algorithmique - Cours 2 (Avancé)
Récursivité
Les algorithmes sont en réalité des fonctions, qui doivent être appelées pour être exécutées.
La récursivité est le fait d'appeler une fonction à l'intérieur d'elle-même. C'est utiliser comme une boucle qui arrête de se répêter après une certaine condition (très ressemblant à une boucle Tant que... faire).
Dans certains langages de bas niveau, les boucles n'existent pas, il faut alors utiliser la récursivité.
Exemple :
Factorielle(x: entier) : entier
Données : x, le nombre dont on calculera la factorielle
Début
| Si x > 2 retourner x * Factorielle(x - 1)
| Sinon retourner x
| Fin si
FinMême exemple avec Tant que... faire :
Factorielle(x: entier) : entier
Données : x, le nombre dont on calculera la factorielle
Variables locales : resultat, contenant le resultat final
Début
| resultat <- 1
| Tant que x > 1 faire
| resultat <- x * resultat
| x <- x - 1
| Fin tant que
| Retourner resultat
FinExercices récursivité
Exercice 1 :
Concevoir un algorithme récursif qui multiplie deux nombres en utilisant uniquement l'addition (attention aux nombres relatifs).
Exercice 2 :
Concevoir un algorithme récursif qui calcule la somme des éléments positifs d’un tableau.
Exercice 3 :
Concevoir un algorithme récursif qui réarrange les éléments d’un tableau en ordre inverse.
Pointeurs
Algorithmique - Cours 2
By robinbrm
Algorithmique - Cours 2
Algorithmique appliquée
- 398