Exercice 1 :

Écrire les fonctions suivantes :

  • a) longueur(CH): qui retourne le nombre de caractères de la chaîne CH.
  • b) nombre_Occurrences_e(CH): qui retourne le nombre de ‘e’ contenus dans la chaîne CH.
  • c) afficheInverse(CH): qui affiche l’inverse de la chaîne CH sans changer son contenu.
  • d) Inverse(CH): qui inverse l’ordre des caractères dans CH.

Exemple :

  • Chaîne d’origine : « voici une petite phrase ! »
  • Résultat attendu : « ! esarhp etitep enu iciov »

Exercice 2 : Supprimer les occurrences d’un caractère dans une chaîne

Écrire la fonction supprime_occurrences(CH) qui enlève toutes les apparitions du caractère ‘e’ en tassant les éléments restants. Les modifications se feront dans la même variable CH.

Exemple :

  • Chaîne d’origine : « Cette ligne contient quelques lettres e. »
  • Résultat attendu : « Ctt lign contint qulqus lttrs . »

Exercice 3 : Copier des caractères

Écrire la fonction copier(CH1, CH2) qui copie la première moitié de CH1 et la première moitié de CH2 dans une troisième chaîne CH3, et affiche le résultat.


Exercice 4 : Convertir une chaîne en majuscule

Écrire une fonction qui convertit une chaîne en majuscule (sans utiliser la méthode upper()).


Exercice 5 : Chaînes Palindromes

Écrire une fonction palindrome prenant en argument une chaîne de caractères, et déterminant s’il s’agit d’un palindrome (on supprimera les espaces et la ponctuation, et on ne tiendra pas compte de la casse).

Exemples de phrases palindromes :

  • « Karine alla en iraK »
  • « esope reste ici et se repose »

Exercice 6 : Tableau de chaînes de caractères

Écrire un programme utilisant les fonctions suivantes :

  • LireChaines(N): qui lit N mots et les mémorise dans un tableau de chaînes de caractères.
  • Trier(T): qui trie les mots dans l’ordre alphabétique croissant (utiliser la méthode de tri par sélection).
  • Afficher(T): qui affiche le tableau trié.

Exercice 7 : Compter les occurrences des caractères dans une chaîne

Écrire une fonction qui prend en paramètre une chaîne de caractères CH et qui compte les occurrences des lettres de l’alphabet sans distinction entre majuscules et minuscules. Utiliser un tableau ABC de dimension 26 pour mémoriser le résultat et afficher seulement le nombre des lettres qui apparaissent au moins une fois dans le texte.

Exemple :

  • Entrée : « hassan »
  • Résultat :
    • « La chaîne ‘hassan’ contient : »
    • « 2 fois la lettre ‘A' »
    • « 1 fois la lettre ‘H' »
    • « 1 fois la lettre ‘N' »
    • « 2 fois la lettre ‘S' »

Exercice 8 : Supprimer les espaces

Écrire un programme utilisant les fonctions suivantes :

  • supprimeDebut(s): qui supprime tous les espaces au début de la chaîne s.
  • supprimeFin(s): qui supprime tous les espaces à la fin de la chaîne s.
  • supprimeMulti(s): qui supprime tous les espaces multiples à l’intérieur de la chaîne s (s’il y a 2 espaces consécutifs ou plus, on ne laisse qu’un seul espace).

Exercice 9 : La distance de Hamming (CNC2011)

  1. La distance de Hamming entre deux chaînes de caractères : Elle est définie comme le nombre de caractères différents entre deux chaînes de même longueur, à la même position.Exemples :
    • La distance de Hamming entre « sure » et « cure » est 1.
    • La distance de Hamming entre « aabbcc » et « xaybzc » est 3.
    Écrire la fonction distanceH(S1, S2) qui calcule et retourne la distance de Hamming entre S1 et S2.
  2. La distance de Hamming d’un langage : C’est le minimum des distances de Hamming entre deux chaînes de caractères différentes dans un tableau de chaînes de même longueur.Exemple : Si langage = ["aabb", "xayy", "tghy", "xgyy"], sa distance est égale à 1.Écrire la fonction distanceH_langage(langage) qui calcule et retourne la distance de Hamming de son paramètre langage.
  3. La distance de Hamming entre 2 nombres entiers positifs : Elle est le nombre de bits distincts dans leurs représentations binaires.Exemple :
    • La distance de Hamming entre 7 (00000111) et 4 (00000100) est 2.
    a) Écrire binaire(N) qui retourne une chaîne représentant la valeur binaire de N sur un octet.b) Écrire distanceNombre(A, B) qui calcule la distance de Hamming entre les nombres A et B.

Exercice 10 : Représentation de grands nombres entiers naturels par des chaînes de caractères (CNC2012)

On représentera un nombre positif ou nul par une chaîne contenant ses chiffres.

Notations :

  • Une chaîne S est une ChaineChiffres si sa longueur est strictement positive et chaque caractère de S est un chiffre.

Exemple : Le nombre 45009876156430987 est représenté par la chaîne « 45009876156430987 ».

Questions :

  1. ChaineChiffres(s): Définir une fonction qui retourne True si s est une ChaineChiffres, False sinon.
  2. supprimer_zeros(s): Écrire une fonction qui supprime les zéros non significatifs au début de la chaîne s.Exemple : Si s = "0009760004300", après l’appel de supprimer_zeros(s), s devient « 9760004300 ».
  3. Somme de deux chaînes de chiffres : Faire la somme de deux nombres positifs représentés par leurs ChaineChiffres.
    • Écrire additionner(S1, S2) qui retourne la chaîne SOM représentant la somme de S1 et S2.
    Exemple : Si S1 = "129782004977" et S2 = "754022234930", SOM devient « 883804239907 ».

Rappel : Les valeurs ASCII des chiffres sont :

  • ‘0’ : 48, ‘1’ : 49, …, ‘9’ : 57.

En Python :

  • ord(caractere): retourne le code ASCII du caractère.
  • chr(nombre): retourne le caractère correspondant au code ASCII.

– – – – FIN – – – –

Tu as fini le TD? Donc clique ici pour Accéder à la Correction 👈

Laisser un commentaire

Retour en haut