le rapport

publicité
TP n°4 : L’algèbre de Boole
avec Python
Problématique :
Comment écrire un programme python qui dresse les tableaux de vérité du NON p, du p OU q
et du p ET q ?
Nous devons donc tomber sur les résultats suivants :
Table du NON p :
p
True
False
NON p
False
True
Table du p OU q :
p
True
True
False
False
q
True
False
True
False
p OU q
True
True
True
False
q
True
False
True
False
p ET q
True
False
False
False
Table du p ET q :
p
True
True
False
False
Développement :
Qu’est ce qu’une table de vérité ?
Une table de vérité est un tableau qui représente des entrées (en colonne) en binaire (0 pour
FALSE et 1 pour TRUE). Une sortie, également représentée sous forme de colonne, est la
résultante des états d'entrée, elle-même exprimée sous forme d'état binaire. En d'autres mots,
lorsque les entrées remplissent les conditions du circuit, la sortie est activée.
Les tables de vérités s'appuie sur les portes logiques booléennes qui ne conçoivent que 2 états
en binaire qui donne 1 pour TRUE et 0 pour FALSE.
Ces tables de vérité sont souvent utilisées en électronique (on les nommes alors « portes
logiques ») et en informatique (ce sont des tests).
Comment lire une table de vérité ?
Pour lire une table de vérité, on recherche dans la liste des entrées l'état souhaité pour en
déterminer la sortie (qui se trouve sur la même ligne).
Pour arriver à écrire le programme nous nous sommes aidé des exercices qui précédaient le
mini projet.
Pour notre programme nous avons défini une fonction qui permet d'afficher les bordures du
tableau, une chaîne variable1 qui affichera le nom des variables dans tableau, une boucle for
qui contient une chaîne variable2 qui permet, grâce à la fonction format(), de mettre dans le
tableau les variables.
Après avoir défini la fonction nous avons fait une boucle if qui permet à l'utilisateur de choisir
la table qu'il veut afficher.
Dans les boucles if nous définissons p et q comme des chaînes ne contenant que des 0 et des 1
(1 pour vrai et 0 pour faux). La chaîne varible1 change en fonction de la table que l'on
souhaite afficher. Pour la chaîne variable2, les chiffres entre accolades correspondent au rang
des variables dans le format(), Ces chiffres seront remplacés par la variable du format() et on
aura donc affiché 0 ou 1.
Cependant nous avons du faire face à plusieurs petits problèmes :
–
on a dut définir q dans la table du NON p pour éviter un bug du programme
–
nous avons dut remplacer le true et le false par 1 et 0 afin d'éviter un problème
d'affichage (les bords du tableau n'était pas alignés)
Test :
La table de vérité du NON p :
La table de vérité du p OU q :
La table de vérité du p ET q :
Conclusion :
Ce tp nous a permis d'apprendre de nouvelles choses notamment le principe d'une table de
vérité logique qui nous à parut de prime abord compliquées mais après avoir faire les
exercices tout s'est éclairé.
Pour réussir à obtenir un programme optimisé au maximum de nos capacités, l'ensemble du
groupe a travaillé en synergie.
Nous avons rencontré cependant beaucoup de problème puisque nous avons dut très
rapidement mettre au point un tout nouveau programme répondant beaucoup mieux aux
attentes de la problématique posé.
Téléchargement