Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 3

Variables en pseudo-code : déclaration et assignation

Recommended resources

Bonjour ! Bienvenue dans notre troisième leçon sur les fondamentaux de l'algorithmique.

Introduction

Dans la leçon précédente, nous avons découvert les quatre types de données de base : entier, réel, chaîne de caractères et booléen. Nous avons appris que chaque type de donnée a une nature et des usages spécifiques.

Maintenant, la question est : comment un algorithme peut-il stocker et manipuler ces données ? Si nous calculons un prix ou demandons le nom d'un utilisateur, où cette information est-elle gardée pour être utilisée plus tard ? La réponse est : dans des variables.

Cette leçon est donc consacrée à l'un des concepts les plus fondamentaux de la programmation : les variables. Nous allons apprendre à déclarer des variables, à leur assigner des valeurs et à comprendre leur rôle crucial en pseudo-code. Maîtriser les variables est indispensable pour donner vie à vos algorithmes et un pas de plus vers votre objectif d'écrire du "code clean" et bien structuré.


1. Qu'est-ce qu'une variable ?

Pour commencer, il faut bien comprendre à quoi sert une variable. La meilleure façon de se la représenter est d'imaginer une boîte de rangement avec une étiquette.

  • L'étiquette est le nom de la variable.
  • Le contenu de la boîte est la valeur de la variable.
  • Le type de contenu que la boîte peut accepter (des nombres, du texte...) est le type de la variable.

Techniquement, une variable est un espace de stockage réservé dans la mémoire de l'ordinateur, identifié par un nom. Heureusement, grâce aux variables, nous n'avons pas besoin de gérer nous-mêmes les adresses mémoire complexes de l'ordinateur !

1. Les Variables - Cours d'Algorithmique

Pour approfondir cette idée, je vous propose de lire l'introduction du cours de Christophe Darmangeat sur les variables. Il y explique très clairement leur utilité avec cette analogie de la boîte et de l'étiquette.

Lisez la première section intitulée '1. A quoi servent les variables ?'. Concentrez-vous sur la métaphore de la 'boîte' et sur la raison pour laquelle les variables nous simplifient la vie en tant que programmeurs.

