Chaînes de caractères
Date de publication : 16/03/2002 , Date de mise à jour : 27/01/2007
Par
julp (Autres articles)
A ce stade nous ne savons pas comment exploiter les chaînes de caractères et
n'avons aucun moyen de le faire.
Cet article va donc définir des fonctions simples et "standards" qui nous permettrons
de manipuler les chaînes de caractères.
Introduction
1. Quelques fonctions sur les chaînes de caractères
1.1. Concaténation de chaînes
1.2. Longueur d'une chaîne
1.3. Sous-chaîne
1.4. Accès au ième caractère
1.5. Modification du ième caractère
2. Exemple
Introduction
Le type chaîne permet de décrire des objets formés par la juxtaposition de
plusieurs caractères. Dans la plupart des langages de programmation, il
existe des "outils" pour les manipuler. Au niveau des algorithmes, nous
introduisons quelques fonctions prédéfinies qui correspondent aux "outils"
classiquement fournis par les langages. Cette liste partielle peut bien sûr
être complétée en fonction de vos besoins.
1. Quelques fonctions sur les chaînes de caractères
1.1. Concaténation de chaînes
fonction concat(ch1:chaîne, ch2:chaîne):chaîne
|
retourne une chaîne formée par la concaténation de ch1 et de
ch2. La chaîne résultat est formée de ch1 suivi de
ch2.
1.2. Longueur d'une chaîne
fonction longueur(ch:chaîne):entier
|
retourne la longueur de la chaîne ch c'est-à-dire le nombre
de caractères dont elle est constituée.
1.3. Sous-chaîne
fonction sousChaîne(ch:chaîne, i:entier, l:entier):chaîne
|
retourne une sous-chaîne de longueur l extraite de la chaîne
ch, à la position i.
exemple : sousChaîne("informatique"", 6, 2) retourne la chaîne "ma".
1.4. Accès au ième caractère
fonction ième(ch:chaîne, i:entier):caractère
|
retourne le ième caractère de la chaîne ch.
1.5. Modification du ième caractère
fonction remplace(ch InOut:chaîne, i:entier, c:caractère)
|
remplace le ième caractère de la chaîne ch par le
caractère c.
2. Exemple
On donne un télégramme mot par mot. On souhaite compter le nombre d'unités
de paiement du télégramme sachant qu'il se termine par le mot "stop", qu'un
mot de longueur l coûte (1÷10)+1 unités et que le mot "stop" ne coûte
rien.
Algorithme
début
nup <- 0
mot <- lire()
tant que Non (mot = "stop") faire
prixmot <- (longueur(mot)÷10)+1
nup <- nup + prixmot
mot <- lire()
ftant
écrire(nup)
fin
Lexique :
- nup : entier, nombre d'unité de paiement
- mot : chaîne, ième mot du texte
- prixmot : réel, prix du iéme mot
|


Copyright © 2007 . Aucune reproduction, même partielle, ne peut être faite
de ce site et de l'ensemble de son contenu : textes, documents, images, etc
sans l'autorisation expresse de l'auteur.
Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
Cette page est déposée à la
SACD.