Les opérateurs logiques

Application 1 : recherche des années bissextiles

Une année bissextile est une année comportant 366 jours au lieu de 365 jours pour une année régulière. Le jour supplémentaire, le 29 février, est placé après le dernier jour de ce mois qui compte habituellement 28 jours dans le calendrier grégorien. 

Contraîrement à une idée reçue, les années bissextiles n'ont pas lieu de manière régulière tous les 4 ans.

Voici la définition exacte d'une année bissextile donnée sous forme d'une condition logique :

une année est bissextile si son numéro est multiple de 4 et pas multiple de 100, ou multiple de 400

Exemple : 2024 sera bissextile (multiple de 4), 2100 ne sera pas bissextile (multiple de 100), mais 2400 sera bien bissextile (multiple de 400).

Proposez une fonction bissextile(annee) en Python qui reçoit en paramètre le numéro d'une année et qui renvoit en sortie un message indiquant en clair si l'année est bissextile ou pas.

Voici le résultat attendue de votre fonction bissextile(annee) :

>>> bissextile(2024)
2024 est une année bissextile
>>> bissextile(2026)
2026 n'est pas une année bissextile
>>> bissextile(2100)
2100 n'est pas une année bissextile
>>> bissextile(2400)
2400 est une année bissextile

Question : les années 1880, 1890, 1896, 1900, 1904, 1980, 1990, 1996, 2000, et 2004 étaient-elles bissextiles ?

Améliorez votre fonction afin qu'elle attende 2 paramètres : une année de départ et une année de fin. Elle doit alors afficher l'ensemble des années bissextiles comprise dans cet intervalle comme dans l'exemple suivant :

>>> bissextile(2080,2120)
Voici les années bissextiles entre 2080 et 2120 :
2080
2084
2088
2092
2096
2104
2108
2112
2116
2120

 

Application 2 : table de vérité des 6 opérateurs logiques

Créez 6 fonctions correspondant aux 6 opérateurs logiques et qui attendent chacune 2 paramètres a et b :

et(a,b)

ou(a,b)

ou_exclusif(a,b)

et_non(a,b)

ou_non(a,b)

ou_exclusif_non(a,b)

Les paramètres a et b de chacune de ces fonctions sont des entiers qui valent soit 0 soit 1, et chaque fonction doit retourner soit 0 soit 1 selon la table de vérité des opérateurs.

Exemple d'utilisation de ces fonctions dans la console de Python :

>>> et(0,1)
0
>>> et(1,1)
1
>>> ou(0,0)
0
>>> ou(1,0)
1
>>> ou_exclusif(0,0)
0
>>> ou_exclusif(0,1)
1
>>> et_non(1,1)
0
>>> et_non(1,0)
1
>>> ou_non(1,1)
0
>>> ou_non(0,0)
1
>>> ou_exclusif_non(1,0)
0
>>> ou_exclusif_non(1,1)
1

 

En utilisant vos 6 fonctions, proposez un programme qui affiche sur la sortie standard de Python les tables de vérité des 6 opérateurs logiques, de manière propre, formatée et ordonnée comme sur l'exemple suivant :


   Tables de vérité des 6 opérateurs logiques :

     ET            OU            OU-Exclusif
     A B S         A B S         A B S
     0 0 0         0 0 0         0 0 0
     0 1 0         0 1 1         0 1 1
     1 0 0         1 0 1         1 0 1
     1 1 1         1 1 1         1 1 0

     ET-NON        OU-NON        OU-Exclusif-NON
     A B S         A B S         A B S
     0 0 1         0 0 1         0 0 1
     0 1 1         0 1 0         0 1 0
     1 0 1         1 0 0         1 0 0
     1 1 0         1 1 0         1 1 1

 

 


 

 

Site Internet : python.gecif.net

Auteur : Jean-Christophe MICHEL

Professeur de Sciences Industrielles de l'Ingénieur
option Informatique et Numérique

Courriel : jc.michel@gecif.net