TP If Then Else Correction.

publicité
TP If Then Else Correction.
Exercice 1
Écrire une suite d’instructions en langage Python sur votre feuille qui connaissant deux
variables réels renvoie le plus grand des deux et spécifie l’égalité s’ils sont égaux.
a=input("donner un reel")
b=input("donner un reel")
a=float(a)
b=float(b)
if a>b:
print("le max de ", a," et", b , "est", a)
if a<b:
print("le max de ", a," et", b , "est", b)
if a==b:
print( a," et", b , "sont egaux.")
Écrire ces instructions dans l’éditeur puis lancer exécuter dans l’interpréteur.
Tester avec a = 3 et b = 5.
Exercice 2
Écrire une suite d’instructions Python sur votre feuille qui prend en entrée un réel et qui
affiche sa valeur absolue.
a=input("donner un reel")
a=float(a)
if a>=0:
a=a
else:
a=-a
print("la valeur absolue de ",a,"est", a)
Écrire ces instructions dans l’éditeur.
Tester avec x = 14 puis x = −4.
Exercice 3
1. Que fait la fonction randint ? Taper >>> help(randint) . Traduire.
from random import randint
1
2. Quelle bibliothèque faut-il importer ? Comment simule-t-on le résultat d’un dé à 6 faces
avec la fonction randint ?
randint(1,6)
2. Traduire avec Python gain final (positif ou négatif) lors de ce jeu :
Une personne joue avec un dé à 16 faces, il mise une somme S : si le résultat est pair et
compris entre 1 et 5, il gagne 3 fois sa mise, si le résultat est pair et compris entre 6
et 10, il gagne 2 fois sa mise, si le résultat est pair et compris entre 11 et 16 alors il
gagne sa mise et si le résultat est impair, il perd sa mise.
S=input("quelle est votre mise")
S=int(S)
de=randint(1,16)
if (1<=de<=5) and (de%2==0) :
G=2*S
elif (6 <= de <=10) and (de%2==0):
G=S
elif (11<=de<=16) and (de%2==0):
G=0
else:
G=-S
print("vous avez gagné", S)
Ecrire les instructions dans l’éditeur et tester le avec S ∈ {20; 5}.
Exercice 4
On désire sécuriser une enceinte pressurisée. On se fixe une pression seuil et un volume
seuil :
pSeuil = 2.3
vSeuil = 7.41
On demande de saisir la pression et le volume courant de l’enceinte et d’écrire un script
qui simule le comportement suivant :
si le volume et la pression sont supérieurs aux seuils : afficher ”arrêt immédiat” ;
si seule la pression est supérieure à la pression seuil : afficher ” demander de diminuer la
pression de l’enceinte”
si seul le volume est supérieur au volume seuil : afficher ” demander de diminuer le volume
de l’enceinte ” ;
sinon déclarer que ”tout va bien”.
Ce comportement sera implémenté par une alternative multiple.
p=input("quelle est la pression ?")
p=float(p)
v=input("quelle est le volume ?")
v=float(v)
pS=2.3
vS=7.41
2
if (p>pS) and (v>vS):
print("Arret immediat")
elif (p>pS):
print("diminuer la pression")
elif (v>vS):
print("diminuer le volume")
else:
print("all is good!")
Exercice 5
1. Deviner ce que va renvoyer la dernière instruction :
>>> a, b = 1, 2
>>> a = b
>>> b = a
>>> print(a, b)
>>> 2, 2
2. Écrire sur votre feuille des instructions permettant l’échange de deux variables X et Y
données.
Par exemple, si X contient la valeur 3 et Y contient la valeur 5 alors à la suite d’instructions, X doit contenir 5 et Y doit contenir 3 sans écrire Y = 3 biensur ! ! ! A quoi
faut-il penser ?
a=input("donner un reel")
b=input("donner un reel")
a=float(a)
b=float(b)
z=a
a=b
b=z
On comprend la notion de variable de sauvegarde, rôle joué par la variable z.
Exercice 6
On considère la suite (un )n définie par :
u0 = b et ∀n ∈ N, un+1


3un
3un < 1
3un − 1 1 ≤ 3un < 2
=

3un − 2
3un ≥ 2
Écrire les instructions Python permettant de demander à un utilisateur extérieur une
valeur de u0 .
u=input("donner une valeur reelle")
u=float(u)
3
Écrire les instructions Python permettant de calculer le terme suivant un+1 connaissant
le terme un .
if 3*u<1:
u=3*u
elif 1<= 3*u <2:
u=3*u-1
else:
u=3*u-2 # c’est bien la variable u qui devient 3*u-2
Calculer avec la valeur u0 = 0.1 . Que vaut u1 ? u2 ?
4
Téléchargement