Adloun

NSI (première) · Chapitre 2 · Exercice supplémentaire

Hors programme. La sommation de Kahan corrige l'accumulation d'erreurs…

Flottants, booléens et textes · Sous le capot des flottants · niveau 3 (difficile)

Énoncé

Hors programme. La sommation de Kahan corrige l'accumulation d'erreurs en mémorisant, à chaque tour, ce que l'addition vient de perdre. L'implémenter, la comparer à la somme naïve sur [0.1] * 1000, et expliquer la ligne c = (u - s) - y.

Pour démarrer : comment l'IA t'aide

Élève

Je vois l'idée générale de la sommation de Kahan, mais je ne sais pas par où commencer pour l'implémenter. Je dois d'abord écrire la boucle ou réfléchir à la variable c ?

IA

Commence par le plus simple : la somme naïve. Écris une boucle qui parcourt la liste et ajoute chaque élément à un accumulateur. Une fois que ça tourne, tu pourras comparer avec la version de Kahan. Que mettrais-tu dans cette première version ?

Élève

Pour la somme naïve, je pars de s = 0 et j'ajoute chaque x. Mais pour Kahan, je ne comprends pas à quoi sert la variable c : elle garde quoi exactement ?

IA

L'énoncé dit qu'elle mémorise « ce que l'addition vient de perdre ». En flottants, quand tu calcules s + y, le résultat est arrondi : une petite partie de y n'est pas ajoutée. À ton avis, comment pourrait-on récupérer cette partie perdue à partir de s, y et du résultat arrondi ?

L'IA ne donne pas la réponse : elle pose la question qui fait avancer. Le corrigé de cet exercice n'est pas publié : à toi de continuer.

Continue cet exercice avec l'IA

Reprends l'exercice là où le dialogue s'arrête.

Continuer avec l'IA — gratuit, sans inscription

Gratuit, sans inscription. L'IA te guide pas à pas, sans te donner la réponse.

Le cours du chapitre · Tous les exercices du chapitre

Continuer avec l'IA, gratuit →