Chapitre1 Python
Chapitre1 Python
En parallèle de ces chapitres, des travaux pratiques (TP) et projets sur ordinateur
seront prévus (TP en lien avec les réseaux et internet, projet web etc). Tout au long
de l’année, vous allez être initiés à la programmation en Python, HTML et CSS.
▶ Exercice n°12
▶ Exercice n°13
Compléter les lignes 3 et 4 de l’algorithme ci-dessous pour qu’il permette de calculer
On cherche à connaître le plus petit entier N tel que 2N soit supérieur ou égal à
la somme 52 + 62 + 72 + · · · + 242 + 252 .
Variables: n, somme 10000. Pour résoudre ce problème de façon algorithmique :
1: DEBUT_ALGORITHME • On utilise une variable N à laquelle on donne au début la valeur 1.
2: somme ← 0 • On augmente de 1 la valeur de N tant que 2N n’est pas supérieur ou égal à
3: POUR n ALLANT_DE .... A ......
10000.
4: somme ← somme+......
5: FIN_POUR Une structure TANT QUE est particulièrement adaptée à ce genre de problème car
6: AFFICHER somme on ne sait pas a priori combien de calculs seront nécessaires.
7: FIN_ALGORITHME Compléter les lignes 3 et 4 de l’algorithme ci-dessous pour qu’il réponde au pro-
blème :
Boucles TANT QUE... Variables: N
• Il n’est pas toujours possible de connaitre par avance le nombre de répéti- 1: DEBUT_ALGORITHME
2: N ← 1
tions nécessaires à un calcul. Dans ce cas là, il est possible d’avoir recours à 3: TANT_QUE (2N .......) FAIRE
la structure TANT QUE... qui se présente de la façon suivante : 4: N ← .......
TANT_QUE...FAIRE 5: FIN_TANT_QUE
6: AFFICHER N
...
7: FIN_ALGORITHME
FIN_TANT_QUE
Langage informatique
Un langage informatique permet de traduire un algorithme en une série d’instruc- 2) Équivalences entre langage naturel et python
tions compréhensibles et exécutables par un ordinateur. Pour cela, les instructions
écrites dans le langage informatique doivent respecter des spécificités et notam- Affectation d’une valeur à une variable x
ment une syntaxe plus précise et plus compliquée que celle d’un langage naturel.
Langage naturel Équivalent en python
x ← valeur x = valeur
Quelques principes de base à propos du langage python
• Par défaut, le langage python n’inclut pas bon nombre de fonctions mathé-
matiques. C’est pour cela que certains scripts python commenceront par
Lire la valeur d’une variable x entrée au clavier
l’instruction suivante qui indique à python de charger les fonctions mathé-
matiques standard : Si x est un entier (et si l’algorithme ne manipule que des entiers) :
from math import* Langage naturel Équivalent en python
• Les débuts et fins de bloc d’instructions se marquent en langage python LIRE x x = int(input("x?"))
par un décalage horizontal (appelé indentation) et pas par des instructions
Si x est un réel :
particulières. Il faut donc faire très attention en python à ce que les instruc- Langage naturel Équivalent en python
tions d’un même bloc soient écrites avec le même décalage horizontal par x = float(input("x?"))
LIRE x
rapport à ce qui précède et suit ce bloc (on dit que ces instructions doivent
avoir la même indentation). Si on a besoin d’entrer une valeur résultant d’un calcul mathématique (fraction, ra-
cine carrée...) :
Langage naturel Équivalent en python
from math import*
LIRE x
x = eval(input("x?"))
V Afficher un message
Vous pouvez programmer en python en utilisant :
Langage naturel Équivalent en python
1. En utilisant un éditeur par exemple Edupython.
AFFICHER "Message" print("message")
▶ Exercice n°18
Compléter le script python ci-dessous pour qu’il affiche la valeur de la diagonale
d’un rectangle après avoir entré sa largeur et sa longueur :
Script python
from math import*
largeur=float(input("largeur?"))
longueur=.......................................
diagonale=......................................
print(...............)
Instructions conditionnelles
• Avec un SI...ALORS
Langage naturel
Instructions précédant le bloc si...alors
SI condition ALORS
Instructions exécutées si la condition est vérifiée
..................................................
FIN_SI
Instructions suivant le bloc si...alors
Équivalent en python
▶ Exercice n°20
Parmi les quatre scripts python ci-dessous, déterminer le seul valide indiquant le
plus grand de deux entiers.
Script 1 Script 2
a=int(input("a?")) a=int(input("a?"))
b=int(input("b?")) b=int(input("b?"))
if a>b if a>b:
print("le plus grand est a") print("le plus grand est b")
else: else:
print("le plus grand est b") print("le plus grand est a")
Script 3 Script 4
a=int(input("a?")) a=int(input("a?"))
b=int(input("b?")) b=int(input("b?"))
if a>b: if a>b:
print("le plus grand est a") print("le plus grand est a")
else: else:
print("le plus grand est b") print("le plus grand est b")
▶ Exercice n°21
1
On considère l’expression A(x) = √ où x est un réel.
(x − 1) x ▶ Exemple :
Compléter le code du script python ci-dessous pour qu’il corresponde à l’algorithme Langage naturel Équivalent en python
en langage naturel. POUR i ALLANT_DE 1 A 10
for i in range(1,11):
Langage naturel Équivalent en python AFFICHER 7×i
print(7*i)
from math import* FIN_POUR
LIRE x print("script terminé")
x=..................................... AFFICHER "script terminé"
SI x>0 ET x,1 ALORS if.....................................
AFFICHER "A(x) existe" ....................................... ▶ Exercice n°22
SINON else: Compléter le code du script python ci-dessous pour qu’il corresponde à l’algorithme
AFFICHER "A(x) n’existe pas" ....................................... en langage naturel dont le but est de calculer la somme 1 + 2 + 3 + · · · + 99 + 100.
FIN_SI
Langage naturel Équivalent en python
somme ← 0
Boucles POUR...DE...A somme=0
POUR i ALLANT_DE 1 A 100
for i .....................
• Rappel : ces boucles permettent de répéter des instructions un certain nombre somme ← somme+i
somme=................
(connu par avance) de fois. FIN_POUR
print(somme)
Langage naturel AFFICHER somme
Instructions précédant le bloc pour...de...a
▶ Exercice n°23
POUR i ALLANT_DE 1 A 10
Parmi les quatre scripts
√ √python
√ ci-dessous,
√ déterminer
√ le seul valide qui permet de
Instructions qui seront répétées 10 fois
..................................................
calculer la somme 1 + 2 + 3 + · · · + 49 + 50.
FIN_POUR
Script 1 Script 2
Instructions suivant le bloc pour...de...a
from math import* from math import*
somme=0 somme=0
for i in range(1,51) for i in range(1,51):
somme=somme+sqrt(i) somme=somme+sqrt(i)
print(somme) print(somme)
▶ Exercice n°27
Compléter le code du script python ci-dessous pour qu’il corresponde à l’algorithme
en langage naturel.
▶ Exercice n°30
Un ticket de tramway coûte 1 euro sans abonnement. Avec un abonnement annuel de
30 euros, le ticket ne coûte plus que 0,75 euros. Déterminer parmi les quatre scripts
python ci-dessous le seul valide qui affiche, après avoir entré le nombre de tickets
achetés n, si prendre un abonnement est rentable :
n=int(input("nombre de dvd?")) On peut affecter à une variable une liste de nombres (ou de chaines de caractères)
p=int(input("nombre de livres?")) en les encadrant par des crochets et en les séparant par des virgules. Exemple :
if depense_totale(n,p)..................... a=[1,3,5,7]
print("plus de 300 euros")
else: ▶ Remarque : en python, on commence à compter les éléments d’une liste à partir
print("pas plus de 300 euros") de la position 0. Par exemple, si a=[1,3,5,7] :
• le premier élément de la liste est a[0] (position 0) qui vaut donc 1 ;
• le deuxième élément de la liste est a[1] (position 1) qui vaut donc 3 ;
▶ Exercice n°32
• etc.
Un automobiliste roule à 90 km · h−1 pendant 2 heures, puis roule à 120 km · h−1 .
• le dernier terme de la liste est a[3] (position 3) qui vaut donc 7 ;
Compléter le script python ci-dessous pour qu’il indique le nombre de kilomètres
Donc le terme à la position i d’une liste correspond à son (i + 1)ième terme
parcourus en fonction du temps de parcours exprimé en heures :
Situation (a : liste) Syntaxe python
Script python
connaitre le nombre d’éléments de a len(a)
def distance(temps):
if temps<=2: récupérer le terme de a à la position i a[i]
return ........................ ajouter l’élément e à la liste a a.append(e)
else: supprimer le terme de a à la position i del a[i]
return .........................
insère l’élément e à la position i a.insert(i,e)
t=float(input("temps?"))
print (distance(t))