Bonjour à tous,
Je vais vous expliquer comment créer et qu'est-ce qu'est qu'un algorithme.
Je tiens avant toute chose que vous alliez lire cette explication :
http://cadernis.free.fr/viewtopic.php?f=10&t=417
C'est quoi un algorithme ?
Pour répondre à cela, vive Wikipédia (ça rime en plus :p) : http://fr.wikipedia.org/wiki/Algorithme.
Pour faire simple, un algorithme est votre programme en français.
xangelx vous apprend à faire non pas un algorithme (comme il est dit) mais plutôt le déroulement du programme dans l'ordre. C'est à dire l'organigramme de l'algorithme.
Ça deviens complexe :fool: !
Non pas du tout, en fait c'est très simple, vous avez juste à suivre la méthode prescrite en dessous pour tout vos programmes.
On commence !
Il faut savoir ce que vous faites. Pour mon exemple, j'ai pris un sujet exterieur au bots et à l'univers d'internet, et ce sujet est l'addition de 2 nombres grâce à Google. Comme on ne sait pas avec quel langage on va développer notre application il faut qu'elle soit interopérable avec tout les langages que l'on connais.
Et ensuite ?
Il faut savoir comment on fait les algorithmes et comment notre programme va se dérouler.
Comment on fait les algorithmes ?
Alors, pour faire un algorithme, munissez vous d'une feuille et d'un crayon de papier. La version main est beaucoup plus confortable que la version informatique (si si je vous le dis :yes: ).
Ensuite, sachez que chaque algorithme se doit d'avoir comme base un algorithme et un lexique.
Oui oui, on dit d'un algorithme qu'il est composé d'un algorithme et d'un lexique, c'est assez choquant au début mais vous vous y ferais vite.
Alors, l'algorithme de l'algorithme que nous appellerons à défaut son corps se doit d'être composé de 3 choses minimums :
Cliquez pour révéler
Cliquez pour masquer
Algo NomDeLalgo
Début
// programme
Fin
Nous soulignerons tout les mots-clefs et mettrons en couleur les mots les plus importants pour pouvoir lire plus facilement votre algorithme.
Le lexique doit quand à lui doit se présenter sous la forme d'un tableau tel que :
| Nom | Type | Description |
|truc | entier| la description de truc| (ça devrais être un tableau mais je ne sais pas comment en insérer un).
Il contiendras nos variables que nous allons utiliser dans notre programme.
Comment notre programme va se dérouler ?
Là on va se demander comment va se passer notre programme, on va réfléchir et on va décider des évènements à faire dans l'ordre.
Pour notre programme on doit faire :
Taper deux nombre puis appuyer sur entrée
Mais cela c'est le gros œuvre, il nous faut être plus précis :
Aller dans la barre de Google
Taper le premier nombre
Taper le "+"
Taper le second nombre
Appuyer sur "Entrée"
Vous voyez, pour une si simple opération, il nous faut déjà décomposer notre programme en 5 sous parties.
C'est quand qu'on commence ?
Eh ben c'est tout de suite ! alors, on suit mes conseils et on fait le corps.
En étape 1 on choisi le nom de notre algorithme. Moi j'ai choisi AddGoogle comme Addition Google. Le titre doit être explicite.
Cliquez pour révéler
Cliquez pour masquer
Pour chaque étape suivante, on crée un bout d'algorithme à insérer dans notre corps.
Morceau de corps N°1 : Aller dans la barre de Google
Ici pas de code puisque
comme tout le monde, quand
vous allez sur la page de Google
La champ est déjà en focus.
Morceau de corps N°2 : Taper le premier nombre
Ici on s'en fout de comment l'utilisateur va saisir ses nombres, nous tous ce que l'on veut c'est qu'il le saisisse. Alors on note :
Saisir ( truc ) pour saisir un truc
On souligne "Saisir" car c'est un mot-clef et on met en vert "truc" car c'est une variable. Comme nous avons une variable, il nous faut remplir notre lexique. Voici le code de ce morceau :
Cliquez pour révéler
Cliquez pour masquer
Morceau de corps N°3 : Taper le "+"
On doit ajouter le "+" automatiquement, donc on n'as pas le droit de demander à l'utilisateur de saisir le "+". Ainsi, on doit faire une concaténation de chaine de caractère. Une chaine de caractère est une suite de mot et la concaténation ça veut dire mettre à la suite. Comme quand vous avez une locomotive et que vous ajouter des wagons pour faire un train. Ainsi ça va nous donner :
Cliquez pour révéler
Cliquez pour masquer
message <-- message + "+"
bien sur, message doit être déclaré de type chaine de caractère et l'on le rajoute dans le lexique.
"<--" sert à affecter une valeur à une variable. Vous l'utiliserais beaucoup de fois.
Morceau de corps N°4 : Taper le second nombre
là c'est pareil que pour le 1er, donc on demande à l'utilisateur de saisir et en plus on l'ajoute à notre message.
Cliquez pour révéler
Cliquez pour masquer
Saisir ( nombre2 )
message <-- message + nombre2
Morceau de corps N°5 : Appuyer sur "Entrée"
Il nous suffis de dire à l'ordinateur d'appuyer sur "Entrée"
Cliquez pour révéler
Cliquez pour masquer
Mais le mot-clef Press n'est pas du même type que le mot-clef Saisir. Ce n'est pas un mot clef mais un module que l'on déclare ainsi :
Press ("touche") : Appuis sur une touche.
J'ai fini !
Maintenant que l'on a terminé toutes les parties, on va les assemblés pour former notre programme. Ça nous donne :
Cliquez pour révéler
Cliquez pour masquer
Algo AddGoogle
Début
Saisir (nombre1)
message <-- message + "+"
Saisir (nombre2)
message <-- message + nombre2
Press ("Entrée")
Fin
Vous pensez que c'est finis ? eh non malheureux !
Notre programme ainsi, on est sûr que ça va bugé car on as pas bien réfléchis au début.
Le nombre 1 devrais être affecté tout de suite dans la variable message et non pas ne rien faire. On corrige nos petites fautes :
Cliquez pour révéler
Cliquez pour masquer
Algo AddGoogle
Début
Saisir (nombre1)
message <-- nombre1
message <-- message + "+"
Saisir (nombre2)
message <-- message + nombre2
Press ("Entrée")
Fin
Là notre algorithme est correcte, cependant il est très lourd et y'as des choses qui ne servent à rien.
De plus, il faut savoir que lorsque l'on modifie une variable par elle-même, il faut l'initialiser en début de programme. Comment l'initialiser ? c'est très simple, c'est en faite la mettre sur la valeur par lequel la variable dois commencer. En règle générale on initialise une variable de type chaine de caractère par une chaine vide : "", un variable de tout les type de nombre par 0 et une variable de type booléenne par FAUX.
C'est bien beau tout ça mais après ?
ben après vous faites la retranscription dans le langage de votre choix mais assurez vous que votre programme soit le plus léger et le plus facile pour être vite interpréter par l'ordinateur. L'algorithme donnée plus haut n'est pas des plus légers et n'est pas du tout performant, avouons le, mais il répond au problème demandé et c'est en ce sens que l'algorithme doit être fait.
Ce qu'il faut retenir :
Un bon algorithme permet de trouver ses erreurs
il doit être clair et être entièrement en français !
plusieurs algorithmes sont valable pour le même problème
PS : sans la possibilité de faire un tableau, je ne peut vous fournir de lexiques convenables mais sachez ne pas mélanger les types de données (voir prochainement "sujet sur les types de données").
Par sheik54