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
Fin

Mê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
Fin

Exercices 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