Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Algorithmique
  3. Les variables et opérateurs
Extrait - Algorithmique Techniques fondamentales de programmation - Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique (Nouvelle édition)
Extraits du livre
Algorithmique Techniques fondamentales de programmation - Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique (Nouvelle édition) Revenir à la page d'achat du livre

Les variables et opérateurs

Les variables simples

Reprenons les deux analogies du chapitre d’introduction. Avec la notice de montage du meuble en kit, nous pouvons dégager deux parties distinctes :

  • La liste des pièces équivaut à l’ensemble des variables : 18 vis, 4 planches rectangulaires, 1 tournevis…

  • Les schémas représentent les instructions : insérer les vis dans les trous des planches par exemple.

Le fait d’insérer les vis dans les planches peut être considéré comme un opérateur car il va modifier nos variables planches et vis en créant des planches avec des vis.

Regardons maintenant la deuxième analogie : la recette de cuisine. Vous aurez besoin d’1 pâte brisée, 1 sachet de sucre vanillé, de 30 grammes de beurre et de 6 pommes. Nous pouvons voir la liste des ingrédients comme un ensemble de variables qui auront toutes une valeur attribuée.

Nous pouvons traduire cette liste en algorithmie comme suit :

pate_brisee <-  1 
sucre_vanille <-  1 
beurre_en_grammes <-  30 
pommes <-  6 

Nous utilisons l’opérateur <- pour affecter une valeur à une variable : les pommes sont au nombre de six (pommes <- 6). Au fur et à mesure que nous allons intégrer les pommes à la tarte, le nombre de pommes restantes va diminuer. Une variable, comme son nom l’indique, a une valeur qui peut changer dans le temps et sert à mémoriser cette valeur avec un label donné.

Par convention en algorithmie, les caractères accentués ne sont pas autorisés et le caractère "_" permet de séparer deux mots dans un nom de variable ou de programme pour qu’il soit plus lisible.

Le principe de variables permet à l’ordinateur de connaître et de stocker une valeur labellisée à tout instant lors de l’exécution du programme.

À la différence de la liste de courses et à la recette de cuisine, l’ordinateur a besoin en plus de son nom de connaître le type d’une variable, qui est appelé son identifiant.

L’identifiant d’une variable doit être unique au sein du programme ou de l’algorithme, sinon l’ordinateur ne pourra jamais savoir...

Utiliser les variables

Les variables ne servent à rien si nous ne pouvons pas les manipuler. Pour ce faire, nous allons utiliser des opérateurs qui sont relatifs au type de la variable.

Tous les opérateurs fonctionnent soit avec des variables, soit avec des valeurs, soit avec une variable et une valeur.

Un opérateur est dit binaire s’il a deux opérandes, c’est-à-dire qu’il fonctionne avec deux valeurs. Un opérateur unaire n’a qu’un opérande.

1. Opérateurs mathématiques communs

Les opérateurs mathématiques communs sont utilisables sur les types ENTIER et REEL. Ils représentent les calculs mathématiques basiques :

  • Addition avec le symbole +.

  • Soustraction avec le symbole -.

  • Multiplication avec le symbole x.

PROGRAMME Exemple_operateur_math 
VAR 
   a <- 17 : ENTIER 
   b <- 2 : ENTIER 
   z <- 1.1 : REEL 
   y <- 2.87 : REEL 
   res : ENTIER 
