1. Tester l'égalité de deux nombres flottants
toute la question, et le programme tourne indéfinimentCe qu'il ne faut pas écrire
« while x != 2: x = x + 0.1 »
Ce qu'il faut écrire
« while abs(x - 2) > 1e-9: x = x + 0.1 : une condition d'arrêt numérique s'écrit toujours avec une INÉGALITÉ. »
Pourquoi : Les flottants sont des approximations binaires : ne vaut pas exactement en machine. Une égalité peut donc n'être jamais atteinte, même quand le raisonnement mathématique dit qu'elle devrait l'être.