• Aucun résultat trouvé

7 TD : Manipulation des chaînes de caractères

N/A
N/A
Protected

Academic year: 2022

Partager "7 TD : Manipulation des chaînes de caractères"

Copied!
1
0
0

Texte intégral

(1)

Auteur : Mohamed Messabihi

Matière : Introduction à l'algorithmique k [email protected]

+ https://sites.google.com/site/informatiquemessabihi/

Université Abou Bakr Belkaïd - Tlemcen Faculté des sciences 1ère L.M.D. MI 2014-2015

7 TD : Manipulation des chaînes de caractères

7.1 Fonctions utiles

1. Écrire une fonction alphabet_tab permettant de retourner un tableau contenant toutes les lettres alphabétiques minuscules.

2. Écrire une fonction supprimer_occurence permettant de supprimer toutes les occurrences d'un caractère dans une chaîne de caractère. La chaîne est le caractères sont passés comme paramètres. Exemple : supprimer_occurence("Loulou", 'u') renvoie la chaîne "Lolo".

3. Modiez la fonction supprimer_occurence pour qu'elle puisse supprimer toutes les occur- rences d'un caractère sans tenir compte de la casse (càd. majuscule et minuscule confon- dus) Exemple : supprimer_occurence("Loulou", 'l') renvoie la chaîne "ouou".

4. Écrire une fonction nombre_mots qui retourne comme résultat le nombre de mots contenus dans une chaîne de caractères. Exemple : nombre_mots(ceci est une phrase) renvoie 4.

5. Écrire un programme pour tester toutes les fonctions ci-dessus.

7.2 Cryptographie

Le code de César est une des plus simple méthodes d'encryptage connues. Cette méthode doit son nom à Jules César, qui utilisait cette technique pour certaines de ses correspondances.

Le codage des messages secrets selon Jules César consistait à choisir une clé entière k dans [1,25] pour construire à partir d'un message msg un nouveau message codé avec la technique suivante. Chaque lettre majuscule de msg est décalée de k positions vers la droite (l'alphabet est circulaire : après 'Z' on revient sur 'A'). Les autres caractères du message sont laissés intacts !

1. Écrire une fonction code_cesar(msg,k) qui retourne le message codé.

Exemple : code_cesar('ENVOYEZ 36 HOMMES !',3)

2. Écrire une fonction decode_cesar(msg,k) qui prend un message codé par la fonction pré- cédente et retourne le message en clair.

Exemple : decode_cesar('HQYRBHC 36 KRPPHV !',3)

3. Si vous êtes curieux : décodez le message 'VETFIV KFKF VK CFLCFL ZTZ'. Désolé j'ai perdu la clef !

Une technique ultérieure de cryptographie consista à opérer non avec un décalage systé- matique, mais par une substitution aléatoire. Pour cela, on utilise un alphabet-clé, dans le- quel les lettres se succèdent de manière désordonnée, par exemple : HYLUJPVREAKBNDOF- SQZCWMGITX C'est cette clé qui va servir ensuite à coder le message. Selon notre exemple, les A deviendront des H, les B des Y, les C des L, etc.

4. Écrire un fonction qui eectue ce cryptage (l'alphabet-clé sera passé en paramètre).

5. Écrire un programme qui permet de tester toutes les fonctions précédente.

B [email protected] Page 1

Références

Documents relatifs

Programmation en langage de plus haut niveau On s’éloigne du niveau de la machine.. On s’approche d’un niveau

8-10 : la méthode .extend() ajoute en bout de liste tous les éléments de la liste passée en argument ; liste a alors trois éléments?. Dans les exemples qui suivent, on crée de

La distance de Levenshtein mesure le degré de similarité entre deux chaînes de caractères. Elle est égale au nombre minimal de caractères qu’il faut supprimer, insérer ou

Au cours de ces sept années de campagnes César a maintenu son alliance avec Crassus et Pompée.. En 56, le second triumvirat a accordé à César le prolongement de cinq ans de

Pour donner un sens aux opérations sur les fractions, les élèves doivent développer une compréhension qui fait intervenir non seulement le rôle du numérateur et du

1/ Décoder le message FH PHVVDJH Q'HVW SDV WURS GXU D GHFUBSWHU qui a été crypté avec la méthode de codage de Jules César (chiffrement de César avec la clé 3).. Pour faciliter

L’IETF ne prend pas position sur la validité et la portée de tout droit de propriété intellectuelle ou autres droits qui pourraient être revendiqués au titre de la mise en œuvre

La sécurité du mécanisme d'authentification de message présenté ici dépend des propriétés cryptographiques de la fonction de hachage H : la résistance aux recherches de