2nd S.N.T.
Sciences Numériques & Technologie
Programmation en langage Python – Partie 1 –
1. Introduction :
Python est un langage de programmation qui allie puissance et facilité
d’apprentissage, souvent cité comme étant le langage pour apprendre à programmer.
Il est défini par un nombre minimal de mots clés ce qui implique qu’il n’y a, en
général, qu’une seule manière simple de traduire un algorithme en Python. Cette
caractéristique facilite l’apprentissage par les élèves, et évite d’avoir plusieurs
solutions correctes à un problème donné, qui peut être source de confusion.
Python est un langage interprété (par opposition à langage compilé). Cela veut dire qu’il
possède un interpréteur qui va exécuter à tour de rôle, du haut vers le bas, comme
lorsqu'on lit un texte, chaque ligne du code source (le programme que vous avez écrit).
2. Afficher et affecter des valeurs
1. Que veut dire le mot anglais print ?: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2. a) Ecrire et exécuter les programme 1 et 2 ci-contre
b) Expliquer l’affichage du programme 1 : _ _ _ _ _ _ _ _ _
_________________________________
____________________
c) Pourquoi n’a-t-on pas le même affichage avec le programme 2 ? : _ _ _ _ _ _ _ _ _
_______________________________________
d) De ce fait, expliquer la fonction des guillemets ("): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
______________________________________
e) Modifier la dernière ligne du programme 2 en print("b=",b) puis expliquer le
résultat de l’affichage obtenu : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
____________________________________
3. a) Sans l’écrire, dire ce que va afficher le programme 3 : _ _ _ _ _ _ _ _
_________________________________
b) L’écrire puis l’exécuter pour vérifier votre réponse.
Lycée de La Salle – 30100 ALES -
1
2nd S.N.T.
Sciences Numériques & Technologie
3. Comprendre les variables de type numérique
1. a) Ecrire et exécuter les programmes 4 et 5 ci-contre
b) Expliquer la différence d’affichage entre ces deux
programmes _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_________________________________
________________
2. a) Ecrire et exécuter le programme 6 ci-contre
b) De quel type est la variable a après la ligne a=30 ? : _ _ _ _ _ _ _ _ _
________________________________
c) De quel type est la variable a après la ligne a=a*2 ? : _ _ _ _ _ _ _ _
________________________________
d) De quel type est la variable a après la ligne a=a/8 ? : _ _ _ _ _ _ _ _
______________________________________________
3. On considère le programme 7 ci-contre
a) Sans l'écrire, dire de quels types sont les variables a et b lors de
leur première affectation: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_____________________________
b) Ecrire et exécuter ce programme
c) En observant le résultat d'affichage du programme, expliquer ce que fait la
ligne b = float(b) du programme : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_____________________________________
4. On considère le programme 8 ci-contre
Reprendre le déroulé de la question précédent afin d'expliquer ce que
fait la ligne b = int(b) de ce programme: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
________________________________
4. Comprendre les variables de type textuel
1. a) Sans l’écrire, dire ce que va afficher le programme 9 ci-contre : _ _
___________________________________________
__________________________
b) L’écrire puis l’exécuter pour vérifier votre réponse.
2. Modifier le programme 9, en remplaçant la première ligne par a = "Bonjour" puis
expliquer le résultat d'affichage : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
____________________________________
Lycée de La Salle – 30100 ALES -
2
2nd S.N.T.
Sciences Numériques & Technologie
3. a) Ecrire puis exécuter les programmes 10, 11 et 12 ci-dessous
b) Expliquer chacun des affichages :
_ _ _ _ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ___ _ _ _ _ _ _ _
_ _ _ _ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ___ _ _ _ _ _ _ _
_ _ _ _ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ___ _ _ _ _ _ _ _
_ _ _ _ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ___ _ _ _ _ _ _ _
__ __ __
5. Programmer des instructions conditionnelles
1. a) Ecrire le programme 13 ci-contre :
Attention à bien respecter l’indentation,
c'est-à-dire l’espace en début de ligne
avant les instructions print.
b) L’exécuter deux fois en saisissant
d’abord -3.4 puis 10.8 comme valeur de nombre demandée par le programme
c) Expliquer les deux résultats d’affichage obtenus : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_________________________________________________
__ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_________________________________________________
____________
2. a) Pour obtenir le programme 14 ci-
contre, une « légère » modification a
été apporté sur la dernière ligne du
programme 13. Sans la réaliser pour
l’instant, dire ce qu’il va afficher si l’on
saisit -52.248 comme valeur
demandée : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
___________________________________
b) Effectuer la modification sur votre programme puis l’exécuter pour vérifier votre
réponse.
c) Le tester ensuite avec des valeurs positives et négatives ; et expliquer la
différence apportée par la modification dans les résultats d’affichage : _ _ _ _ _
_________________________________________________
_ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_________________________________________________
_________________________________________________
_______
Lycée de La Salle – 30100 ALES -
3
2nd S.N.T.
Sciences Numériques & Technologie
d) Les 2 programmes précédents (13 et 14) utilisent, à la ligne 1, l’instruction
input("…un texte…") . Indiquer son rôle : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_________________________________________________
____________________________
3. a) Un site d'impression photos affiche les tarifs ci- Tarifs de nos tirages
contre. En vous inspirant des 2 programmes
précédents, élaborer un programme Python qui
demandera à l'utilisateur le nombre de photos qu'il
souhaite imprimer et lui affichera en retour le prix
De 1 a 50 photos : 0,18€/photo
correspondant à cette commande.
Plus de 50 photos : 0,15€/photo
b) Le site met en place la promotion temporaire ci-
contre. Modifier votre programme afin de
- 15% prendre en compte cette promotion.
pour une commande supérieure
à 100 photos c) Après validation de son bon fonctionnement par
le prof., recopiez-le ci-dessous :
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
4. Un site de vente en ligne propose une promotion sur les
appareils photo numériques. Si l'appareil coûte moins de
100€, la promotion est de 10%. Si l'appareil coute 100€ ou
plus, la promotion est de 20%. Les frais de port de 10€
sont offert si le montant de la commande, après déduction
de la promotion (mais hors frais de port) est supérieur à 150€.
a) Elaborer le programme Python qui demandera à l'utilisateur le prix initial de
l'appareil photo qu'il souhaite acquérir et lui affichera en retour le prix final de
sa commande tenant compte de la promo et des éventuels frais de port.
b) Tester le pour différentes valeurs d'appareils choisis. Faire valider son bon
fonctionnement par le prof.
Lycée de La Salle – 30100 ALES -
4
2nd S.N.T.
Sciences Numériques & Technologie
5. Pour tester si un triangle ABC est isocèle à partir de ses sommets repérés, on
construit l’algorithme suivant :
a) Traduire cet algorithme en Python
b) Le tester avec les points A(-1;-1), B(7;3) et C(2;3). Qu'obtient-on en fin
d'exécution du programme ?
____________________________________________
____________________________________________
c) Que représentent les variables a,b et c ?
____________________________________________
____________________________________________
d) Pourquoi le calcul de c n’est-il pas réalisé en même temps que celui de a et b ?
____________________________________________
____________________________________________
e) Modifier l’algorithme afin qu’il affiche en plus « Le triangle ABC est équilatéral »
lorsque c’est le cas.
6. Activité libre : écrire un programme de votre choix qui utilise une boucle « for »
et/ou une boucle « while ».
Lycée de La Salle – 30100 ALES -
5