Ces derniers temps, le mot algorithme est devenu trop à la mode, l’algorithme de google qui permet de référencer les pages web, l’algo de youtube qui propose les vidéos à lire juste après celle qu’on regarde, l’algorithme de facebook ou linkedin qui propose des potentiels contacts ou amis, … on peut aller même très loin en parlant des voiture autonome ou du bitcoin…
Recette en cuisine et algorithme en maths et informatique
Et je ne pense pas qu’ALKHaWARIZMI, surnommé le père de l’algèbre et l’inventeur de l’algorithmique, se doutait que son invention serait le sujet du présent article 🙂 .
Mais, qu’est-ce que c’est que les algorithmes et à quoi servent-ils ?
Alors, un algorithme en mathématique ou en informatique, c’est comme les recettes dans la cuisine.
Par exemple, pour faire un bon gâteau sablé, on commence par mettre de la farine sur le plan de travail. On rajoute du sucre. Puis un œuf. Puis du beurre et un ingrédient aromatique (vanille, citron, …). Puis on mélange. Ensuite, on prend l’emporte-pièce et on forme des jolies figures. Et enfin on enfourne pendant une quinzaine de minutes.
Et bien de la même manière, un algorithme permet tout simplement de résoudre un problème de façon hiérarchique. On décompose la résolution en plusieurs étapes successives qui, à la fin, mènent à la solution du problème.
Comme en cuisine, pour faire un plat on peut suivre différentes recettes. Et Bien en mathématiques, c’est la même chose, pour résoudre un problème, on peut utiliser différentes méthodes, et donc appliquer différents algorithmes.
Un algorithme pour résoudre des problèmes de premier degré :
Je vais donc vous présenter un algorithme qui permet de résoudre des problèmes de premier degré.
les équations dites de premier degré à une inconnue ont la forme suivante: ax+b=c, avec a, b et c sont des nombres connus et x l’inconnue de l’équation. cette équation a une solution analytique qui se calcule de la manière suivante: x=(c-b)/a.
Ce premier algorithme est très simple, il consiste à appliquer tout simplement la solution analytique de l’équation.
Les équations dont on parle ont la forme suivante : ax+b=c, x étant l’inconnue de l’équation. La solution analytique est : x = (c-b)/a.
L’algorithme est donc le suivant :
- On demande la valeur de a et on l’affecte à la variable a
- On demande la valeur de b et on l’affecte à la variable b
- On demande la valeur de c et on l’affecte à la variable c
- Puis on calcule la valeur de x en soustrayant b de c et en divisant le résultat par a.
- Et enfin, on affiche la valeur de la solution x.
Voici l’algorithme codé en python :
Je rappelle que l’instruction input demande à l’utilisateur d’entrer des valeurs au clavier.
Comment commenter un code
Comme on peut le constater dans ce script, certaines lignes sont précédées du symbole #, cela permet de ne pas prendre en considération cette ligne dans le code, ainsi on peut mettre des commentaires dans le code, il suffit de les précéder par #.
Solution de l’équation
Si l’on souhaite donc résoudre l’équation 4x+5=6. Voici la solution donnée par cet algorithme :
Voila donc, comme prévu la solution de l’équation est 0,25. Au passage, on constate que j’ai converti toutes les valeurs entrées au clavier en nombre décimaux, en précédant l’instruction input par float. Et c’est pour cette raison qu’à l’affichage final on voit des nombres à virgule.
Dans un prochain article j’introduirai les notions de boucle et de condition. J’utiliserai ces dernières pour proposer deux autres algorithmes pour résoudre cette même équation. D’ici là je vous souhaite bonne lecture et n’hésitez pas de me laisser vos impressions sur l’article