Découverte de l’algorithme

Hein ? Algo… quoi ?!

Avez-vous décrochez ou composez un numéro depuis votre téléphone ? Avez-vous déjà traduit un texte sur Google Traduction ? Vous avez donc, sans le savoir (ou pas!) déjà exécuté des algorithmes. Mais avant tout, qu’est-ce qu’un algorithme ? Un algorithme (je sais, je me répète, mais c’est pour que ça rentre!), est une suite d’instructions logiques, qui une fois exécutée correctement, conduit à un résultat clair, net et précis. Avez-vous déjà fait de la cuisine ? Suis-je bête la réponse est bien évidemment non !

Lorsque vous suivez la recette d’un gâteau (quel qu’il soit!), ce qu’on appelle les instructions, pour pouvoir réussir votre gâteau, il s’agit de les suivre dans l’ordre défini tel quel, on ne commence pas un gâteau par la cuisson pour finir avec la préparation des ingrédients ! Eh bien, l’algorithme, ça tombe bien, c’est exactement la même chose 

J’suis nul en maths, l’algo-machin, ce n’est pas pour moi !

Faux ! Pas besoin d’être bon en maths, un minimum de logique suffit (un peu de matière grise aussi, soyons honnête!)

Les bases : les variables

Pour faire court, une variable est une boîte à laquelle on associe une valeur.

Par exemple :

nombreEmail = 10

Pour afficher, ensuite, cette valeur, il suffi de l’appeler par son nom.

Par exemple :

Afficher(nombreEmail)

Cependant, la première chose à faire avant de pouvoir utiliser une variable, il faut lui coller une jolie étiquette sur le front, et elles sont nombreuses !

Booleen (ou Booléan) : valeur vrai/faux,
Entier (ou Integer) : valeur ayant pour valeur un nombre entier,
Décimal (ou Double) : valeur ayant pour valeur un nombre à virgule,
Chaine (ou String) : valeur ayant pour valeur une chaîne de caractères comprise entre 0 et 2 milliards de caractères (ça fait beaucoup!)
Et pleins d’autres, mais que je ne détaillerai pas ici…

Bref, revenons à nos moutons ! Pour notre variable intitulée « nombreEmail », ça donne ceci :

Variable
     nombreEmail : entier
Début
     nombreEmail = 10
Fin

Et si vous voulez que l’utilisateur du programme (la personne qui exécute l’algorithme) entre elle-même une valeur, par exemple son nom et son prénom, on mettra :

Variables
     nom : Chaîne de caractères
     prénom : Chaîne de caractères
Début
     Afficher("Entrer votre nom")
     Saisir(nom)
     Afficher("Entrer votre prénom")
     Saisir(prénom)
     Afficher("Votre nom :"+nom+"votre prénom:"+prenom)
Fin

Le petit signe plus (+) à l’avant-dernière ligne est ce qu’on appelle la concaténation, je me permets de citer la définition donnée par le dictionnaire Larousse : « Dans certains langages de programmation, la concaténation est un enchaînement de deux listes ou de deux chaînes de caractères mises bout à bout ». Donc pour résumé :

     Afficher("Votre nom :"+nom+"votre prénom:"+prenom)

est la même chose que :

     Afficher("Entrer votre nom")
     Saisir(nom)
     Afficher("Entrer votre prénom")
     Saisir(prénom)

Suivant le langage de programmation, la concaténation peut être un point (.), un et commercial (&) ou encore une virgule (,).

Les boucles

Elles sont au nombre de quatre, elles constituent la seule vraie structure logique caractéristique de la programmation.

La boucle SI :

Si {condition} Alors
     {instruction}
Fin Si
Variable
     nbDents : entier
Début
     Afficher("combien avez-vous de dents ?")
     Saisir(nbDents)
     Si nbDents = 32 Alors
          Afficher("Vous avez le bon nombre de dents !")
     Sinon
          Afficher("Vous devez consulter un dentiste !")
     Fin Si
Fin

La boucle POUR :

Pour {condition} de {début} à {fin} Faire {instruction}
Fin Pour
Variable
     i : entier
Début
     Pour i de 1 à 100 faire
          Afficher(i)
     Fin Pour
Fin

la boucle TANT QUE :

Tant que {condition} {instruction}
Fin Tant que
Variable
     nb : entier
Début
     Afficher("Saisir un nombre :")
     Saisir(nb)
     Tant que nb < 0 ou nb > 100
          //Tant que le nombre est inférieur à 0 ou supérieur à 100 on refait un nombre à saisir à l'utilisateur
          Afficher("Saisir un nombre :")
          Saisir(nb)
     Fin Tant que
     //Si le nombre est bien supérieur à 0 ou inférieur à 100 on affiche le nombre "nb"
     Afficher(nb)
Fin

Et la dernière boucle :

La boucle REPETER : (qui est l’opposé de la boucle « Tant Que », son principal avantage par rapport à la boucle TANT QUE est qu’on exécute l’instruction dans la boucle au moins une fois avant de faire la comparaison.)

Répéter
     {instruction}
Jusqu'à {condition}
Variable
     nb : entier
Début
     Répéter
          Afficher("Saisir un nombre :")
          Saisir(nb)
          Tant que nb < 0 ou nb > 100
          //Tant que le nombre est inférieur à 0 ou supérieur à 100 on refait un nombre à saisir à l'utilisateur
          Jusqu'à nb > 0 ou nb < 100
          //Si le nombre est bien supérieur à 0 ou inférieur à 100 on affiche le nombre "nb"
     Afficher(nb)
Fin

Voilà pour les boucles ! A la question, peut-on mettre des boucles dans des boucles, la réponse est oui, et c’est là que la programmation peut devenir compliquée (sauf si on commente son code, mais ça c’est autre chose!). Dans quels cas peut-on utiliser des boucles dans des boucles ? Dans la plupart des cas, même dans les programmes et les algorithmes les plus simples, vous serez amenés à utiliser des boucles dans des boucles, un exemple :

Variable
     rep : chaîne de caractères
     age : entier
Début
     Afficher("Etes-vous majeur (O/N) ?")
     Saisir(rep)
     Si rep = "O" Alors
          Afficher("Quel est votre age ?")
          Saisir(age)
          Si age < 100 Alors
               Afficher("Votre age :" + age)
          Sinon
               Afficher("Vous êtes trop vieux !")
          Fin Si
     Sinon
          Afficher("Vous êtes mineur !")
     Fin Si
Fin

Vous avez jusqu’ici tout suivi ? Parfait ! Vous avez donc les bases de l’algorithme et de la programmation ! Nous verrons la prochaine fois le langage PHP, alors certes comme 99,9999 % des langages, ils sont en anglais, mais remplacer le mot SI par le mot IF ne sera pas la partie la plus compliquée, je vous rassure !

C’est tout pour cette fois-ci, en espérant ne pas vous avoir totalement perdu ou écœurer de la programmation, sur ce je vous donne rendez-vous au prochain numéro !


Cet article est une republication d’un article paru dans l’édition reliée n° 3 de Mag’zine, que vous pouvez toujours aller lire ici.



Avatar photo

Rédigé par

Ancien membre de l'association.