18 - Exercices Outils
Vous pouvez le rendre en markdown sur le site ou en version papier.
Attention, le soin est noté et les codes markdown identiques seront sanctionnés à moins de noter clairement que vous avez travaillé avec un autre élève de la classe.
1 - Evaluation conditionnelle
01° Compléter la condition ci-dessous pour que le programme inverse les variables grand et petit lorsque grand est plus petit que petit.
1
2
3
4
5
6
7
8
9
10 | grand = input("Donnez votre premier nombre entier : ")
grand = int(grand)
petit = input("Donnez un deuxième nombre entier plus petit :")
petit = int(petit)
if CONDITION :
tempo = grand
grand = petit
petit = tempo
print(f"Le plus grand nombre est {grand}")
print(f"Le plus petit nombre est {petit}")
|
Le programme de NSI se veut généraliste en terme de langage. C'est pour cela qu'on n'utilisera pas ceci
grand, petit = petit, grand
.
02° Créer un court programme qui :
- Demande l'année de naissance de l'utilisateur et stocke la valeur transformée en int dans la variable annee
- Calcule l'age de la personne en utilisant une variable annee_actuelle initialisée à l'année actuelle.
- Si la date de naissance est supérieure à l'année actuelle : affiche 'impossible'
- Sinon si la personne a strictement moins de 14 ans : affiche 'enfant'
- Sinon si la personne a strictement moins de 19 ans : affiche 'ado'
- Sinon : affiche 'adulte'
Si vous voulez, on peut obtenir l'année actuelle à partir du code lui-même. Cela évite de devoir mettre le code à jour tous les ans !
1
2 | import datetime
annee_actuelle = datetime.datetime.now().year
|
2 - Boucle bornée FOR
03° Expliquer pourquoi la distance affichée au final est de 7 m. Soyez bien attentif, il y a une sorte de mini-piège.
1
2
3
4 | distance = 4
for deplacement in range(3):
distance = distance + deplacement
print(f"Au final, nous sommes à une distance de {distance} m")
|
04° Quel aurait été le résultat si on avait utilisé range(4)
?
3 - Boucle non bornée WHILE
05° Compléter la condition du programme ci-dessous : il génére en boucle le lancer de 3 dés à 6 faces. Vous devez faire relancer tant que la somme des trois dés n'est pas supérieure ou égale à 13.
Pour répondre : transformer la condition exprimée de façon négative en condition positive est le plus simple. Ou alors, il faut utiliser le mot-clé not.
1
2
3
4
5
6
7
8
9
10
11 | import random
somme = 0
while CONDITION :
de1 = random.randint(1,6)
de2 = random.randint(1,6)
de3 = random.randint(1,6)
somme = de1 + de2 + de3
print(f"Les dés donnent {de1} - {de2} - {de3} pour un total de {somme}")
|
Activité publiée le 13 09 2020
Dernière modification : 15 09 2020
Auteur : ows. h.