NSI (terminale) · Chapitre 15 · Exercice d'entraînement
De la logique à l'addition
Histoire de l'informatique · Machines abstraites et circuits logiques · niveau 3 (difficile)
Énoncé
De la logique à l'addition. L'algèbre de Boole, appliquée aux circuits par Shannon en 1937, est à la base de l'électronique numérique : un processeur additionne avec des portes logiques. On représente un bit par l'entier ou , et on se donne trois portes :
def et(a, b):
return a * b
def ou(a, b):
return a + b - a * b
def oux(a, b): # ou exclusif : 1 si a et b different
return (a + b) % 2
- Un additionneur complet reçoit deux bits , et une retenue entrante , et renvoie le bit de somme et la retenue sortante , de sorte que . Montrer que et conviennent, où désigne le ou exclusif.
- Écrire
additionneur_complet(a, b, r)qui renvoie le couple(s, r2), et le vérifier sur les huit cas. - Un nombre de bits est représenté par la liste de ses bits, du poids fort au poids faible (
[1, 0, 1, 1]pour ). Écrireadditionner(x, y)qui additionne deux listes de même longueur en chaînant des additionneurs complets, et renvoie une liste ayant un bit de plus. - Vérifier la fonction sur tous les couples de nombres de bits.
Un exercice à chercher : son corrigé n'est pas publié. Sur Adloun, le tuteur guide par questions, sans donner la réponse.