Vous êtes sur la page 1sur 12

CHAPITRE I

PROGRAMMATION PYTHON
Objectifs
❖ Réaliser des activités d’algorithmique débranchée.
❖ Écrire et développer des programmes pour répondre à des problèmes et modéliser
des phénomènes physiques, économiques et sociaux.

I- Vocabulaire

Python est un langage de programmation créé par Guido Van Rossum, dont la
première version est sortie en 1991. C’est aujourd’hui un langage très populaire,
possédant de nombreux avantages :
• il permet une initiation aisée aux concepts de base de la programmation grâce à
sa syntaxe relativement simple, tout en permettant la réalisation de programmes
complexes, comme des jeux, des interfaces graphiques, la gestion du réseau...
• il est multi-plateformes: on peut aussi bien l’utiliser sous Windows, MacOS ou
sous une distribution Linux
• il dispose d’une importante communauté, ce qui permet de trouver la solution à
beaucoup de problèmes directement sur Internet
• il est placé sous licence libre : l’utilisateur est libre de l’utiliser, de le modifier, de
le redistribuer y compris commercialement, et tout ça gratuitement.

1) Notion d’algorithme

Définition
Un algorithme est une liste d’instructions permettant d’effectuer une tâche, de
résoudre un problème.

Exemples
• Une recette de cuisine est un algorithme permettant de réaliser un plat.
• Les itinéraires déterminés par le GPS sont des algorithmes permettant de
passer d’un lieu à un autre.

Remarques
Un algorithme peut être écrit en langage naturel ou traduit, dans un langage de
programmation sous la forme d’un programme exécutable par un ordinateur ou une
calculatrice.

Propriété
Un algorithme se découpe en trois parties :
- L’entrée des données : ce sont les informations nécessaires à
l’utilisation de l’algorithme,
- Le traitement des données : c’est la suite d’instruction à effectuer,
- La sortie des données : c’est la réponse attendue à la fin.
2) Variable

Définition
Une variable est une information contenue dans une « boîte » que l’algorithme
va repérer par son nom.
Il y a plusieurs types de variables :
- Numérique : la « boîte » contient un nombre.
- Texte : la « boîte » contient un caractère ou une chaîne de caractères.
- Booléen : la « boîte » contient la valeur « vrai » ou la valeur « faux ».

Remarques
➢ Certains langages n’utilisent pas de déclaration de type variable : c’est le cas
de la plupart des langages des calculatrices programmables, de Scratch, de
Python.
➢ Les nombres sont sans unité.
➢ Pour les images ou dessins, on utilise souvent le pixel, qui est le plus petit
élément d’une image. Un pixel ne peut contenir qu’une couleur.

II- Affectation en python

En programmation, nous avons besoin de stocker des éléments, de les mettre en


mémoire. Pour cela, on procède à l'affectation d'une variable par une donnée.

Propriété
En Python, l’affectation se réalise avec l’opérateur =.

Exemple
Le script :

met en mémoire l’entier 5 dans la variable a.

Met en mémoire la chaine de caractère « easy » dans la variable a.


Exercice 1
Que vaut a à la fin de ce script ?
Exercice de renforcement 1
Vincent Time aimerait avoir un algorithme permettant de permuter les nombres
stockés dans deux variables a et b. Pour simplifier, on suppose que la variable a stocke le
nombre 8, tandis que la variable b stocke le nombre −3.

1) Samira Bien propose l'algorithme suivant :

a) Compléter la table d'exécution commencée ci-dessous, sans prendre en compte


les lignes de commentaires :

b) Est-ce que le programme proposé par Samira permet d'échanger les valeurs
stockées dans les variables a et de b ?

2) Jean Némare propose l'algorithme suivant :

a) Compléter la table d'exécution ci-dessous, sans prendre en compte les lignes de


commentaires :

b) Est-ce que le programme proposé par Jean permet d'échanger les valeurs
stockées dans les variables a et de b ?
3) Proposer un programme qui permet d'échanger les valeurs stockées dans les
variables a et de b ?
III- Affichage en python

Propriété
Une chaine de caractère correspond à un texte pouvant contenir plusieurs symboles.
En Python, une chaine de caractère est le contenu délimité par “ “.
Pour afficher une chaine de caractère en Python on utilise la fonction print ( ) .

Exemple
Testez ces différents scripts :

Exercice 2
Réaliser un script qui contient trois variables : prénom, nom et âge et qui doit afficher :
"Bonjour je m'appelle Alphonse Dansletas, j'ai 358 ans. "
Dans le cas où vous vous appelleriez Alphonse Dansletas et que vous seriez âgé de 358
ans.

