Les chaînes de caractères

Turbo Pascal possède un type String prédéfini permettant de déclarer des chaînes de caractères et fournit tout un ensemble des fonctions et procédures pour les manipuler. On doit déclarer la longueur maximale de la chaîne.
Type Str80 = String[80];
var s : str80;

s peut être considérée comme un tableau avec des indices de 0 à 80. s[0] contient la longueur effective l de la chaîne ; s[1],s[2]...s[l] contiennent les caractères utiles.

s:='BONJOUR'.
La longueur est comprise entre 0 et 255.
Les opérations fondamentales sur chaînes de caractères.
1. Affectation

chaîne := expression caractère

2. Longueur

Length(chaîne) - renvoie la longueur effective
Length(s) renvoie 7. Length('Bebe') renvoie 4

3. Concaténation - on ajoute les caractères de la deuxième chaîne à la fin de la première.

chaine1 + chaine2

4. Recherche d'une sous-chaîne dans une chaîne

pos (mot1,mot2) - renvoie la position de la première occurrence du mot1 dans mot2 et 0 si l'occurrence n'existe pas
Pos('JOUR',s) - renvoie 4
Pos('Bon','Belle') - renvoie 0
5. Prendre une sous-chaîne

Copy(mot,pos,n) - renvoie une chaîne qui contient une sous-chaîne du mot qui commence de la position pos et a n caractères

6. Insérer une chaîne

Insert(mot1,mot2,pos) - insère mot1 dans mot2 de la position pos.

7. Effacer une sous-chaîne

Delete(mot,pos,n) - efface n caractères en commençant de position pos.

Exemple: Les palindromes

On appelle un palindrome une phrase qui peut être lue indifféremment à l'endroit et à l'envers. Par exemple: Radar; Elu par cette crapule.

Soit à réaliser un programme qui indique si une chaîne de caractères est un palindrome (on supposera que la phrase est terminée par un point).

Le traitement se fait en 3 phases.












Exercices:

  1. Réalisez un programme calculant le prix d'un télégramme, les mots de moins de 5 lettres étant facturés 1 Franc et les mots de 5 lettres ou plus étant facturés 2 Francs.
  2. Réalisez un programme qui saisie un texte (de plusieurs lignes) et trouve les nombres des occurrences de chaque mot différent et puis trie les mots en ordre alphabétique ou selon le nombre des occurrences de chaque mot.