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é.