diff --git a/docs/T2_Representation_des_donnees/2.5_Booleens/cours.md b/docs/T2_Representation_des_donnees/2.5_Booleens/cours.md index adf15966..e1e50bed 100644 --- a/docs/T2_Representation_des_donnees/2.5_Booleens/cours.md +++ b/docs/T2_Representation_des_donnees/2.5_Booleens/cours.md @@ -430,51 +430,68 @@ Pour comprendre ces résultats, il faut travailler en binaire. Voici les mêmes **Q1.** Écrire une fonction ```chiffre``` qui prendra en paramètre un mot ```mot_clair``` et un mot de passe ```cle``` **de même taille** que ```mot_clair``` et qui renvoie la chaîne de caractères obtenue en XORant ```mot_clair``` avec ```cle```. - {# - ??? tip "correction" + {{ + correction(True, + """ + ??? success \"Correction\" ```python linenums='1' def chiffre(mot_clair, cle): - mot_chiffre = "" + mot_chiffre = '' for i in range(len(mot_clair)): code = ord(mot_clair[i]) ^ ord(cle[i]) mot_chiffre += chr(code) return mot_chiffre - ``` - #} + ``` + """ + ) + }} + **Q2.** Chiffrer le mot `"BONJOUR"` avec la clé `"MAURIAC"`. - {# - ??? tip "correction" + {{ + correction(True, + """ + ??? success \"Correction\" ```python - >>> chiffre("BONJOUR", "MAURIAC") + >>> chiffre('BONJOUR', 'MAURIAC') '\x0f\x0e\x1b\x18\x06\x14\x11' - ``` - #} + ``` + """ + ) + }} + **Q3.** Reprendre la chaîne de caractères précédemment obtenue et la rechiffrer à nouveau avec la clé `"MAURIAC"`. Que constate-t-on ? Etait-ce prévisible ? - {# - ??? tip "correction" + {{ + correction(True, + """ + ??? success \"Correction\" ```python - >>> chiffre('\x0f\x0e\x1b\x18\x06\x14\x11', "MAURIAC") + >>> chiffre('\x0f\x0e\x1b\x18\x06\x14\x11', 'MAURIAC') 'BONJOUR' ``` - C'était prévisible car c'est une propriété remarquable du XOR : ```(a^b)^b = a``` - #} + C'était prévisible car c'est une propriété remarquable du XOR : ```(a^b)^b = a``` + """ + ) + }} + **Q4.** :skull: Résoudre le Pydéfi [La clé endommagée](https://pydefis.callicode.fr/defis/MasqueJetable/txt){. target="_blank"} - {# - ??? tip "correction" + {{ + correction(True, + """ + ??? success \"Correction\" ```python linenums='1' msg = [255, 87, 255, 93, 254, 112, 98, 239, 146, 205, 59, 198, 173, 65, 50, 174, 200, 218, 189, 130, 96, 4, 57, 173, 143, 8, 175, 19, 2, 109, 216, 2, 65, 14, 36, 206, 32, 157, 181, 22, 248, 119, 153, 204, 8, 137, 7, 203, 0, 89, 251, 16, 79, 214, 52, 15, 249, 42, 115, 67, 241, 175, 160, 65, 217, 40, 36, 68, 205, 234, 14, 21, 73, 172, 70, 81, 37, 83, 1, 113, 180, 8, 194, 90, 46, 239, 194, 122, 244, 15, 24, 14, 86, 72, 43, 246, 241, 24, 182, 91, 220, 48, 92, 147, 16, 82, 139, 169, 104, 236, 88, 106, 192, 76, 23, 72, 233, 130, 92, 67, 235, 199, 149, 108, 180, 217, 156, 175, 175, 234, 177, 145, 242, 17, 245, 94, 113, 16, 88, 170, 71, 226, 13, 122, 189, 56, 44, 48, 185, 159, 73, 160, 84, 147, 231, 21, 86, 81, 238, 196, 137, 133, 222, 174, 208, 9, 105, 83, 80, 60, 49, 191, 19, 220, 231, 196, 172, 10, 72, 237, 211, 163, 23, 119, 247, 37, 177, 3, 246, 136, 82, 222, 93, 245, 202, 24, 164, 177, 167, 174, 203, 247, 101, 201, 32, 99, 83, 189, 241, 46, 208, 125, 167, 111, 217, 84, 120, 5, 158, 50, 180, 129, 202, 116, 149, 226, 195, 6, 56, 221, 54, 1, 233, 119, 186, 113, 87, 194, 240, 244, 29, 195, 251, 186, 54, 175, 66, 8, 193, 189, 143, 151, 101, 153, 25, 100, 151, 75, 71, 176, 55, 183, 66, 28, 119, 90, 142, 60, 100, 170, 46, 231, 149, 131, 139, 249, 247, 209, 60, 206, 40, 121, 175, 78, 246, 189, 88, 33, 46, 147, 11, 30, 65, 208, 131, 163, 37, 44, 77, 220, 148, 101, 101, 167, 34, 68, 179, 117, 200, 234, 91, 170, 134, 203, 240, 164, 71, 220, 122, 77, 249, 76, 39, 145, 217, 151, 36, 96, 249, 61, 105, 52, 59, 231, 86, 166, 88, 42, 134, 182, 74, 166, 106, 36, 194, 160, 92, 69, 84, 74, 15, 217, 189, 28, 89, 41, 212, 60, 49, 30, 225, 95, 196, 36, 199, 0, 126, 127, 251, 23, 76, 182, 66, 213, 119, 28, 187, 173, 239, 27, 97, 196, 17, 95, 124, 4, 95, 222, 191, 238, 152, 142, 208, 122, 139, 135, 12, 212, 96, 4, 126, 210, 7, 71, 225, 202, 106, 79, 206, 156, 216, 22, 163, 159, 49, 248, 120, 100, 2, 88, 41, 145, 234, 38, 196, 189, 77, 247, 71, 172, 109, 215, 134, 37, 145, 236, 6, 198, 217, 89, 94, 98, 158, 165, 99, 17, 99, 246, 90, 161, 76, 159, 194, 75, 208, 234, 18, 51, 205, 227, 167, 199, 1, 128, 68, 112, 25, 10, 66, 202, 255, 243, 163, 16, 3, 72, 43, 143, 76, 241, 108, 239, 216, 30, 236, 224, 7, 1, 222, 6, 244, 70, 151, 110, 175, 49, 153, 253, 241, 160, 117, 232, 42, 68, 77, 253, 64, 142, 11, 88, 234, 251, 20, 1, 239, 39, 157, 181, 106, 47, 180, 26, 227, 121, 164, 183, 124, 180, 238, 42, 89, 75, 19, 244, 245, 116, 82, 124, 85, 12, 7, 22, 1, 25, 118, 126, 36, 209, 22, 226, 252, 6, 72, 26, 101, 127, 23, 124, 151, 185, 184, 203, 231, 56, 26, 128, 110, 216, 94, 202, 174, 211, 210, 125, 145, 220, 185, 43, 204, 215, 210, 224, 54, 111, 217, 202, 47, 31, 224, 46, 177, 165, 31, 68, 127, 206, 99, 11, 213, 192, 46, 222, 34, 115, 16, 73, 131, 221, 218, 180, 4, 249, 207, 74, 155, 84, 87, 242, 58, 133, 248, 61, 205, 9, 158, 226, 21, 216, 80, 154, 153, 79, 98, 105, 190, 56, 134, 187, 37, 10, 224, 82, 97, 126, 246, 24, 190, 173, 21, 62, 236, 10, 180, 242, 144, 244, 145, 117, 67, 62, 246, 57, 96, 192, 92, 126, 27, 67, 168, 223, 222, 247, 236, 224, 240, 243, 100, 150, 193, 79, 223, 143, 208, 133, 125, 80, 107, 106, 245, 118, 248, 79, 199, 116, 190, 54, 236, 81, 106, 244, 212, 241, 16, 179, 245, 238, 185, 89, 199, 175, 54, 218, 86, 84, 184, 177, 174, 92, 171, 176, 43, 149, 46, 202, 151, 181, 98, 86, 18, 58, 46, 163, 117, 33, 149, 87, 248, 235, 0, 181, 136, 16, 188, 110, 20, 108, 213, 104, 165, 45, 86, 19, 208, 48, 153, 186, 163, 221, 165, 39, 70, 200, 98, 235, 68, 167, 252, 42, 102, 52, 228, 210, 187, 151, 178, 242, 221, 44, 143, 79, 230, 159, 164, 253, 25, 90, 24, 182, 142, 122, 140, 115, 45, 182, 104, 132, 22, 109, 55, 205, 185, 27, 27, 77, 224, 184, 199, 121, 21, 250, 254, 78, 158, 215, 245, 187, 143, 211, 110, 228, 18, 36, 68, 168, 100, 126, 85, 238, 208, 98, 241, 34, 235, 254, 184, 39, 182, 239, 34, 242, 232, 6, 187, 18, 113, 176, 228, 2, 103, 135, 52, 28, 183, 9, 19, 142, 156, 242, 21, 253, 48, 21, 67, 138, 207, 131, 72, 191, 198, 107, 233, 202, 227, 108, 186, 124, 165, 23, 247] cle = [111, 22, 12, 177, 12, 199, 78, 21, 175, 181, 64, 73, 174, 101, 212, 225, 63, 106, 248, 91, 175, 48, 247, 245, 51, 250, 160, 111, 23, 4, 70, 167, 177, 49, 17, 53, 17, 73, 85, 89] def decrypt(dec): - l = "" + l = '' for i in range(len(cle)): c = msg[i + dec] ^ cle[i] l = l + chr(c) @@ -483,8 +500,12 @@ Pour comprendre ces résultats, il faut travailler en binaire. Voici les mêmes for i in range(0, len(msg)-len(cle)): print(decrypt(i)) - ``` - #} + ``` + """ + ) + }} + + ### Complément mathématique: propriétés des opérateurs logiques diff --git a/docs/T2_Representation_des_donnees/2.5_Booleens/enonce.md b/docs/T2_Representation_des_donnees/2.5_Booleens/enonce.md index 9fa78760..d8f4bc2e 100644 --- a/docs/T2_Representation_des_donnees/2.5_Booleens/enonce.md +++ b/docs/T2_Representation_des_donnees/2.5_Booleens/enonce.md @@ -1,6 +1,6 @@ # Énigme -Vous pouvez faire cette énigme sur Capytale +Vous pouvez faire cette énigme sur Thonny (pensez à bien travailler dans le dossier qui contient vos deux images) ou bien sur Capytale [https://capytale2.ac-paris.fr/web/c/5912-1397991](https://capytale2.ac-paris.fr/web/c/5912-1397991){. target="_blank"} ## 1. À la recherche du personnage mystère