Exercices constructions élémentaires

Lang 03
Remarque

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 *

  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
  1. Même question
>>> a = 2
>>> b = a*a
>>> b = a*b
>>> b = b*b
>>> b
  1. Qu’affichent les instructions suivantes?
print("i+")
print(i+)
  1. 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 *

  1. Écrire un algorithme pour calculer la somme des 100 premiers entiers (1+2+3…+100).
  2. 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 **

  1. Tester les instructions ci-après et expliquer ce qu’elles renvoient.
>>> 20/3
>>> 20//3
>>> 20%3
  1. Écrire un programme qui demande un nombre de secondes et affiche le nombre d’heures, minutes, secondes correspondantes.
  2. 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?

  1. Écrire un algorithme pour résoudre ce problème.
  2. 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$