Exercices constructions élémentaires
- Dans le dossier personnel NSI/langages, créer un sous-dossier Lang04-exercices.
- Il faudra créer un fichier Python pour chaque exercice.
- D’une manière générale, il est judicieux d’éviter accents et espaces dans les noms.
- On écrira les algorithmes sur le cahier NSI.
- Les exercices similaires permettent de consolider les acquis. Ils sont optionnels.
Pour écrire un commentaire Python:
- sur une ligne
# un commentaire
- sur plusieurs lignes
"""
un commentaire
sur plusieurs lignes
"""
Exercices
Exercice 1 *
Répondre d’abord dans le cahier, puis vérifier à l’aide de l’ordinateur.
- Quelle est la valeur affichée par l’interprète après la séquence suivante?
>>> a = 3
>>> a = 4
>>> a = a+2
>>> a
- Même question
>>> a = 2
>>> b = a*a
>>> b = a*b
>>> b = b*b
>>> b
- Qu’affichent les instructions suivantes?
print("i+")
print(i+)
- Que fait la séquence suivante?
a = 2
b = 3
tmp = a
a = b
b = tmp
Exercice 2 *
Écrire un programme qui, à partir de la saisie d’un rayon et d’une hauteur, calcule le volume d’un cône droit. Rappel: volume = 1/3 × base × hauteur
Exercice 3 *
Écrire un programme qui demande l’âge de l’utilisateur et qui affiche s’il est majeur ou mineur.
Exercice 4 **
On souhaite écrire un programme qui demande à l’utilisateur de saisir 3 nombres x, y et z et lui affiche le maximum.
- Sur papier, proposer un algorithme qui réponde au problème.
- Dérouler l’algorithme sur papier, dans deux cas de figure:
- suivre les valeurs affectées aux variables
- préciser les valeurs affichées.
- Implémenter cet algorithme en Python.
Exercice 5 **
Écrire un programme qui demande l’âge de l’utilisateur et qui renvoie le prix de l’abonnement de la carte cinéma à payer:
- 10€ si strictement moins de 16 ans,
- 15€ si entre 16 et 25 ans,
- 25€ si entre 26 et 59 ans,
- 16€ si 60 ans ou plus.
Exercice 6 **
- Dérouler l’algorithme suivant sur papier:
- suivre les valeurs affectées aux variables
- préciser les valeurs affichées.
- Initialiser la variable somme à 0.
- Initialiser la variable tour à 0.
- Tant que tour est strictement inférieur à 3:
- Affecter un nombre aléatoire entre 1 et 10 à la variable nombre.
- L’ajouter à somme.
- Incrémenter tour.
- Afficher somme.
- Écrire le programme Python correspondant.
- Suivre l’exécution du programme grâce au débogueur.
Exercice 7 *
- Écrire un algorithme pour calculer la somme des 100 premiers entiers (1+2+3…+100).
- Implémenter cet algorithme en Python.
Exercice 8 **
Écrire un programme qui demande un nombre entre 1 et 10 et affiche la table de multiplication correspondante.
- 3×0=0
- 3×1=3
- 3×2=6
- …
Exercice 9 *
Écrire un programme qui affiche un compte à rebours en partant de 10 jusqu’à 0.
Exercice 10 **
- Tester les instructions ci-après et expliquer ce qu’elles renvoient.
>>> 20/3
>>> 20//3
>>> 20%3
- Écrire un programme qui demande un nombre de secondes et affiche le nombre d’heures, minutes, secondes correspondantes.
- Pour les plus avancés: Améliorer le programme pour qu’il affiche chaque résultat sur deux digits (ajouter un 0 si le résultat est inférieur à 10).
Exercice 11 *
- Qu’est-ce qui caractérise un nombre pair d’un nombre impair? S’aider de l’exercice précédent pour répondre. Écrire un programme qui demande un entier positif n et affiche PAIR s’il est divisible par 2, IMPAIR sinon.
Exercice 12 *
Écrire un programme qui demande à l’utilisateur de saisir deux nombres entiers a et b et lui affiche le quotient et le reste de la division euclidienne de a par b.
Exercice 13 *
Avec une boucle bornée et la fonction range, écrire dans la console les séquences suivantes:
3
4
5
6
5
10
15
20
25
5
4
3
2
1
Exercice 14 *
Écrire le programme suivant avec une boucle bornée.
i = 0
while i < 10:
resultat = i*i
print(resultat)
i = i + 1
Exercice 15 *
Écrire le programme suivant avec une boucle non bornée.
res = 0
for i in range(0, 25, 3):
res = res + i
print(res)
Exercice 16 **
Écrire un programme qui demande un entier n et calcule 10 à la puissance n en utilisant une boucle bornée. Rappel: $10^0 = 1$ et $10^3 = 10\times10\times10$