Exercices constructions élémentaires
Dans le dossier personnel NSI/langages, créer un sous-dossier Lang03-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.
Pour écrire les algorithmes on pourra au choix:
- utiliser le cahier,
- les placer en commentaires au début du fichier Python.
Pour écrire un commentaire Python:
- sur une ligne
# un commentaire
- sur plusieurs lignes
"""
un commentaire
sur plusieurs lignes
"""
Exercices
Exercice 1 *
- 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 demande à l’utilisateur les longueurs des côtés d’un rectangle et qui affiche son aire. Les longueurs seront des valeurs entières.
Exercice 3 *
Écrire un programme qui demande l’âge de l’utilisateur et qui affiche s’il est majeur ou mineur.
Exercice 4 *
É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 5 **
Écrire un programme qui demande à l’utilisateur de saisir 3 nombres x, y et z et lui affiche le maximum.
Exercice 6 **
É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 7 *
Écrire le programme Python correspondant à l’algorithme suivant:
- Initialiser somme à 0.
- Répéter 10 fois:
- Choisir un nombre aléatoire entre 1 et 10.
- L’ajouter à somme.
- Afficher somme.
Exercice 8 *
Écrire le programme Python correspondant à l’algorithme suivant:
- Choisir un nombre aléatoire entre 1 et 10.
- Tant que l’utilisateur ne trouve pas le nombre:
- Lui demander de donner un nombre.
- Afficher le nombre d’essais.
Exercice 9 *
- Écrire un algorithme pour calculer la somme des 100 premiers entiers (1+2+3…+100).
- Implémenter cet algorithme en Python.
Exercice 10 *
Écrire un programme pour calculer la somme des nombres impairs parmi les 100 premiers entiers (1+3+5+…+99).
Exercice 11 **
Écrire un programme qui demande un nombre entre 1 et 10 et affiche la table de multiplication correspondante.
Exercice 12 *
Écrire un programme qui affiche un compte à rebours en partant de 10 jusqu’à 0.
Exercice 13 *
Écrire un programme qui affiche tous les nombres pairs entre 2 et 25.
Exercice 14 **
- 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 15 *
Écrire un programme qui demande un entier positif n et affiche PAIR s’il est divisible par 2, IMPAIR sinon.
Exercice 16 *
É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 17 **
On dispose d’une feuille de papier d’épaisseur 0,1 mm. Combien de fois doit-on la plier au minimum pour que l’épaisseur dépasse la hauteur de la tour Eiffel 324 m?
- Écrire un algorithme pour résoudre ce problème.
- Implémenter cet algorithme en Python.
Exercice 18 **
Écrire un programme qui demande à l’utilisateur de saisir un nombre entier n et de lui afficher tous les diviseurs de ce nombre. Rappel: Un entier a est un diviseur de n si le reste de la division de n par a est nul.
Exercice 19 *
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 20 *
Écrire le programme suivant avec une boucle bornée.
i = 0
while i < 10:
resultat = i*i
print(resultat)
i = i + 1
Exercice 21 *
Écrire le programme suivant avec une boucle bornée.
k = 10
while k > 0:
print(k*k)
k = k - 2
Exercice 22 *
É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 23 **
É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$