« Algorithmique/Forme d'écriture » : différence entre les versions
Aucun résumé des modifications |
maintenance |
||
Ligne 1 : | Ligne 1 : | ||
{{Chapitre |
{{Chapitre |
||
| titre = Forme d'écriture |
|||
| idfaculté = informatique |
| idfaculté = informatique |
||
| leçon = [[../]] |
|||
| numero = 4 |
| numero = 4 |
||
| précédent = [[../Preuve d'arrêt |
| précédent = [[../Preuve d'arrêt/]] |
||
| suivant = [[Introduction générale à la programmation]] |
|||
| niveau = 13 |
| niveau = 13 |
||
}} |
}} |
Version du 13 mars 2011 à 16:43
Un même algorithme peut être écrit de différentes manières, selon les compétences ou les goûts de son auteur. On remarque cependant deux grandes familles : la forme itérative et la forme récursive. Avant la présentation de ces familles, nous détaillerons ce qu'est la condition d'arrêt.
Fonction factorielle : Tout au long de cette leçon, nous utiliserons comme exemple la fonction mathématique factorielle. Cette fonction prend un entier x en paramètre et réalise le produit des entiers inférieurs ou égaux à x. Elle se note x!.
Condition d'arrêt
Forme itérative
Un algorithme itératif est basé sur les procédures d'itération que sont le Tant que et le Pour. Il réalise donc une boucle jusqu'à ce que la condition d'arrêt soit respectée.
Voyons l'exemple de la fonction factorielle(x) en itératif :
Début
i = x
resultat=1
Tant que i supérieur ou égal à 1
.....resultat = resultat * i
.....i = i-1
Fin tant que
renvoyer resultat
Fin
Nota : Nous aurions pu initier i à 1 et le faire croitre.
Forme récursive
L'algorithme récursif, lui, est basé sur la récursivité mathématique. Il demande plus d'intuition de la part de son auteur mais est, dans la plupart des cas, plus simple d'écriture. La condition d'arrêt est de plus grandement utilisée.
Voyons maintenant factorielle(x) en récursif :