Exercices constructions élémentaires

Lang 04
Remarque
  • 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.
À retenir

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.

  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, à 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 2-bis *

É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 **

On souhaite écrire un programme qui demande à l’utilisateur de saisir 3 nombres x, y et z et lui affiche le maximum.

  1. Sur papier, proposer un algorithme qui réponde au problème.
  2. Dérouler l’algorithme sur papier, dans deux cas de figure:
    • suivre les valeurs affectées aux variables
    • préciser les valeurs affichées.
  3. 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 **

  1. 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.
  1. Écrire le programme Python correspondant.
  2. Suivre l’exécution du programme grâce au débogueur.

Exercice 6-bis **

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 7 *

  1. Écrire un algorithme pour calculer la somme des 100 premiers entiers (1+2+3…+100).
  2. Implémenter cet algorithme en Python.

Exercice 7-bis *

Écrire un programme pour calculer la somme des nombres impairs parmi les 100 premiers entiers (1+3+5+…+99).

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 9-bis *

Écrire un programme qui affiche tous les nombres pairs entre 2 et 25.

Exercice 10 **

  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 11 *

  1. 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 12-bis **

É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 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 14-bis *

Écrire le programme suivant avec une boucle bornée.

k = 10
while k > 0:
    print(k*k)
    k = k - 2

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$