DEBUT 
   res <- a + b 
   ECRIRE("L'addition de a et b vaut ",res) 
   res <- a - b 
   ECRIRE("La soustraction de a et b vaut ", res 
   res <- a x b 
   ECRIRE("La multiplication de a et b vaut ", res) 
   ECRIRE(z + y) 
   ECRIRE(z - y) 
   ECRIRE(z x 3.89) 
FIN 

Vous pouvez remarquer dans l’algorithme précédent que l’opérateur ECRIRE permet d’afficher la valeur du résultat d’une opération sans l’obligation de la stocker dans une autre variable.

2. Opérateurs spécifiques aux entiers

Les entiers ont deux opérateurs dédiés :

  • La division...

Les opérations sur les chaînes

Les chaînes de caractères sont des types complexes. En effet, contrairement aux autres types que nous avons vus, elles sont constituées de plusieurs valeurs (plusieurs caractères) les unes après les autres et non pas d’une seule.

De ce fait, nous ne pouvons pas les manipuler aussi simplement que les autres types avec de simples opérateurs.

En algorithmie, nous possédons pour traiter les chaînes de caractères :

  • La concaténation : ajouter une chaîne à la suite d’une autre.

  • L’extraction : créer une chaîne à partir d’une autre.

  • La longueur : donner le nombre de caractères d’une chaîne.

1. Concaténation

Pour coller deux chaînes de caractères ensemble, nous utilisons l’opérateur de concaténation CONCATENER. Cet opérateur prend deux chaînes de caractères en paramètres pour produire une nouvelle chaîne qui aura comme valeur la première chaîne suivie de la deuxième :

PROGRAMME Exemple_Concat 
VAR 
   chaine1 : CHAINE <- "Hello" 
   chaine2 : CHAINE <- "World" 
   res : CHAINE 
DEBUT 
   res <- CONCATENER(chaine1, chaine2) 
   ECRIRE(res)   //...

Et avec les langages ?

L’algorithmie se veut représenter le plus de langages possibles. Cependant, nous allons confirmer dans cette section la fameuse expression "il existe toujours un fossé entre la théorie et la pratique". En effet, l’algorithmie est destinée à être une base commune pour la majorité des langages de programmation mais chacun possède ses propres mécanismes de gestion internes qui peuvent grandement modifier le code par rapport à l’algorithme. Nous verrons dans cette section quelques-uns de ces fossés avant de commencer l’apprentissage du langage Python.

1. Typage

Actuellement, en programmation, nous pouvons distinguer quatre classes intéressantes de langages :

  • Les langages à typage statique.

  • Les langages à typage dynamique.

  • Les langages fortement typé.

  • Les langages faiblement typés.

Les langages peuvent imposer de déclarer ou non le type des variables d’un programme (typage statique ou dynamique). Ils peuvent également permettre ou non de changer le type d’une variable au cours de l’exécution d’un programme (faiblement ou fortement typé).

a. Les langages à typage statique

Le typage statique indique que le langage impose pour chaque variable la déclaration de son type lors de la déclaration de la variable, tout comme en algorithmie. Son initialisation peut intervenir n’importe quand après sa déclaration.

Nous retrouvons dans ce type de langage des langages tels que C, C++, Java, C# et TypeScript par exemple.

Remarquons que le langage C est l’un des rares langages qui imposent de déclarer toutes les variables en début de programme comme en algorithmie.

b. Les langages à typage dynamique

Dans un langage à typage dynamique, le langage détermine le type de la variable grâce à...

Python et les types

Maintenant que vous avez toutes les clés de la logique de programmation, entrons dans le vif du sujet en commençant par installer Python pour pouvoir écrire les programmes (ou scripts).

1. Installation

Python n’est installé d’office que sur les ordinateurs possédant comme système d’exploitation Linux ou macOS.

Pour les développeurs qui sont sous Windows, vous devez installer Python en suivant les instructions sur le site officiel : https://www.python.org/

 Pour vérifier que Python est bien installé, lancez une console/un terminal ou cmd et tapez la ligne de commande python (oupython3 selon l’installation). Vous devriez avoir accès à ce que nous appelons la calculette Python, comme le montre la figure suivante. Cette calculette permet de lancer rapidement des instructions en Python, notamment pour les tester rapidement. Pour sortir de la calculette, tapez l’instruction exit().

images/02RI02.png

Calculette Python

En installant Python, vous installez automatiquement IDLE, l’environnement de développement intégré (IDE), pour Python. Cet IDE est composé de deux fenêtres, comme le montre la figure ci-dessous : la calculette Python qui va exécuter votre script (la fenêtre de gauche) et votre script (la fenêtre de droite). Ainsi, vous pouvez voir en même temps votre code d’un côté et son résultat de l’autre sur votre écran.

Un IDE est logiciel qui va vous aider et vous conseiller pour écrire votre programmation. Il facilite votre travail en connaissant la syntaxe du langage dans lequel vous programmez. Ainsi, il indiquera vos erreurs plus rapidement et il vous permettra de lire plus rapidement votre code grâce à la coloration syntaxique. Certains IDE vous proposent en plus de compléter automatiquement votre code avec un système d’autocomplétion pseudo-intelligente.

images/02RI03.png

IDLE

 Pour créer un nouveau script, allez dans le menu Fichier - Nouveau et enregistrez votre script avec l’extension .py.

 Cliquez sur le menu Run pour exécuter votre code.

Vous n’êtes pas dans l’obligation d’utiliser IDLE. Vous pouvez également coder avec SublimeText ou PyCharm par exemple. Il existe un assez grand nombre d’IDE pour Python, à vous...

Exercices

1. Exercice 1

Donnez l’algorithme pour calculer le volume d’un rectangle dont la largeur et la longueur soit données par l’utilisateur.

2. Exercice 2

Donnez l’algorithme qui convertit un nombre entier de secondes entré par l’utilisateur en un nombre d’années, de mois, de jours, d’heures, de minutes et de secondes. Pour une raison de simplicité, nous considérons qu’une année est constitué de 352 jours et un mois de 30 jours.

3. Exercice 3

Donnez deux algorithmes différents qui inversent les valeurs de deux variables. Ces valeurs sont données par l’utilisateur.

4. Exercice 4

Écrivez le script correspondant à l’algorithme calculant le volume d’un rectangle dont la largeur et la longueur sont données par l’utilisateur.

Pensez à tester tous les cas possibles dans vos scripts Python pour ne pas avoir de mauvaises surprises lors d’une exécution non prévue.

5. Exercice 5

Écrivez le script correspondant à l’algorithme qui convertit un nombre entier de secondes entré par l’utilisateur en un nombre d’années, de mois, de jours, d’heures, de minutes et de secondes.

6. Exercice 6

Écrivez les codes Python correspondant aux deux algorithmes d’inversion de valeurs de variables.