QCM
Les Flottants☘
Rappel
Les questions ci-dessous sont là pour vous aider à contrôler ce que vous avez retenu.
Si vous ne répondez pas à toutes les questions sans hésitation, c'est sans doute qu'il faut retravailler les pages précédentes.
Pour chaque question, il faut trouver la (ou les) bonne(s) réponse(s).
QCM 1☘
Quelle est la valeur affichée à l'exécution des instructions suivantes ?
1 2 3 4 | |
-
0.0 -
0.000001 -
-0.000001 - Aucune car la boucle est infinie :
xne prend jamais exactement pour valeur0.0
Réponse
-
0.0 -
0.000001 -
-0.000001 - Aucune car la boucle est infinie :
xne prend jamais exactement pour valeur0.0
En effet, 0.5 est représenté de manière exacte en flottant.
QCM 2☘
Quelle est la valeur affichée à l'exécution des instructions suivantes ?
1 2 3 4 | |
-
0.0 -
0.000001 -
-0.000001 - Aucune car la boucle est infinie :
xne prend jamais exactement pour valeur0.0
Réponse
-
0.0 -
0.000001 -
-0.000001 - Aucune car la boucle est infinie :
xne prend jamais exactement pour valeur0.0
En effet, 0.1 est représenté de manière approchée en flottant.
QCM 3☘
Un réel x s'écrit (11,11)_2 en base deux.
Quelle est son écriture en base dix ?
- 3,3
- 3,75
- 75,75
- 75,3
Réponse
- 3,3
- 3,75
- 75,75
- 75,3
En effet (11,11)_2 = 1 \times 2^1 + 1 \times 2^0 + \frac{1}{2^1} + \frac{1}{2^2} = 3,75.
QCM 4☘
Voici le code d'une fonction définie en Python :
1 2 3 4 5 6 7 | |
Que renvoie la console après l'exécution de l'instruction suivante ?
>>> nombre_etapes(1.0)
- 10
- 11
- Une erreur
- Aucune des réponses précédentes n'est correcte
Réponse
- 10
- 11
- Une erreur
- Aucune des réponses précédentes n'est correcte
Le programme va tourner indéfiniment. Les additions se font avec le
représentant de 0.1 en machine, qui n'est pas égal à 0,1 comme on
l'a vu dans ce chapitre.
-
Avec dix termes
0.1:>>> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 0.9999999999999999 -
Avec onze termes
0.1:>>> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 1.0999999999999999
Ainsi, la variable nombre n'aura jamais la valeur 1.0.
Important
Encore une fois, n'utilisez pas les comparateurs « == »
ou « != » avec les flottants.
QCM 5☘
On exécute les instructions suivantes :
>>> a = 1 + (-1) + 10**(-40)
>>> b = 10**(-40) + 1 + (-1)
- les valeurs désignées par
aetbsont égales. - les valeurs désignées par
aetbne sont pas égales.
Réponse
- les valeurs désignées par
aetbsont égales. - les valeurs désignées par
aetbne sont pas égales.
Dans le cas 1, le calcul 1-1+ 10**(-40) est 0 + 10**(-40) = 10**(-40).
Dans le cas 2, le calcul 1/10**(-40) + 1 -1 est 1 -1 = 0
(car 1/10**(-40) + 1 donne 1 avec les problèmes d'arrondis liés à la
représentation des flottants).