Pour communiquer avec un ordinateur, vous avez dâabord besoin dâun langage. Entre humains, il existe beaucoup de langues diffĂ©rentes qui ont chacune leur usage. Nous avons dâailleurs plusieurs familles de langues organisĂ©es souvent autour dâun alphabet : les langues indo-europĂ©ennes (dont le français, lâespagnol ou lâanglais), les langues sino-tibĂ©taines (dont le mandarin), les langues sĂ©mitiques (dont lâarabe), etc.
Ces langues partagent trĂšs souvent bien plus quâun alphabet. Vous voyez oĂč je veux en venir : par exemple, en français nous utilisons des verbes quand nous voulons exprimer une action. On utilise aussi des noms pour dĂ©signer les objets ou les personnes : une chaise, un tableau, une fille.
Les langages de programmation utilisent une logique trÚs semblable. Dans ce cours, nous nous intéresserons à la programmation structurée qui est un des paradigmes de programmation les plus connus.
En programmation structurĂ©e, nous dĂ©coupons un problĂšme en micro tĂąches indĂ©pendantes les unes des autres, et modulaires. Câest exactement ce que nous sommes en train de faireâ!
Une variable est une maniĂšre de faire rĂ©fĂ©rence Ă un objet. Dans le langage courant, câest exactement ce que nous appelons "nom". Quâest-ce quâun mot, sinon une Ă©tiquette que nous avons collĂ©e sur un objet pour pouvoir y faire rĂ©fĂ©rence plus tardâ? Une variable a donc une valeur, et un mot qui permet d'accĂ©der Ă cette valeur. Vous pouvez donc soit lire la valeur soit la modifier.
Nous pouvons par exemple crĂ©er deux variables dans notre algorithme pour compter le nombre de dĂ©placements et le score du joueur, quâon aura initialisĂ©s Ă 0 au dĂ©but du programme.
Vous pouvez dĂ©clarer lâensemble des variables dans le pseudo-code dans une section dĂ©diĂ©e aux variables ; cela permet de donner une indication des diffĂ©rentes variables de l'algorithme. Vous placerez cette section juste avant le mot-clé DĂ©but , comme ceci :
Algorithme DéclarerVariable
Variable
dĂ©placement â 0
score â 0
Début
FinMettons-nous dâaccord sur la maniĂšre de mettre Ă jour les variables, Ă travers ce tableau qui rĂ©sume les diffĂ©rentes possibilitĂ©s :
Action | Variable | Valeur ajoutée |
un déplacement | déplacement | +1 |
un déplacement à droite | score | +10 |
un déplacement à gauche | score | +20 |
un déplacement en haut | score | +10 |
un déplacement en bas | score | +20 |
Prenons le labyrinthe ci-dessous, et essayons de construire lâalgorithme qui permet de rejoindre la case dâarrivĂ©e. Il faudra prendre en compte la mise Ă jour de chaque variable.

Voici le pseudo-code :
Algorithme variable
Variable
dĂ©placement â 0
score â 0
Début
Déplacement à droite
dĂ©placement â dĂ©placement + 1
score â score + 10
Déplacement en haut
dĂ©placement â dĂ©placement + 1
score â score + 10
Déplacement en haut
dĂ©placement â dĂ©placement + 1
score â score + 10
Déplacement à gauche
dĂ©placement â dĂ©placement + 1
score â score + 20
FinAinsi, à la fin du jeu, la variable déplacement contient la valeur 4, et la variable score contient la valeur 50.
Ă prĂ©sent, voyons comment simplifier la mise Ă jour des deux variables en regroupant les instructions dans un seul mĂȘme bloc. Vous avez sĂ»rement pu le remarquer, nous avons dĂ» Ă©crire plusieurs fois les instructions qui permettent de changer les valeurs des deux variables.
Nous allons utiliser ce quâon appelle, en programmation, une fonction. Il sâagit dâun bloc qui regroupe plusieurs actions. Vous pouvez rĂ©utiliser ce bloc autant de fois que vous le voulez en invoquant son nom. Une fonction peut aussi ĂȘtre vue comme une moulinette qui va prendre des informations en entrĂ©e, les traiter et en renvoyer dâautres en sortie. Câest en quelque sorte un mini-algorithme.
Lorsqu'une fonction est "appelĂ©e", le programme "quitte" la section de code en cours et commence Ă Â exĂ©cuter la premiĂšre ligne Ă l'intĂ©rieur de la fonction.Â
Nous allons maintenant créer notre fonction à partir des critÚres suivants :
Nom |  |
ParamĂštres dâentrĂ©e |
|
Instructions |
|
ParamĂštres de sortie | Pas de paramĂštre de sortie |
Nous pouvons dĂ©crire cette fonction Ă lâaide du pseudo-code :
Fonction maj_déplacement_score(déplacement, score, point_de_déplacement)
Début
dĂ©placement â dĂ©placement + 1
score â score + point_de_dĂ©placement
FinVous remarquerez quâil nây a pas de diffĂ©rence avec la description dâun algorithme en pseudo-code, sauf que nous avons ajoutĂ© entre parenthĂšses les paramĂštres dâentrĂ©e. Vous pouvez ajouter avant la fin de la fonction, avec le mot-clé Retourner , les valeurs de sortie, sâil y en a.
Nous utiliserons la fonction maj_déplacement_score pour modifier notre algorithme précédent ainsi :
Algorithme variable
Variable
dĂ©placement â 0
score â 0
Début
Déplacement à droite
maj_déplacement_score(déplacement, score, 10)
Déplacement en haut
maj_déplacement_score(déplacement, score, 10)
Déplacement en haut
maj_déplacement_score(déplacement, score, 10)
Déplacement à gauche
maj_déplacement_score(déplacement, score, 20)
Fin
Reprenons notre périple dans le labyrinthe.
Considérons le pseudo-code suivant qui dirige les déplacements du joueur dans le labyrinthe :
Algorithme déplacement
Variable
dĂ©placement â 0
score â 0
Début
Déplacement en haut
Déplacement en haut
Déplacement à droite
Déplacement à gauche
Déplacement en bas
Déplacement en bas
FinVous allez mettre en place dans cet exercice une fonction permettant de calculer votre score selon le nombre de déplacements effectués.

