Première · NSI

Contrôle n°1 — Représentation des données : types et valeurs

Ce devoir évalue la compréhension des types de base en Python et la représentation des nombres entiers et flottants.

1h · Facile · 3 exercices · Barème sur 20 points

Entraînement généré par IA — vérification pédagogique complète non acquise.

Ce sujet n’est pas une annale officielle. La présence d’un corrigé ne garantit pas son exactitude. Vérifie les méthodes avec ton cours ; une note d’entraînement n’est pas une note officielle. Signaler une erreur.

La fenêtre d’impression de ton navigateur permet aussi d’enregistrer en PDF. Aucun téléchargement de PDF officiel n’est annoncé ici.

Sujet

Travaille d’abord sans consulter le corrigé. Note tes réponses et les étapes de ton raisonnement.

Exercice 1Typage et conversions (8 points)

1. Quelle est la différence fondamentale entre un type entier (`int`) et un type flottant (`float`) en Python ? Donnez un exemple concret où l'utilisation de l'un est obligatoire et l'autre impossible. 2. Soit l'affectation `x = 15 / 4`. Quel est le type de la valeur référencée par `x` ? Justifiez votre réponse. 3. Écrivez le code Python nécessaire pour convertir la chaîne de caractères `"123.45"` en un nombre flottant, puis pour arrondir ce nombre à l'entier le plus proche.

Exercice 2Problème : Gestion d'un stock (7 points)

On souhaite écrire un programme pour gérer le stock d'un produit. Le stock initial est de 150 unités. Chaque jour, on enlève du stock la quantité vendue, qui est un nombre entier. Le programme doit aussi calculer le pourcentage du stock restant par rapport au stock initial. 1. Déclarez les variables `stock_initial`, `stock_actuel` et `vendu` avec des types adaptés. Justifiez vos choix. 2. Écrivez une séquence d'instructions qui met à jour le `stock_actuel` après une vente de 25 unités. 3. Écrivez le calcul qui affecte à une variable `pourcentage_restant` la proportion de stock restant sous forme de pourcentage (nombre entre 0 et 100). Quel type doit avoir cette variable ?

Exercice 3Analyse de code (5 points)

On exécute le code suivant : python a = 10 b = 3 r1 = a / b r2 = a // b r3 = a % b print(type(r1), r1) print(type(r2), r2) print(type(r3), r3) Qu'affiche ce programme ? Précisez le type et la valeur de chaque variable `r1`, `r2` et `r3`.

Corrigé et barème

Le total du barème est de 20 points. Les réponses rédigées admettent plusieurs formulations pertinentes ; compare le raisonnement, pas seulement les mots.

Exercice 1Typage et conversions : 8 points
1. Le type `int` représente les nombres entiers relatifs, exacts. Le type `float` représente les approximations des nombres réels. Exemple : compter des élèves nécessite un `int` ; calculer une moyenne peut nécessiter un `float`. 2. Le type est `float`. L'opérateur `/` effectue une division réelle en Python, produisant toujours un résultat de type flottant. 3. `valeur_float = float("123.45")` suivi de `valeur_arrondie = round(valeur_float)` ou `int(valeur_float + 0.5)` pour un arrondi classique.
Exercice 2Problème : Gestion d'un stock : 7 points
1. `stock_initial = 150` (int), `stock_actuel = 150` (int), `vendu = 0` (int). Les stocks et les ventes sont des quantités entières et dénombrables. 2. `vendu = 25` puis `stock_actuel = stock_actuel - vendu`. 3. `pourcentage_restant = (stock_actuel / stock_initial) * 100`. Cette variable doit être de type `float` car la division peut donner un résultat non entier.
Exercice 3Analyse de code : 5 points
Le programme affiche : `<class 'float'> 3.3333333333333335` pour `r1` (division réelle). `<class 'int'> 3` pour `r2` (division entière, quotient). `<class 'int'> 1` pour `r3` (modulo, reste de la division entière).

Comprendre, puis réessayer

Repère une erreur précise, explique ce qui t’a manqué et refais l’exercice sans le corrigé. Reprends la notion dans ton cours avant de passer à un autre sujet.

Planifier une révision · Chercher un autre entraînement

Nyms