Flottants

Questions

QCM sur les flottants

  1. Quel type Python est utilisé pour représenter les réels de façon approchée au format IEEE 754 en double précision ?

    • decimal

    • real

    • float

    • double

  2. Un élève écrit le programme suivant :

    Python
    x = 1e308
    print(x * 1000)
    

    Quel est l'affichage obtenu ?

    • Un nombre très grand mais correct

    • 0.0 car le nombre est trop grand pour être représenté

    • inf

    • Un message d'erreur Overflow indiquant un dépassement de capacité

  3. On souhaite écrire une fonction qui compare deux flottants a et b. Laquelle est la plus adaptée ?

    • return a == b

    • return abs(a - b) < 1e-9

    • return round(a, 9) == round(b, 9)

    • return a is b

  4. Un élève utilise le code suivant pour mesurer une distance :

    Python
    d = 0.1 + 0.2
    print(d == 0.3)
    

    Pourquoi ce test renvoie-t-il False ?

    • Parce que 0.1 + 0.2 est strictement supérieur à 0.3

    • Parce que == ne fonctionne pas pour les additions en Python

    • Parce que la somme 0.1 + 0.2 n'est pas exactement représentable en binaire

    • Parce que Python arrondit toujours à l’entier le plus proche

  5. Quelle affirmation est correcte concernant \(0,1\) et sa représentation en Python par le flottant 0.1 ?

    • C’est une représentation exacte en mémoire.

    • \(0,1\) s’écrit de manière finie en base deux.

    • \(0,1\) est représenté de manière approchée car sa représentation en base deux est infinie.

    • \(0,1\) est automatiquement arrondi à 0

  6. Quelle boucle parmi les suivantes est infinie en Python ?

    • x = 1; while x > 0: x = x - 1

    • x = 1; while x != 0: x = x - 0.1

    • x = 1; while x > 0: x = x - 0.1

    • x = 10; while x != 0: x = x // 2