IV- Dialogue avec l’utilisateur

Propriété
La fonction input permet d’ouvrir une boîte de dialogue et de récupérer une
information saisie par l’utilisateur.

Remarque
L’information récupérée grâce à un input est une chaîne de caractère.

Exemple

Exercice 3
Ecrire un script en Python qui demande à l'utilisateur, son prénom, son nom et son
âge et qui réalise un affichage comme dans l'exercice 2.

Comme l'information récupérée grâce à un input est une chaîne de caractères, il va


falloir changer le type de la variable pour permettre d'effectuer des calculs avec.
Exercice de renforcement 2
Un boulanger désire un programme qui demande à l'utilisateur le nombre de
baguettes qu'il désire, qui calcule le prix total (sachant qu'une baguette coûte 1.10 €) et
qui affiche le prix que l'utilisateur doit payer.
1) Testez le script suivant :

2) Quel message d'erreur obtenez-vous ?


3) Testez le script suivant :

4) Quelle est la différence avec le code précédent de cet exemple ?

Propriété
L’instruction int permet de changer certaines chaines de caractère en un nombre
entier.
L’instruction float permet de changer certaines chaines de caractère en un flottant, c’est-
à-dire « nombre à virgule ».

Exercice 4
Vous êtes chargé(e) de mettre en place une borne automatique pour régler les droits
d’entrée à un parc d’attraction.
Chaque adulte doit payer 21€ pour rentrer et chaque enfant doit payer 13€. Pour cette
borne, vous devez programmer sur Python un algorithme qui renvoie le prix à payer en
fonction du nombre d’adultes et d’enfants du groupe.
Sachant que la variable nombreAdultes stocke le nombre d’adultes, nombreEnfants le
nombre d’enfants et Prix le prix à payer, proposez un tel algorithme qui demande à
l'utilisateur le nombre de personnes dans chacune des catégories et qui affiche le prix
total à payer.

Exercice 5
La surface 𝑆 en mètre carrés de la peau d'un adulte est donnée approximativement
√𝐿×𝑀
par la formule 6 où 𝐿 est la taille de l'individu en mètres et 𝑀 sa masse en
kilogramme.
Vous devez créer ci-dessous un programme en Python.

Votre programme doit :


• Importer la fonction sqrt de la bibliothèque math en commençant votre code par
la ligne suivante :

Remarque
Vous pourrez ainsi utiliser la fonction racine carrée en saisissant sqrt( ) et en
insérant dans la parenthèses le nombre dont vous voulez la racine carrée.
Exemple

Conduit au stockage du nombre 2 dans la variable a.


• Demander à l'utilisateur un entier qui représente la taille en centimètres d'un
adulte.
• Demander à l'utilisateur un réel qui représente la masse en kilogrammes du
même adulte.
• Calculer ensuite la surface corporelle de cet adulte.
• Afficher enfin cette surface avec une phrase explicative.

Exemple de trace d'exécution apparaissant dans la partie console :


Quelle est la taille en centimètres d'un adulte ? 180
Quelle est la masse en kilogrammes du même adulte ? 81.5
La surface corporelle d'un individu de 180 centimètres et de 81.5 kg est d'environ
2.0187 𝑚2.

V- Instruction conditionnelle en python

Propriété
Voici quelques opérateurs pour réaliser des tests en python :
- Pour tester l’égalité de deux éléments : a==b renvoie true si a et b sont égaux,
false sinon.
- Pour tester la différence de deux éléments : a !=b renvoie true si a et b sont
différent, false sinon.
- Pour tester la comparaison de deux éléments : a < b renvoie true si a < b, false
sinon.
Chaque utilisation de ces tests renvoie une variable qui ne peut prendre que deux
valeurs : true ou false. On parle alors de booléen.

Remarque
Attention à ne pas confondre :
- a=2 qui stocke la valeur 2 dans la variable a
- a==2 qui teste si a est égal à l’entier 2 ou pas.

Exemple
Effectuer le code suivant pour visualiser la différence entre affectation et test
d’égalité :
Propriété : la structure conditionnel « if »
En python, voici la structure conditionnel « if » :

Remarques
➢ Le bloc else n’est pas obligatoire.
➢ Vous remarquerez l’indentation (=décalage) faite dans la structure ; elle délimite
le bloc d’instruction. L’indentation est très importante en python, elle marque le
début d’un bloc.

Exemple

