Aller au contenu

Activités III)

Activité III.01


Trouvez la représentation binaire de .

Activité III.02


Trouvez la représentation binaire de .

Activité III.03


Trouvez la représentation binaire de .

Activité III.04


Trouvez la représentation décimale de .

Activité III.05


Trouvez la représentation décimale de .

Activité III.06


Trouvez la représentation binaire de qui lui est en base 10.

Activité III.07


À l'aide de Thonny, tapez dans la console : . Quel résultat obtenez-vous ?

Activité III.08


Soit le programme suivant.

x = 1.6 + (3.2 + 1.7)
y = (1.6 + 3.2) + 1.7

if (x == y) :
    print("Ok")
else :
    print("Oups !")

print(f"x = {x:.20f}")
print(f"y = {y:.20f}")
  • Le plus souvent, ces erreurs ne sont pas gênantes.
  • Si on veut faire des calculs exacts, on utilisera le module decimal :
from decimal import Decimal

x = Decimal("1.6") + ( Decimal("3.2") + Decimal("1.7") )
y = ( Decimal("1.6") +  Decimal("3.2") ) + Decimal("1.7")

if (x == y) :
    print("Ok")
else :
    print("Oups !")

print(f"x = {x:.20f}")
print(f"y = {y:.20f}")

Activité III.09


Soit le programme suivant.

1
2
3
4
import sys

print(f"min = {sys.float_info.min}")
print(f"max = {sys.float_info.max}")
  • Il vous permet d'afficher les bornes pour les nombres flottants de votre système.
  • À noter qu'en Python 3, il n'y a pas de limites pour les calculs avec les entiers.

Activité III.10


Taper dans la console :

>>> 1e28+7-1e28
  • Dans la console, on peut utiliser directement ce format de flottants. Par contre, dans un programme, il faudra utiliser par exemple float("1e28").
  • Quel est le résultat attendu ?
  • Quel est le résultat obtenu ? Pourquoi?
  • Faire différents essais avec le programme suivant.
1
2
3
4
5
6
7
n = 10
a = 6
x = float(f"1e{n}")+a-float(f"1e{n}")
print(f"Résultat attendu : {a}")
print(f"Résultat obtenu : {x}")
y = float(f"1e{n}") + a
print(f"y = {y}")
  • Pour n = 16 et a = 5, on obtient un résultats bien curieux ...

Activité III.11


Soit le programme suivant.

1
2
3
4
5
6
x = float("1e200")
y = x*x
z = y/y
print(x)
print(y)
print(z)
  • Justifier les résultats.