Reprenez le pseudo-code ci-dessus et adaptez-le en fonction des consignes suivantes :
Un déplacement incrémente la variable déplacement de 1.
IncrĂ©mentation du score en fonction du sens de dĂ©placement :Â
Ă gauche :  50 points / le nombre de dĂ©placementsÂ
Ă droite :  70 points / le nombre de dĂ©placementsÂ
en haut :  25 points / le nombre de dĂ©placementsÂ
en bas :  90 points / le nombre de dĂ©placementsÂ
Si le joueur passe Ă nouveau sur une mĂȘme case, il faut dĂ©crĂ©menter le score de 25 points.
Si le joueur revient à la case Départ, le score est réinitialisé à 0.
CrĂ©ez lâalgorithme qui prend en compte lâensemble des consignes ci-dessus. NâhĂ©sitez pas Ă Ă©crire Ă cĂŽtĂ© de chaque instruction la valeur courante des variables dĂ©placement et score .
Créez une fonction qui permet de mettre à jour les variables déplacement et score .
Créez une fonction qui permet de réinitialiser la variable score à 0.
Adaptez votre algorithme avec les deux nouvelles fonctions.
Voici les quatre étapes à suivre pour obtenir le résultat final de cet exercice :
Algorithme déplacement
Variable
dĂ©placement â 0
score â 0
Début
Déplacement en haut
dĂ©placement â dĂ©placement + 1
score â score + 25
Déplacement en haut
dĂ©placement â dĂ©placement + 1
score â score + 25
Déplacement à droite
dĂ©placement â dĂ©placement + 1
score â score + 70
Déplacement à gauche
dĂ©placement â dĂ©placement + 1
score â score + 50 - 25 (Le joueur revient sur une case)
Déplacement en bas
dĂ©placement â dĂ©placement + 1
score â score + 90 - 25 (Le joueur revient sur une case)
Déplacement en bas
dĂ©placement â dĂ©placement + 1
score â score + 90 - 25 (Le joueur revient sur une case)
score â 0 (Le joueur est revenu Ă la case dĂ©part donc score = 0)
FinFonction maj_déplacement_score(déplacement, score, point_de_déplacement)
Début
dĂ©placement â dĂ©placement + 1
score â score + (point_de_dĂ©placement / dĂ©placement)
FinFonction réintialiser_score(score)
Début -
score â 0
FinAlgorithme déplacement
Variable
dĂ©placement â 0
score â 0
Début
Déplacement en haut
maj_déplacement_score(déplacement, score, 25)
Déplacement en haut
maj_déplacement_score(déplacement, score, 25)
Déplacement à droite
maj_déplacement_score(déplacement, score, 70)
Déplacement à gauche
maj_déplacement_score(déplacement, score, 50 - 25) // Retour en arriÚre de 25 points
Déplacement en bas
maj_déplacement_score(déplacement, score, 90 - 25) // Retour en arriÚre de 25 points
Déplacement en bas
maj_déplacement_score(déplacement, score, 90 - 25)
réinitialiser_score(score)
FinLa plupart des langages de programmation ont une structure de base similaire les uns aux autres.
Les variables sont utilisées pour stocker des informations à référencer et à manipuler dans un programme informatique.
Une fonction est simplement un "morceau" de code que vous pouvez réutiliser, plutÎt que de le réécrire plusieurs fois.
Les fonctions "prennent" généralement des données en entrée, les traitent et "renvoient" un résultat.
Vous avez dĂ©couvert le monde des variables et comment simplifier votre algorithme en le dĂ©coupant en fonctions. Il est maintenant temps de tester vos connaissances aÌ lâaide dâun petit quiz dans le chapitre suivant. Bonne chance !Â