Pourquoi code-t-on ? (Vidéo)
Introduction
Au collège, vous avez déjà programmé mais en utilisant un langage de programmation par blocs. Ce type de langage est très utile pour apprendre les bases de l’algorithmique et de la programmation mais ne constitue pas un langage utilisé pour programmer réellement. Pour cela, on utilise des langages dits textuels qui nécessitent d’écrire tout le code avec son clavier.
Au lycée, vous allez apprendre l’un de ces langages : le langage Python. Vous l’utiliserez dans différentes disciplines : Mathématiques, SNT, Physique-Chimie, spécialité NSI notamment.
Différences collège/lycée
Voici à gauche, un programme écrit dans un langage par blocs et à droite le même programme écrit dans le langage Python.
Variables
En informatique, il est indispensable de conserver des informations de natures diverses. Par exemple, votre smartphone enregistre dans sa mémoire votre numéro de téléphone, les numéros de téléphones de vos contacts, vos messages (SMS), vos photos, vos applications, etc. Chacune de ces informations est stockée à un endroit précis dans la mémoire dans ce qu’on appelle une variable.
Ainsi, de manière simplifiée, retenez la définition suivante.
Une variable est un espace de stockage de la mémoire (une case mémoire). Chaque variable est caractérisée par son nom, son type et sa valeur.
Au fait, pourquoi dit-on variable ?
Tout simplement car les données qu’elle contient peuvent varier (au cours du temps) : si un ami change de numéro de téléphone, vous êtes content de pouvoir le modifier.
Types de variables
Le type d’une variable est la nature de l’information qu’elle contient. Vous conviendrez que l’heure de votre réveil et votre dernier SMS reçu n’ont pas la même nature : le premier correspond à des nombres et le second à du texte.
Dans un premier temps, voici les trois types de base qui nous intéressent :
- le type entier : il désigne les entiers relatifs (positifs ou négatifs).
En Python on parle du typeint
(pour integer qui signifie « entier » en anglais) ; - le type flottant : il désigne les nombres décimaux (à virgule).
En Python on parle du typefloat
(pour floating qui signifie « flottant » en anglais) - le type chaîne de caractères : il désigne toute suite ordonnée de caractères.
En Python on parle du typestr
(pour string qui signifie « chaîne » en anglais).
Activité 1
Indiquez le type des variables permettant de stocker (sur votre smartphone) les informations suivantes :
- le nom d’un contact
- le numéro de téléphone d’un contact
- un SMS
- l’heure du réveil
- le code de votre partage de connexion Wi-Fi
- le pourcentage affiché de batterie restante
- les notes aux deux derniers devoirs de Mathématiques que vous tapez dans l’application Calculatrice pour calculer votre moyenne
Noms de variables (en Python)
Chaque variable possède un nom qui permet d’identifier l’emplacement mémoire correspondant.
Dans le langage Python, il y a des règles à respecter pour nommmer les variables. Voici celles qui vous concernent :
- Règle 1 : un nom ne peut contenir que des lettres (a-z, A-Z), des chiffres (0 - 9) et le caractère
_
(underscore). - Règle 2 : un nom ne peut pas commencer par un chiffre.
- Règle 3 : les noms sont sensibles à la casse, cela signifie qu’il y a une distinction entre les minuscules et les majuscules : la variable nommée
snt
est différente de la variableSnt
. - (Règle 4) : il est préférable de toujours choisir un nom de variable représentatif : par exemple, si vous voulez stocker le nom d’une personne dans une variable, il est préférable de l’appeler
nom
plutôt quex
. - (Règle 5) : il est préférable de ne pas utiliser de caractères accentués dans le nom d’une variable (nous n’entrerons pas dans le pourquoi du comment).
En Python, le symbole underscore (c’est-à-dire
_
) est très souvent utilisé pour marquer une séparation entre plusieurs mots dans un nom : si on veut utiliser une variable qui contiendra un nombre d’élèves de Seconde G, on peut la nommernombre_eleves_2G
ou encorenb_eleves_2G
car c’est plus facile à lire quenombreeleves2G
.
Activité 2
- Quels sont les noms de variables incorrects parmi ceux proposés ? Vous indiquerez pourquoi.
prix achat
prix_achat
note
2ndeG
SecondeG
Seconde:G
dix-huit
- Proposez un nom de variable permettant de stocker :
- le nombre de filles de Seconde G
- le tarif d’un repas au self
- l’aire d’un triangle (il n’y a qu’une seule figure)
- la note à un devoir d’anglais
Valeurs des variables
Chaque variable possède une valeur qui est l’information qu’elle porte. Par exemple, la valeur de la variable nombre_eleves_2G
pourrait être 34
, celle de la variable note
pourrait être 14.5
, celle de la variable prenom
pourrait être "Louane"
.
Affecter une valeur à une variable
En Python, pour définir ou modifier la valeur d’une variable c’est très simple, il suffit d’utiliser le symbole égal : =
.
Exemples
Je souhaite que ma variable note
soit égale à 15, j’écris :
note = 15
Dans ce cas, la variable est de type entier (
int
en Python).
Si finalement, mon professeur a oublié un demi-point, je peux modifier sa valeur comme ceci :
note = 15.5
Important : On utilise le point (
.
) et non pas la virgule pour écrire des nombres décimaux.
Dans ce cas, le type de la variablenote
a changé : c’est devenu un flottant (float
en Python).
Si on veut créer une chaîne de caractères nommée prenom
, il suffit d’écrire :
prenom = "Louane"
Important : On utilise les guillemets (
""
) pour désigner les chaînes de caractères.
Afficher la valeur d’une variable
Pour afficher la valeur d’une variable on utilise la fonction print()
. Par exemple, pour afficher la valeur de la variable note
on écrit simplement : print(note)
. A l’exécution du code, la valeur s’affiche dans la console. Voir la démonstration
Pour afficher le type d’une variable, on utilise la fonction
type()
. Par exempletype(var)
va indiquer le type de la variablevar
: soitint
, soitfloat
, soitstr
. Voir la démonstration
Opérations sur les variables de type nombre (int
et float
)
Nous nous contenterons ici de montrer quelques opérations possibles sur les entiers et les flottants (on parle des chaînes de caractères en fin de document).
Il n’y a pas de surprise : il est possible d’additionner, soustraire, multiplier, diviser des variables de type nombre (entier ou flottant). On utilise pour cela les symboles habituels résumés dans le tableau ci-dessous dans lequel on indique aussi comment élever un nombre à une certaine puissance.
Opération | Ecriture en Python |
---|---|
Addition | a + b |
Soustraction | a - b |
Multiplication | a * b |
Division | a / b |
Elever a à la puissance n |
a ** n (double symbole de multiplication) |
Activité 3
- Indiquez la valeur des variables à l’issue de chaque ligne du programme suivant.
a = 15
b = 10
c = a + b
d = c / 2
- Quel est le type de chaque variable ?
- On considère maintenant que
a
etb
correspondent à des notes. Réécrivez (sur papier) le programme en utilisant des noms de variables plus représentatifs (pour les 4 variables).
A VOUS DE JOUER !
Pour écrire du code Python, on utilise un éditeur de code. C’est un logiciel qui se décompose généralement en deux fenêtres : la fenêtre d’édition dans laquelle on écrit le programme dans le langage Python et la console dans laquelle peuvent notamment s’afficher les valeurs des variables souhaitées (si on utilise la fonction print()
).
Il existe énormément d'éditeur et nous utiliserons pour cette séance un éditeur en ligne appelé BASTHON (qui signifie Bac À Sable Python) qui ne nécessite pas d’installation (vous pourrez donc l’utiliser chez vous rien qu’avec une connexion Internet).
Voici un lien permettant d'accéder à Basthon : https://console.basthon.fr/. Vous pourrez effacer le texte déjà écrit dans la fenêtre de gauche. Vous trouverez également un lien sur la page consacrée à Python de ce site Web.
Les activités qui suivent n’ont pas de contexte particulier. C’est pourquoi on utilise des noms de variables peu représentatifs. Leur seul but est de faire ancrer les notions abordés dans ce document.
Activité 4
On considère le programme Python suivant.
a = 8
b = 3
a = a - 4
b = 2 * b
a = a + b
print(a)
- Combien de variables sont utilisées ? Combien de valeurs différentes ont-elles prises au cours de l’exécution du programme ?
- Quelle est la valeur finale de la variable
a
? - Cliquez ici pour ouvrir l'éditeur de code. Vérifiez votre réponse à la question précédente en exécutant le code : pour cela il suffit de cliquer sur le bouton
Exécuter
. - Il est possible d’afficher plusieurs valeurs avec la fonction
print
. Par exemple, si on veut afficher les valeurs des variablesa
etb
on écrit simplementprint(a, b)
. Modifiez la dernière ligne du programme et exécutez-le.
Activité 5
On considère le programme Python suivant.
a = 5
b = a + 1
b = b + 2
c = b - a
print(c)
- Qu’affiche ce programme ?
- Ouvrez l'éditeur de code basthon , recopiez à la main ce programme (sans copier-coller, c'est pour apprendre à écrire) puis vérifiez votre réponse précédente en exécutant ce programme dans l’éditeur.
Activité 6
On considère le programme de calcul suivant.
- A prend la valeur 5
- Multiplier A par 3
- Soustraire 4 au résultat
- Elever le résultat au carré
- Afficher le résultat
Écrivez dans un éditeur un programme Python permettant de coder ce programme de calcul. Vérifiez ensuite en l'exécutant.
Activité 7
Sur un site de vente en ligne, on peut acheter différents articles. Un paquet de farine d'un kg coûte 1,15 € et une boîte de six oeufs coûte 1,50 €.
Écrivez dans un éditeur un programme Python qui utilise deux variables pour stocker le nombre de paquets de farine et de boîtes d'oeufs souhaités puis, qui calcule et affiche le prix total à payer pour la commande.
Compléments sur les chaînes de caractères
Pour les chaînes de caractères c’est plus court car il n’y a que deux opérations possibles :
- la concaténation qui consiste à mettre bout à bout deux chaînes pour former une unique chaîne : on utilise pour cela le symbole d’addition
+
. - la répétition qui consiste à ajouter une chaîne un certain nombre de fois à elle-même : on utilise pour cela le symbole de multiplication
*
.
Exemple : lien vers programme sur Basthon