TP 2 - Initiation à la programmation
Dans ce TP, nous allons nous initier à la programmation dans le
langage Python.
Dans la première partie, on ne vous demande pas de savoir
programmer, mais d'essayer de lire et comprendre un programme.
Dans la deuxième partie, vous pourrez essayer de programmer.
Ce TP est
à rendre, et noté.
Vous devez écrire les réponses sur une feuille et me rendre
cette feuille à la fin.
Ce n'est pas une interro. Je vous aide à
répondre. Posez-moi des questions.
1. Première partie: comprendre du code
Un programme
s'effectue dans l'ordre. C'est à dire qu'il faut
suivre les instructions, une par une, de haut en bas. C'est comme
une recette de cuisine.
Si vous avez du mal, c'est sans doute parce que vous n'êtes
pas assez bête, et que vous pensez à plusieurs
lignes en même temps. On fait une ligne à la fois, de haut en
bas. Posez-moi des questions.
Pour les premières questions, les réponses sont
disponibles. Mais si elles vous surprennent, posez-moi des
questions.
1.1. Affectations de variables
1.1.1 Affectation et addition
Après
l'exécution de ce code:
a = 13
a = a + 10
Combien vaut a ?
Réponse
23
1.1.2 Plusieurs variables
Après
l'exécution de ce code:
a = 13
b = 10
a = b
Combien vaut a ?
Réponse
10
1.1.3 Modification après copie
Après
l'exécution de ce code:
a = 13
b = 10
a = b
b = 8
Combien vaut a ?
Réponse
10
1.2. Conditions
Après l'exécution de ce
code:
x = 0
a = 13
b = 10
if a >= b:
x = a - b
else:
x = b - a
Combien vaut x à la fin du programme?
2. Deuxième partie: écrire et exécuter du
code
2.1. Basthon
Il existe de nombreuses manières d'écrire du code Python. Pour ce
TP, nous allons utiliser l'éditeur de code en ligne Basthon.
Ouvrez Basthon dans un nouvel onglet ou une nouvelle fenêtre avec
ce lien: https://console.basthon.fr Puis revenez sur
l'énoncé du TP.
Vous pouvez
ouvrir deux fenêtres côte à côte, pour avoir par exemple l'énoncé
du TP à gauche et la fenêtre Basthon à droite. Ça vous évitera des
allers-retours entre les deux. Essayez, et si vous n'y arrivez
pas, demandez-moi.
La console Basthon comporte deux parties:
- À gauche, une zone pour entrer un programme Python
- À
droite, une console interactive
Avant toute chose, nous allons voir ce que font ces deux parties.
2.1.1 Console interactive
La console interactive (à droite) vous permet de taper des commandes
Python et d'avoir une réponse immédiatement. Le symbole ">>>"
s'appelle une invite de commande. Ça signifie que Python attend votre commande.
- Dans la console interactive, à l'endroit du symbole ">>>", tapez 3 + 2
- tapez sur Entrée
La réponse (5) s'affiche immédiatement, puis une nouvelle invite de commande signale
que Python est prêt à recevoir une nouvelle commande.
Nous allons maintenant reprendre un des programmes qu'on a lus dans la première partie.
- Tapez
a = 13, puis Entrée
- Tapez
b = 10, puis Entrée
- Tapez
a = b, puis Entrée
- Tapez
b = 8, puis Entrée
Rien ne s'est affiché comme résultat de ces commandes, car
« mettre 13 dans a » n'a pas de valeur de
résultat. C'est une action qui est effectuée, mais qui ne
produit pas de réponse.
Vous pouvez par contre demander la valeur des variables:
- Tapez
a, puis Entrée
- Tapez
b, puis Entrée
Vous verrez, comme réponse à ces commandes, les valeurs des variables a et b.
Vous voyez s'afficher les valeurs des variables (ou le résultat des opérations) parce que vous êtes dans la console interactive. Quand vous ferez un programme dans la zone de gauche (ou dans un fichier), les valeurs ne s'afficheront pas, sauf si vous utilisez la commande print.
2.1.2 L'éditeur de code
L'éditeur de code vous permet de taper un programme entier. Rien n'est calculé tant que vous n'avez pas appuyé surle bouton Exécuter. Quand vous cliquez sur ce bouton, l'ensemble du programme est exécuté ligne par ligne (vous pourrez remarquer que les lignes sont numérotées, ça vous aidera à trouver vos erreurs).
Tapez ce programme dans l'éditeur de code:
a = 13
b = 10
a = b
b = 8
Puis cliquez sur Exécuter. Que se passe-t-il?
Comment faire pour afficher la valeur des variables a et b?
2.2 Premier programme
Dans l'éditeur de code, écrivez un programme qui:
- Met des valeurs dans des variables a et b (les valeurs que vous voulez, par exemple 42 et 10)
- Calcule l'expression "a × (b + 10)" et met le résultat dans une variable "resultat"
- Affiche la valeur de la variable "resultat"
Vérifiez que ça fait bien ce que vous voulez, puis écrivez ce code sur votre feuille de réponse
2.3 Conditions
On rappelle que, comme vu en cours, les instructions if et else
permettent d'effectuer, ou non, certaines instructions, en fonction d'une condition. Ces instructions s'utilisent de cette manière:
if condition:
instructions si la condition est vraie
else:
instructions si la condition est fausse
En Python, il faut bien faire attention à respecter l'indentation,
c'est à dire le décalage à droite des instructions quand elles sont dans un bloc (dans l'exemple ci-dessus, on a le bloc des instructions du if et le bloc des instructions du else).
Dans l'éditeur de code, écrivez un programme qui:
- Met des valeurs dans des variables a et b (les valeurs que vous voulez, par exemple 42 et 10)
- Calcule la valeur absolue de "a-b" et met le résultat dans une variable "resultat"
La valeur absolue de x est la version "positive" de x, c'est à dire que si x est positif, c'est x, sinon c'est -x.
- Affiche la valeur de la variable "resultat"
(Il y a plusieurs manières de faire, ce n'est pas parce que votre voisin a fait autrement que vous avez tort)
Vérifiez que ça fait bien ce que vous voulez, puis écrivez ce code sur votre feuille de réponse.
2.4 Boucle while
On s'intéresse maintenant aux boucles, c'est à dire des instructions qui répètent plusieurs fois la même opération. On va étudier la boucle while, qui effectue un bloc d'instructions tant qu'une condition est vraie.
while condition:
instruction 1
instruction 2
...
La boucle s'effectue tant que la condition est vraie, donc si vous voulez que la boucle s'arrête un jour, il faut bien faire attention à ce que la condition change dans le bloc d'instructions. Sinon, vous aurez créé une boucle infinie et il faudra arrêter votre programme de force.
Dans l'éditeur de code, essayez d'écrire un programme qui va afficher les nombres de 0 à 10, puis s'arrêter. Pour ça, vous devez utiliser la boucle while, pas écrire dix fois une commande print.