Adloun

Dresser la table de à trois variables

Exercice d'entraînement · niveau 2 · NSI (première), chapitre 2 — Flottants, booléens et textes · Court-circuit, tables et équivalences

Énoncé

Dresser la table de à trois variables. Montrer qu'elle vaut exactement quand le nombre de parmi , , est impair. À quoi cela sert-il ?

Corrigé

Huit lignes (), écrites dans l'ordre du comptage binaire pour n'en oublier aucune :

nombre de
00000 (pair)
00111 (impair)
01011 (impair)
01102 (pair)
10011 (impair)
10102 (pair)
11002 (pair)
11113 (impair)

La quatrième colonne vaut exactement sur les lignes où la cinquième est impaire.

Pourquoi. Le ou exclusif est l'addition modulo : est le reste de dans la division par , c'est-à-dire la parité du nombre de . Le raisonnement vaut pour un nombre quelconque de variables.

À quoi cela sert. C'est le bit de parité, le contrôle d'erreur le plus simple qui existe : on ajoute à un octet transmis un neuvième bit égal au XOR des huit autres. À la réception, on recalcule ; si la parité ne colle plus, un bit a été altéré. Un seul bit de plus, et toute erreur simple est détectée.

Sa limite, à connaître : deux erreurs se compensent et passent inaperçues. Détecter n'est d'ailleurs pas corriger — c'est l'affaire des codes correcteurs, hors programme.

Contrôle : a ^ b ^ c == (a + b + c) % 2 est vrai sur les huit lignes.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.