J’apprends à programmer : les variables
<<< Article précédent : Mon premier programme
Les variables
Les variables sont des éléments essentiels à tout programme. Une variable est un emplacement de la mémoire de l’ordinateur qui va servir à stocker des informations. Ces informations vont pouvoir être utilisées plus tard. Plutôt que de continuer à faire de grand discours, je vais vous montrer que dans la vie courante, nous utilisons des variables sans forcément nous en rendre compte.
Voici un exemple :
- Je veux faire un gâteau 🙂
- En regardant la recette, je vois qu’il me manque 6 œufs et 2 tablettes de chocolat.
- Je pars donc au magasin.
- Devant les rayons, je me souviens de la quantité des différents ingrédients.
- J’avais donc mis ces quantités dans des variables (dans ma mémoire).
Maintenant, regardons tout ça en programmation. Si ce n’est pas fait, lancez notre environnement de développement en cliquant ici : https://www.jdoodle.com/python-programming-online
Dans la zone « Your code », saisissez le code source* suivant : (* On appelle « Code source » le texte écrit par le développeur et qui donne les instructions à exécuter)
Oeufs = 1; Chocolat = 2; print "Voici ma liste de course :"; print "Oeufs", Oeufs; print "Nombre de tablettes de chocolat :", Chocolat;
et lorsque vous cliquez sur « Execute », vous devez avoir ce résultat :
Pour chaque variable, on associe un identifiant unique (le nom de variable). C’est à l’aide de cet identifiant que l’on manipulera la variable. Si je reprends l’exemple du dessus :
- Oeufs : c’est l’identifiant de la variable ou nom de variable (attention : les identifiants respectent certaines règles, nous verrons cela en dessous)
- 6 : étant sa valeur.
- Quand on met 6 dans la variable Oeufs, on dit qu’on « affecte » la valeur à la variable.
Les calculs avec les variables
Les variables vont aussi nous permettre de faire des calculs.
Prenons un autre exemple :
Je suis né le 1er janvier 2000 (date imaginaire : hélas pour moi, je suis bien plus vieux que ça !)
Je souhaite calculer mon age.
En fonction de l’année, je vais réaliser l’opération suivante : Année en cours – Année de naissance = Age.
Dans l’exemple, ci-dessus « Année en cours » est une variable, car l’année peut varier et je pourrais essayer de calculer l’age que j’aurais en 2050. Pour cela, il suffit d’affecter la valeur 2050 à la variable « Année en cours ».
Pour la petite histoire, « Année de naissance » est ce qu’on appelle une constante. C’est comme une variable mais la valeur ne change pas. Dans certains langages, les constantes sont déclarées différemment des variables. Les constantes ne sont pas supportées par tous les langages, mais au moins, si l’on vous parle de constantes, vous saurez ce que c’est.
A partir de cette valeur, il est possible de réaliser des tas d’opérations comme la modifier, la supprimer, faire des calculs, l’afficher, la comparer à d’autres valeurs, etc …
Les règles pour les noms de variable (identifiants)
L’identifiant « Année en cours » n’est pas valable car les identifiants respectent des règles bien précises. Celles-ci sont différentes suivants les langages, voici quelques règles :
- Pas d’espace dans le nom de l’identifiant (ceci est valable pour tous les langages), j’aurais pu écrire : AnnéeEnCours
- Beaucoup de langages, ne supportent pas les accents dans les noms de variable, il est préférable d’utiliser : AnneeEnCours
- Si le caractère « _ » est supporté, on aurait pu écrire : Annee_En_Cours
- Certains langages ne supportent pas les Maj/Min dans les noms d’identifiants
- D’autres langages considèrent que les noms de variable : « Annee » et « annee » sont 2 identifiants différents, donc soyez prudent avec les majuscules.
- Chaque langage ayant des règles plus ou moins contraignantes, referez-vous au guide de celui-ci pour savoir ce qui est autorisé ou non.
Commençons à jouer avec les variables
Vous pouvez maintenant effacer ce qu’il y avait dans la zone « Your code » et saisir le code suivant :
annee_en_cours = 2018; annee_naissance = 2000; age = annee_en_cours - annee_naissance; print "Actuellement, votre age est :", age, "ans"; annee_calcul = 2050; age = annee_calcul - annee_naissance; print "En", annee_calcul,", vous aurez",age,"ans !";
Evidemment, vous pourriez copier/coller ce texte, mais je vous conseille plutôt de le saisir et d’essayer de comprendre ce que fait chacune des lignes. Cela vous obligera aussi à vous imprégner de la syntaxe (comme par exemple, les « ; » à la fin de chaque ligne).
Puis cliquez sur « Execute », et normalement vous devriez avoir le résultat suivant :
Explications sur le code que nous venons de saisir :
- Nous avons affecté des valeurs aux variables : « annee_en_cours » et « annee_naissance »
- Puis nous avons affecté directement à la variable « age » le résultat de l’opération du calcul de l’age par soustraction.
- Ensuite, nous avons tout simplement affiché l’age calculé.
- Et enfin, nous avons refait les mêmes opérations en affectant 2050 à la variable « annee_calcul ».
Vous voyez, c’est simple la programmation ! 🙂
Les types des données.
Vous avez vu qu’on peut stocker des valeurs dans des variables et qu’on peut les manipuler facilement. Mais avec toutes les variables « typées », il n’est pas possible de réaliser des opérations arithmétiques. Oula, je vous embrouille ? Regardez l’exemple ci-dessous.
variable1 = 1 + 2; variable2 = "1" + "2"; print variable1; print variable2; |
|
Exemple pour comprendre les types de variables
- 1er cas
- Je fais mon marché et chez le 1er vendeur, j’achête 10 carottes que je mets dans mon panier.
- Je m’arrête chez un 2ème vendeur et j’achête 8 carottes que je mets dans mon panier.
- Dans mon panier, j’ai donc 18 carottes (10 + 8)
- 2ème cas
- Je fais mon marché et chez le 1er vendeur, j’achête 10 carottes que je mets dans mon panier.
- Je m’arrête chez un 2ème vendeur et j’achête 8 salades que je mets dans mon panier.
- Dans mon panier, j’ai donc 10 carottes et 8 salades : il n’est pas possible d’additionner les 2 légumes car ils ne sont pas du même type !
Vous l’avez compris, les variables elles aussi vont avoir des types différents et il ne sera pas possible de les combiner.
Regardez dans l’exemple ci-dessous, j’ai volontairement mélangé les types de variables :
annee_en_cours = 2018;
annee_naissance = 2000;
prenom = "Victor";
age = annee_en_cours - annee_naissance;
age= prenom + annee_naissance; <<<-- Ici, opération impossible !
print "Actuellement, votre age est :", age, "ans";
si j’exécute ce code, j’obtiens les injures suivantes :
![]() |
On voit bien que l’erreur concerne les types : Il n’est pas possible d’additionner des chaines (str) et des entiers (int). |
Types de variables courants.
Les 2 types de variables les plus courants sont :
- Les entiers (exemple 1, 15, 5222, 69922, …)
- Les chaines (« Victor » , « 15 », …) Attention, le nombre « 15 » est ici entouré de guillemets, il est donc considéré comme une chaîne de caractères et pas comme un nombre.
Il en existe de nombreux autres, tels que :
(attention tous les types présentés ici n’existent pas dans tous les langages)
- Les nombres réels ( 18.52 , -15.744 , …)
- Les dates/heures ( 15/01/2000 23:01 ou 15:02 02/05/2011 ou 2018)
- Les booléens (vrai, faux ou true, false)
- …
Je ne peux pas énumérer tous les types de données car on peut avoir des types qui existent sur certains langages et pas sur d’autres. Donc, référez-vous à la documentation de votre langage pour connaitre les types existants. Et enfin, pour être tout à fait complet, il existe des langages où il possible d’utiliser des variables sans types et le langage réagit en fonction des opérations que l’on fait avec, mais là je m’égare et je sens que ça complique un peu l’affaire, donc j’arrête d’en parler.
Dans certains langages, il faut déclarer les variables et leur type avant de les utiliser. Dans d’autres langages (tel que Python), le type de données est défini lors de l’affectation de la variable. C’est lors de l’exécution que le type de données sera déterminé.
Retrouvez l’ensemble des articles sur la programmation :
-
Langage de programmation
-
Apprendre la programmation
Bonsoir,
Les exercises sont, en effet, le meilleurs moyen d’apprendre.
J’ai tenté (sans succès) de calculer l’age exacte en indiquant la date précise d’aujourd’hui et celle de naissance. J’ai testé en ajoutant des points, des / (hum), des :, en inversant les chiffres pour mettre la date à l’americaine, en ne mettant rien … j’ai donc entre 65 ans et 2910047 ans ;-). Je suppose qu’il y a une façon particulière d’indiquer la date.
A chercher, mais en tout cas le « resultat » est là, je tente de programmer 😉
Alors un grand merci !
Bonsoir Shenha,
oui, les dates ne sont pas forcément calculées de la même façon suivant les langages.
Certains considèrent les dates comme des chaines : « 30/01/2020 », d’autres comme des chiffres contenant la valeur depuis le 01/01/1900 et du coup, il est plus facile de faire des additions ou des soustractions.
Si besoin, on peut utiliser des fonctions pour calculer des différences de dates : voir les fonctions
En php, pour calculer une différence de dates, il faut utiliser la fonction : date_diff(date1, date2) qui va te renvoyer l’écart entre les 2 dates.
A bientôt et bonne programmation !
Merci d’exister.
J’ai suivi jusqu’à la fin.
L’élève n’est pas très bon, il m’a fallu m’y reprendre à plusieurs fois. A chaque fois j’avais une erreur de syntaxe. Mais c’est fait, j’ai passé l’obstacle.
Je crois que j’ai besoin d’exercices semblables avant d’aller plus loin. J’ai besoin d’idées pour faire mes propres exercices supplémentaires. Merci d’avance pour vos conseils
Coutoisement
Salut,
oui, en fin de cours j’essaierai de mettre quelques exercices pratiques (avec un peu plus loin les solutions -;) ).
Il nous reste 2 cours : les conditions et les boucles.
Ensuite, 2 autres articles pour terminer : 1 pour apprendre à stocker ses programmes et à les faire fonctionner directement sur son ordinateur et le dernier pour faire afficher des fenêtres et des boutons comme des vrais programmes de Pro !
A bientôt
ok mec 2°9 Livet
magnifique j’ai tout compris j’attends impatiemment la suite merci pour cette super pédagogie
merci merci merci