Exercice 1 :
Écrire les fonctions suivantes :
- a)
longueur(CH)
: qui retourne le nombre de caractères de la chaîneCH
. - b)
nombre_Occurrences_e(CH)
: qui retourne le nombre de ‘e’ contenus dans la chaîneCH
. - c)
afficheInverse(CH)
: qui affiche l’inverse de la chaîneCH
sans changer son contenu. - d)
Inverse(CH)
: qui inverse l’ordre des caractères dansCH
.
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înes
.supprimeFin(s)
: qui supprime tous les espaces à la fin de la chaînes
.supprimeMulti(s)
: qui supprime tous les espaces multiples à l’intérieur de la chaînes
(s’il y a 2 espaces consécutifs ou plus, on ne laisse qu’un seul espace).
Exercice 9 : La distance de Hamming (CNC2011)
- 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.
distanceH(S1, S2)
qui calcule et retourne la distance de Hamming entreS1
etS2
. - 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 fonctiondistanceH_langage(langage)
qui calcule et retourne la distance de Hamming de son paramètrelangage
. - 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.
binaire(N)
qui retourne une chaîne représentant la valeur binaire deN
sur un octet.b) ÉcriredistanceNombre(A, B)
qui calcule la distance de Hamming entre les nombresA
etB
.
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 uneChaineChiffres
si sa longueur est strictement positive et chaque caractère deS
est un chiffre.
Exemple : Le nombre 45009876156430987
est représenté par la chaîne « 45009876156430987 ».
Questions :
ChaineChiffres(s)
: Définir une fonction qui retourneTrue
sis
est uneChaineChiffres
,False
sinon.supprimer_zeros(s)
: Écrire une fonction qui supprime les zéros non significatifs au début de la chaînes
.Exemple : Sis = "0009760004300"
, après l’appel desupprimer_zeros(s)
,s
devient « 9760004300 ».- 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îneSOM
représentant la somme deS1
etS2
.
S1 = "129782004977"
etS2 = "754022234930"
,SOM
devient « 883804239907 ». - Écrire
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.