Algorithmique/Forme d'écriture

Leçons de niveau 14
Une page de Wikiversité, la communauté pédagogique libre.
Début de la boite de navigation du chapitre
Forme d'écriture
Icône de la faculté
Chapitre no 4
Leçon : Algorithmique
Chap. préc. :Preuve d'arrêt
Chap. suiv. :Fonction
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « Algorithmique : Forme d'écriture
Algorithmique/Forme d'écriture
 », n'a pu être restituée correctement ci-dessus.

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 en paramètre et retourne le produit des entiers strictement positifs inférieurs ou égaux à . Elle se note .

Condition d'arrêt[modifier | modifier le wikicode]

La condition d'arrêt est le point précis de la fonction qui met fin à la procédure voulu. Ex : (forme itérative) la boucle while (tant que).

---int veut exprimer que c'est un nombre entier, result le nom de la variable donnée (les nom des variables sont représentatifs pour celui qui crée la fonction, mais l'ordinateur l'associe tout le long de la fonction écrite, on aurait pu l'appeler X cela ne changerait rien).---

int result = 10; -----Variable X égale à dix--------

int sum = 1; -----Variable Y égale à un---------


Tant que (condition d'arrêt---variable X est plus grand que zéro---)----la fonction sera exécutée en boucle tant que X ne soit pas égale à 0----


result et sum, qui sont dans la boucle, seront exécutés par la suite, il vérifie si la condition est atteinte, si oui cela met fin à la boucle, sinon elle exécute à nouveau les variables result et sum, vérifie la condition temps et aussi longtemps que la condition soit atteinte.


while ( result > 0 ) {

result = result - 1 ;--------Variable X égale à X - 1 (dans cet exemple la variable vaut 10 donc X = 10 -1, au prochain tour la variable vaut 9 donc x = 9 - 1)-------

sum = sum + sum ;---------Variable Y égale à Y + Y donc Y = 1 + 1, au prochain tour Y = 2 + 2 , le tour suivant Y = 4 + 4, jusqu'à temps que la condition d'arrêt soit atteinte.---------

}

Forme itérative[modifier | modifier le wikicode]

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 de l'exemple
Fin de l'exemple

Remarque : Nous aurions pu initier i à 1 et le faire croître.

Forme récursive[modifier | modifier le wikicode]

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 peut s'avérer plus simple d'écriture. La condition d'arrêt est de plus grandement utilisée.

Voici la fonction factorielle(x) en récursif :

Début de l'exemple
Fin de l'exemple