Exercice 6
Qu'affiche le programme de l'exemple dans chacun des cas suivants :
1) Avec a= 8 ?
2) Avec a= −6 ?
3) Avec a= 0 ?
4) Avec a="positif" ?

Exemple
On peut détailler l'exemple précédent en trois cas distinctions par imbrications de
deux instructions conditionnelles :

Remarque
Il est possible de simplifier l'écriture de ces imbrications en utilisant le mot clé elif qui
est la contraction de else if.

Propriété : la structure conditionnel « elif »


En python, voici la structure conditionnel « elif » :
Exemple
On peut réécrire l'imbrication de l'exemple précédent ainsi :

Exercice 7
Écrire un programme qui :
• Demande l'âge d'une personne,
• Affiche si la personne est majeure où mineure.

Exercice 8
Un cinéma pratique trois types de tarifs pour deux personnes.
• si les deux personnes sont mineures, elles payent 7€ chacune,
• si l'une seulement est mineure, elles payent un tarif de groupe de 15€,
• si les deux personnes sont majeures, elles payent 18 € en tout.
Écrire un programme qui :
• Demande l'âge de chacune des personnes,
• Affiche le prix à payer.

VI- Fonction en Python


Une fonction en informatique est un peu comme une fonction en maths. Elle prend
un ensemble d'argument et renvoie quelque chose.
Propriété : Définir une fonction en python
La syntaxe pour définir une fonction en Python est celle-ci :

Exemple
1) Prenons la fonction 𝑓: 𝑥 ⟼ 𝑥 2 .
Si vous voulez implémenter cette fonction en Python, il suffira d'écrire :

Pour calculer l'image de 1, en mathématiques vous feriez 𝑓(1), en Python c'est


pareil !
Testez :

2) Testez aussi le code suivant :


Exercice 9
Écrire une fonction multiplication (a,b) qui renvoie la multiplication de a par b.

Remarque
Dans une fonction on peut faire appel à d'autres fonctions.

Exercice 10
Tester cette fonction :

Donner l'expression de 𝑓 en fonction de a et de b.

VII- Boucle itérative : pour/for

1) Avec l’instruction « range »

Propriété : La structure « for » avec « range »


Voici, en python, la structure d’une boucle répétitive for avec range

Dans cette boucle, 𝑖 prendra les valeurs de 0 à 𝑛 − 1.


Toutes les instructions dans la boucle seront appliquées pour chaque valeurs de
𝑖.
Dans cette structure, on connait à l’avance le nombre de répétition. Dans notre
cas ce nombre est égal à 𝑛.

Exemple
Cette boucle fait le calcul : 0 + 1 + 2 + 3 + 4 + 5 + 6 + +8 + 9 + 10

Remarque
Plus généralement, lors de l’instruction for i in range(m,n), ou m et n sont
deux entiers tel que n>m, 𝑖 prend toutes les valeurs entières comprises entre 𝑚
et 𝑛 − 1.

Exercice 11
Ecrire une fonction somme(n) où n est un entier qui renvoie la valeur de la
somme : 1 + 2 + 3 + ⋯ + 𝑛.
2) Sur un objet itérable

Propriété : La structure « for » avec « in»


Voici, en python, la structure d’une boucle « for » avec « in »

Dans cette boucle, elt va parcourir les éléments de la itérable.


La itérable peut être une chaîne de caractères.

Exemple
Le programme ci-dessous affiche séparément chaque élément d’une chaîne
de caractères.

Exercice 12
1) Que fait le code suivant :

2) Transformer le code pour qu’il compte le nombre de i.

VIII- Boucle itérative « while »

Propriété : La structure « while »


Voici, en python, la structure d’une boucle « while »

Tant que la condition est vraie les instructions du bloc sont exécutées.
Dans cette structure, on ne connait pas à l’avance le nombre de répétitions.

Remarque
Deux écueils à éviter :
- Ne jamais entrer dans une boucle si la condition de départ vaut false : la
boucle while ne sera jamais exécutée.
- Si la condition ne change jamais de valeur, la boucle ne s’arrêtera pas et
l’algorithme restera bloqué sur le while : l’algorithme tournera indéfiniment.
Exemple
Une balle part d'une hauteur de 2 mètres et perd 10% de sa hauteur à chaque
rebond. On cherche le nombre de rebonds pour que la balle atteigne un maximum de
1,5 mètre de hauteur. Ce problème (on parle de problème de seuil) peut être traité
en python par le script suivant :

Vous aimerez peut-être aussi