Chaînes de
Caractères Durée : 3
heures
Objectifs pédagogiques
Manipuler les chaînes de caractères : lecture, concaténation, extraction.
Appliquer des algorithmes simples sur des chaînes de caractères.
Contenu du cours
1. Introduction aux chaînes de caractères
Une chaîne de caractères est une séquence de caractères utilisée pour représenter du texte.
Contrairement aux tableaux qui stockent des données homogènes comme des nombres, les chaînes
permettent de manipuler des données textuelles.
Caractéristiques principales :
Longueur variable : la taille d'une chaîne peut varier selon le contenu.
Accès indexé : chaque caractère d'une chaîne a une position (indice).
Immutable : dans certaines langues de programmation, les chaînes ne peuvent pas
être modifiées directement.
Exemple :
La chaîne "Bonjour" peut être représentée comme suit
: Index : 0 1 2 3 4 5 6
Caractère : B o n j o u r
2. Déclaration et manipulation des chaînes de
caractères Déclaration d'une chaîne :
En pseudo-code :
Chaîne NomChaîne
NomChaîne ← "Bonjour"
Opérations de base :
1. Lecture d'une chaîne :
Pour afficher une chaîne :
Afficher NomChaîne // Affiche "Bonjour"
2. Concaténation :
L'opération de concaténation permet de combiner deux chaînes
: Chaîne NomChaîne2 ← "!"
Chaîne NomComplet ← NomChaîne + NomChaîne2
Afficher NomComplet // Affiche "Bonjour!"
3. Extraction :
Extraire un caractère spécifique :
Caractère Lettre ← NomChaîne[0] // Lettre contient 'B'
Extraire une sous-chaîne :
Chaîne SousChaîne ← SousChaine(NomChaîne, 0, 3) // Affiche "Bon"
4. Conversion de casse :
o Pour convertir une chaîne en majuscules :
o Chaîne Texte ← "bonjour"
Texte ← ConvertirEnMajuscules(Texte) // Texte devient "BONJOUR"
o Pour convertir en minuscules :
Texte ← ConvertirEnMinuscules(Texte) // Texte devient "bonjour"
3. Méthodes de recherche et substitution dans une chaîne
1. Recherche d'un caractère ou d'une sous-chaîne
: Position ← Recherche(NomChaîne, "o") // Renvoie 1
Si le caractère ou la sous-chaîne n'existe pas, la fonction peut renvoyer une valeur spéciale comme -1.
2. Substitution d'une partie de chaîne :
3. Chaîne Remplacement ← Remplacer(NomChaîne, "Bonjour",
"Salut") Afficher Remplacement // Affiche "Salut"
4. Vérification de contenu :
5. Si Contient(NomChaîne, "jour") Alors
6. Afficher "La chaîne contient 'jour'"
7. Sinon
8. Afficher "La chaîne ne contient pas 'jour'"
FinSi
4. Comparaison de chaînes
Comparer deux chaînes pour vérifier si elles sont égales ou ordonner les chaînes alphabétiquement.
Exemple :
Si Chaîne1 = Chaîne2 Alors
Afficher "Les chaînes sont égales"
Sinon Si Chaîne1 < Chaîne2 Alors
Afficher "Chaîne1 est plus petite que Chaîne2"
Sinon
Afficher "Chaîne1 est plus grande que Chaîne2"
FinSi
Exercices pratiques
Exercice 1 : Compter le nombre de voyelles dans une chaîne
Énoncé :
Écrire un algorithme qui lit une chaîne et compte le nombre de voyelles ('a', 'e', 'i', 'o', 'u').
Solution :
Chaîne Texte ← "Bonjour"
Entier NombreVoyelles ← 0
Pour i ← 0 à Longueur(Texte) - 1
Si Texte[i] élément de ['a', 'e', 'i', 'o', 'u'] Alors
NombreVoyelles ← NombreVoyelles + 1
FinSi
FinPour
Afficher NombreVoyelles // Affiche 3
Exercice 2 : Inverser une chaîne de caractères
Énoncé :
Écrire un algorithme qui lit une chaîne et la renverse.
Solution :
Chaîne Texte ←
"Bonjour" Chaîne Inverse
← ""
Pour i ← Longueur(Texte) - 1 à 0 Pas -1
Inverse ← Inverse + Texte[i]
FinPour
Afficher Inverse // Affiche "ruojnoB"
Exercice 3 : Remplacer toutes les voyelles par un symbole
Énoncé :
Lire une chaîne et remplacer toutes les voyelles par le symbole '*'.
Solution :
Chaîne Texte ←
"Bonjour" Chaîne Modifié
← ""
Pour i ← 0 à Longueur(Texte) - 1
Si Texte[i] élément de ['a', 'e', 'i', 'o', 'u'] Alors
Modifié ← Modifié + "*"
Sinon
Modifié ← Modifié + Texte[i]
FinSi
FinPour
Afficher Modifié // Affiche "B*nj**r"
Exercice 4 : Vérifier si une chaîne est un palindrome
Énoncé :
Écrire un algorithme pour vérifier si une chaîne est un palindrome (se lit de la même façon
à l'endroit et à l'envers).
Solution :
Chaîne Texte ←
"radar" Entier
Palindrome ← 1
Pour i ← 0 à (Longueur(Texte) ÷ 2) - 1
Si Texte[i] ≠ Texte[Longueur(Texte) - 1 - i] Alors
Palindrome ← 0
SortirBoucle
FinSi
FinPour
Si Palindrome = 1 Alors
Afficher "La chaîne est un palindrome"
Sinon
Afficher "La chaîne n'est pas un palindrome"
FinSi
Conclusion
Les chaînes de caractères sont omniprésentes dans la programmation. Comprendre leur
manipulation est essentiel pour résoudre des problèmes tels que l'analyse textuelle, le traitement de
données ou la création d'interfaces utilisateur. Ce cours, avec des concepts détaillés et des exercices
variés, vous
prépare à utiliser efficacement les chaînes dans vos algorithmes.