Coding Dojo

Edit on Github

DigiSim

DigiSim

L’objectif de ce kata est de developper un logiciel de simulation de montage électroniques combinatoires à l’aide de portes réalisant les opérateurs logiques de base.

Un circuit sera vu comme un assemblage d’éléments actifs (les portes logiques) et d’éléments passifs (les connexions). Une borne peut être utilisée comme l’entrée d’un élément actif (qui fixe la valeur à un moment donné) ou comme la sortie d’un élément actif (ce qui permet de recueillir la valeur calculée). Un dispositif comportera donc une ou plusieurs entrée et une ou plusieurs sorties. Par exemple :

On doit pouvoir connecter les composants entre eux pour réaliser un circuit logique. Quand l’assemblage a été créé, un appel à la méthode value() déclenche le calcul de la valeur de sortie (à partir des valeurs d’entrée – directes et/ou indirectes). Les valeurs sont booléennes.

Il faut implémenter les composants suivants:

Et des composants d’addition suivants (construit à l’aide des composants précédants) :