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.