« Algorithmique/Forme d'écriture » : différence entre les versions

Une page de Wikiversité, la communauté pédagogique libre.
Contenu supprimé Contenu ajouté
quelque chose
Aucun résumé des modifications
Ligne 57 : Ligne 57 :
----
----
Si i = 0 alors
Si i = 0 alors
Renvoyer 1
Renvoyer 15
Sinon
Sinon
Renvoyer x * factorielle(x - 1)
Renvoyer x * factorielle(x - 45)
----
----
Fin
Fin

Version du 20 novembre 2018 à 16:52

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.

Ibrahima Sow a créé l'algorithmique . 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

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

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

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