En résumé, les variables servent à stocker temporairement des informations (entrées de l'utilisateur, résultats de calculs, etc.) pour pouvoir y accéder et les modifier au cours de l'exécution de l'algorithme.


2. La Déclaration de variables

Avant de pouvoir utiliser une "boîte", il faut la créer. En algorithmique, cette étape s'appelle la déclaration. Déclarer une variable consiste à :

  1. Lui donner un nom (une étiquette).
  2. Préciser son type (ce qu'elle pourra contenir).

En pseudo-code, la déclaration se fait généralement au début de l'algorithme, dans une section dédiée, avec une syntaxe comme celle-ci :

Variables nom_de_la_variable en Type

Par exemple :

  • Variable ageUtilisateur en Entier
  • Variable prixArticle en Réel
  • Variable messageAccueil en Chaîne
  • Variable paiementValide en Booléen

Si plusieurs variables ont le même type, on peut les regrouper :
Variables prenom, nom en Chaîne

Le choix du nom est important. Une bonne pratique, qui mène au "code clean", est de choisir des noms descriptifs qui indiquent clairement ce que la variable contient (par exemple, prixArticle est plus clair que p).

1. Les Variables - Cours d'Algorithmique

Le même document explique en détail comment déclarer les variables pour chaque type que nous connaissons. Il aborde également les règles de nommage.

Lisez la section '2. Déclaration des variables' jusqu'à la fin du 'Type booléen'. Portez attention à la syntaxe et aux exemples pour les types numériques, alphanumériques (chaînes) et booléens.


3. L'Affectation de valeurs

Maintenant que nos "boîtes" sont créées, nous devons pouvoir y mettre quelque chose. C'est le rôle de l'affectation. L'affectation est l'opération qui consiste à attribuer une valeur à une variable.

En pseudo-code, nous utilisons une flèche vers la gauche (←) pour représenter cette opération.

nom_de_la_variable ← valeur

Cette instruction se lit : "la variable nom_de_la_variable reçoit la valeur valeur".

Exemples :

Variables
    ageUtilisateur en Entier
    prixArticle en Réel
    messageAccueil en Chaîne

Début
    ageUtilisateur ← 30
    prixArticle ← 99.50
    messageAccueil ← "Bienvenue !"
Fin

Une variable peut aussi recevoir la valeur d'une autre variable ou le résultat d'un calcul :

Variables
    prixHT en Réel
    tauxTVA en Réel
    prixTTC en Réel

Début
    prixHT ← 100.0
    tauxTVA ← 0.20
    prixTTC ← prixHT + (prixHT * tauxTVA) // prixTTC reçoit 120.0
Fin

Un point essentiel à comprendre est que l'affectation détruit la valeur précédente de la variable. La "boîte" est vidée avant d'être remplie avec la nouvelle valeur.

Considérez cet exemple :

Variables
    A en Entier
Début
    A ← 5
    // Ici, la valeur de A est 5
    A ← 10
    // Maintenant, la valeur de A est 10. L'ancienne valeur 5 est perdue.
Fin

1. Les Variables - Cours d'Algorithmique

La ressource suivante explique parfaitement l'instruction d'affectation et soulève des points cruciaux pour un débutant, notamment la différence entre l'affectation et l'égalité mathématique.

Lisez attentivement la section '3. L’instruction d’affectation' et la section '5. Deux remarques pour terminer'. C'est une partie fondamentale. Assurez-vous de bien comprendre la différence entre A ← B et B ← A, et pourquoi une instruction comme A ← A + 1 est logique en algorithmique.

Comme vous l'avez lu, une instruction comme Compteur ← Compteur + 1 est très courante. Elle signifie : "Prendre la valeur actuelle de Compteur, y ajouter 1, et stocker le résultat dans Compteur".


4. Mise en pratique

Rien de tel que la pratique pour solidifier ces concepts.

Exercice 1 : Suivre les variables à la trace

Le "traçage" est une technique qui consiste à suivre pas à pas l'exécution d'un algorithme pour voir comment les valeurs des variables évoluent. C'est une compétence essentielle pour comprendre et déboguer des programmes.

Observez l'algorithme suivant, qui est similaire à celui de l'image ci-dessous. Essayez de deviner les valeurs finales des variables A et B.

Exercise on Variables and Assignment in Pseudo-code
Cet algorithme déclare deux variables entières, A et B, puis effectue une série d'affectations. Votre tâche est de déterminer la valeur de chaque variable à la fin de l'exécution.
Variables
    A, B en Entier

Début
    A ← 5
    B ← A + 2
    A ← 10
Fin

Quelle est la valeur de A à la fin ? Et celle de B ?

...

Solution :

  1. A ← 5 : A contient la valeur 5.
  2. B ← A + 2 : L'algorithme lit la valeur de A (qui est 5), calcule 5 + 2, ce qui donne 7. Il affecte cette valeur à B. B contient donc la valeur 7.
  3. A ← 10 : La valeur de A est remplacée par 10. La valeur de B ne change pas, car son affectation a déjà eu lieu.

Valeurs finales : A vaut 10 et B vaut 7.

Exercice 2 : L'échange de verres

C'est un problème classique qui illustre parfaitement l'utilité d'une variable temporaire.

Imaginez que vous avez deux verres :

  • Verre A, rempli de jus d'orange.
  • Verre B, rempli de jus de pomme.

Comment feriez-vous pour échanger le contenu des deux verres ? Vous ne pouvez pas simplement verser A dans B, car vous perdriez le jus de pomme.

Vous auriez besoin d'un troisième verre vide, n'est-ce pas ?

Votre mission : écrire un algorithme qui échange les valeurs de deux variables A et B en utilisant une troisième variable Temp (pour "temporaire").

Variables
    A, B, Temp en Entier

Début
    A ← 10  // Notre "jus d'orange"
    B ← 20  // Notre "jus de pomme"

    // --- Écrivez votre code d'échange ici ---

Fin

Prenez un moment pour y réfléchir.

...

Solution :

Voici comment réaliser l'échange :

  1. On sauvegarde la valeur de A dans Temp.
  2. On peut maintenant écraser la valeur de A avec celle de B.
  3. Enfin, on met la valeur sauvegardée (qui est dans Temp) dans B.
Variables
    A, B, Temp en Entier

Début
    A ← 10
    B ← 20

    // Échange des valeurs
    Temp ← A      // Temp vaut maintenant 10. A vaut toujours 10.
    A ← B         // A vaut maintenant 20. B vaut toujours 20.
    B ← Temp      // B vaut maintenant 10.

    // À la fin, A vaut 20 et B vaut 10. Les valeurs ont été échangées !
Fin

Cet exercice simple démontre comment les variables sont utilisées pour stocker, sauvegarder et manipuler des données de manière séquentielle.

Pour voir d'autres exemples concrets, vous pouvez parcourir les exercices corrigés du document Feuille TD n°1 (ressource LINK). Par exemple, l'Exercice 3 montre comment des variables sont déclarées puis reçoivent le résultat de calculs pour trouver la durée d'un vol.


Résumé de la leçon

Félicitations ! Vous maîtrisez maintenant les bases de la manipulation de données en algorithmique.

  • Une variable est un conteneur nommé qui stocke une valeur d'un certain type.
  • Il faut déclarer une variable (lui donner un nom et un type) avant de l'utiliser.
  • L'affectation (←) est l'opération qui permet de donner une valeur à une variable.
  • L'ordre des instructions est primordial, et la valeur d'une variable peut changer à tout moment via une nouvelle affectation.
  • Une instruction comme X ← X + 1 est une opération de mise à jour fondamentale.

Ces concepts sont les piliers sur lesquels reposent tous les algorithmes que vous écrirez.


Et après ?

Nous savons maintenant déclarer des variables et leur assigner des valeurs. Dans la prochaine leçon, nous allons combiner ces variables avec des opérateurs pour construire des expressions arithmétiques et logiques. Nous apprendrons à effectuer des calculs (+, -, *, /) et des comparaisons logiques (>, <, =), ce qui nous permettra de rendre nos algorithmes bien plus puissants et intelligents.