# Chaînes de Caractères > [!video] Vidéo explicative > <iframe width="560" height="315" src="https://www.youtube.com/embed/pveGjCSqJ3Y?si=BKwhi0gH3A_-XYJD" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> ## 1. Introduction En algorithmique et en programmation, les chaînes de caractères (ou *strings*) sont des séquences ordonnées de caractères. Elles sont omniprésentes, utilisées pour représenter du texte, des noms, des messages, des identifiants, etc. Comprendre leur manipulation est fondamental pour tout développeur. > [!definition] Chaîne de caractères > Une chaîne de caractères est une séquence finie et ordonnée de caractères. Chaque caractère possède une position (ou *indice*) unique au sein de la séquence. Ces concepts s'appuient sur la logique séquentielle que vous avez pu rencontrer avec les algorigrammes, où des étapes successives sont appliquées à des données. ## 2. Représentation et Structure Une chaîne de caractères est typiquement stockée en mémoire comme un tableau (ou *array*) de caractères contigus. > [!note] Encodage des caractères > Les caractères sont représentés par des codes numériques. Les encodages les plus courants sont ASCII (pour l'anglais et certains symboles) et Unicode (qui englobe ASCII et permet de représenter la quasi-totalité des systèmes d'écriture mondiaux, avec des implémentations comme UTF-8, UTF-16). ### 2.1. Indexation Les caractères d'une chaîne sont accessibles individuellement via leur indice. L'indexation est généralement basée sur zéro, c'est-à-dire que le premier caractère est à l'indice 0, le deuxième à l'indice 1, et ainsi de suite. > [!example] Indexation d'une chaîne > Pour la chaîne "HELLO" : > - 'H' est à l'indice 0 > - 'E' est à l'indice 1 > - 'L' est à l'indice 2 > - 'L' est à l'indice 3 > - 'O' est à l'indice 4 ## 3. Opérations Fondamentales sur les Chaînes Plusieurs opérations de base sont couramment effectuées sur les chaînes de caractères. ### 3.1. Longueur d'une Chaîne La longueur d'une chaîne est le nombre de caractères qu'elle contient. > [!definition] Longueur > La longueur $N$ d'une chaîne $S$ est le nombre de caractères de $S$. Si $S = s_0s_1...s_{N-1}$, alors sa longueur est $N$. ```pseudo-code DEBUT compteur = 0 POUR CHAQUE caractere DANS chaine { compteur = compteur + 1 } AFFICHER compteur FIN ``` ### 3.2. Concaténation La concaténation est l'opération qui consiste à joindre deux chaînes de caractères pour en former une nouvelle. > [!example] Concaténation > Soit $S_1 = \text{"Hello"}$ et $S_2 = \text{" World"}$. > La concaténation de $S_1$ et $S_2$ est $S_3 = \text{"Hello World"}$. ```pseudo-code DEBUT S1 : entier S2 : entier S1 = "Hello" S2 = "World" S3 = S1 + S2 AFFICHER S3 // "HelloWorld" FIN ``` ## 4. Conclusion Les chaînes de caractères sont des structures de données fondamentales en programmation. La maîtrise de leurs propriétés (séquence ordonnée, indexation) et des opérations de base (longueur, concaténation) est essentielle. Ces concepts algorithmiques sont directement implémentés et manipulés dans les langages de programmation modernes, comme Python, où les chaînes sont des types de données natifs et puissants, offrant souvent des fonctions prédéfinies pour ces opérations. ## 🗓️ Historique > **Dernière mise à jour :** `26 octobre 2025` > **Rédigé par :** [[Julien DUQUENNOY]]