0% ont trouvé ce document utile (0 vote)
52 vues7 pages

CH 7

Transféré par

iidrissak012
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
52 vues7 pages

CH 7

Transféré par

iidrissak012
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre 7

Les chaines de caracteres

1.Définition :
Une chaîne de caractères est une structure de données permettant de regrouper une suite
finie de caractères dans une même variable pour pouvoir l’exploiter dans sa totalité.
Dans certains ouvrages, on dit qu’une chaîne de caractères est un tableau de caractères.

Remarque
Une chaîne de caractères peut être exploitée en tant que variable chaîne, dans ce cas on
manipule des variables chaînes : on peut lire un mot en un seul coup (Lire (nom)), ou bien en
tant que tableau de caractères : parcourir la chaîne caractère par caractère (compter le nombre
d’apparition de la lettre ‘A’ dans un nom).

2. Le type caractère :
Comme on l’a précédemment définie un caractère peut prendre les valeurs suivantes :
- Les lettres : "A"…"Z", "a"…"z "
- Les chiffres :"0"…"9"
- Les caractères spéciaux : "*", "&", " ?", etc.

2.1 Les Fonctions standards sur les caractères :


Fonction Rôle
Asc(c) Retourne le code d’Ascii d’un
caractère
Car(i) Retourne le caractère correspondant
au code d’Ascii fournit en paramètre
Succ(c) Retourne le caractère qui vient après
le caractère fournit en paramètre
Pred(c) Retourne le caractère le caractère qui
précède le caractère fournit en
paramètre
Majus(c) Retourne la majuscule du caractère
fournit en paramètre

Exemples

Enseignante : DJEBALI Sourour Page 1


xsc(B) ; x=66
xCar(65) ; x= "A"
xSucc(h) ; x= "i"
xPred(m) ; x= "l"
xMajus(k); x="K"

Exercice d’application 1
Ecrire un algorithme qui permet d’afficher tous les codes d’Ascii des lettres de "a" à "z".
Correction

Algorithme Ascii
Variables
I :entier
Début
Pour i de "a" à "z" Faire
Ecrire(Ascii(i))
Fin Pour
Fin

3. Type chaine de caractère :


Une chaine de caractère est donc une suite de caractères.

3.1 Représentation Algorithmique :

Variables
Ch : chaine
Ch1 : chaine[10]

Dans la première déclaration on n’a pas fixé la taille de la chaine alors que dans la
deuxième on a fixé la taille de Ch1 à 10 caractères au maximum.

3.2 Opérations sur les chaines de caractères :


La Concaténation :

Cette opération permet d’ajouter une chaine à la suite d’une autre la concaténation est le
symbole « + ».
Exemple

Enseignante : DJEBALI Sourour Page 2


Ch1 "Sourour"
Ch2 "Djebali"
Ch3 " "
Ch4 Ch1+Ch3+Ch2 ; Ch4= "Sourour Djebali"

La Comparaison :
Il est possible de comparer deux chaines de caractères à l’aide des opérateurs de
comparaison ( <, <=, >, >=, =, #) et cela se fait caractère par caractère en comparant leur code
d’Ascii respectif.
Exemple

"abcd" < "abcm" car le code d’Ascii de d est inférieur au code d’Ascii de m.

3.3 Les Fonctions standards sur les chaines de caractères :


Fonction Long

Cette fonction lorsqu’elle est appliquée à une chaîne de caractères, retourne sa taille
réelle et non pas la taille maximale.
Syntaxe

Long (ch)

Exemple

Ecrire(" le mot salut est de longueur", Long("salut"))


Résultat
Le mot salut est de longueur 5.

Fonction Pos

La fonction POS retourne la position à partir de laquelle une sous-chaîne apparaisse


dans une chaîne. Dans le cas où cette sous-chaîne n’existe pas, elle retourne la valeur zéro.
Syntaxe

Pos(ch1,ch2)

Enseignante : DJEBALI Sourour Page 3


Elle retourne la position de la 1ère occurrence de ch1 dans ch2.

Exemple

Ch1"bonjour"
Ch2"jour"
xPos(Ch2,Ch1) ; x=4

Fonction Copie

Il s’agit d’extraire une sous-chaîne de taille p à partir d’une position dans une chaîne.
Syntaxe
Copie(ch,pos,p)

Exemple

Ch1"bonjour"
Ch2Copie(Ch1,4,4) ; Ch2= "jour"

3.4 Les Procédures standards sur les chaines de caractères :


Procédure Insert :

Cette procédure permet d’insérer une chaine dans une autre à une position donnée.
Syntaxe
Insert(ch1,ch2,pos)

On va insérer ch1 dans ch2 à la position pos.


Exemple
Ch1"bonjour"
Ch2"ad"
Insert(ch2,ch1,4) ; ch1= "bonadjour"

Procédure Efface :

Cette procédure permet d’effacer un certain nombre de caractères d’une chaine depuis
une position donnée.

Enseignante : DJEBALI Sourour Page 4


Syntaxe

Efface(ch,pos,p)

On va effacer p caractère de la chaine ch à partir de la position pos.


Exemple
Ch"bonjour"
Efface(Ch,4,4) ; Ch="bon"

Procédure Convch :

Cette procédure permet de convertir un nombre en une chaine de caractères.


Syntaxe
Convch(n,ch)

On va convertir le nombre n en une chaine de caractère et on va le mettre dans chaine ch.


Exemple
Convch(1976,ch) ; ch="1976"

Exercice d’application 1
Ecrire une procédure qui permet de saisir une chaine de caractères constituée seulement de
lettres ("A"…"Z", "a"…"z").
Correction

Enseignante : DJEBALI Sourour Page 5


Procédure Saisie(var ch : chaine)
Variables
i : entier
test : booléen
Début
Répéter
Ecrire("donner une chaine")
Lire(ch)
i1
testvrai
Tant que((i <= Long(ch)) et(test=vari)) Faire
Si ((Majus(ch[i]>="A") et(Majus(ch[i]<="Z")
ii+1
Sinon
testfaux
Fin Si
Fin Tant que
Jusqu’à (test=vrai)
Fin

Remarque
On peut aussi lire la chaine caractère par caractère.
Exercice d’application 2
Ecrire une procédure qui permet de convertir une chaine de lettres en majuscule.
Correction
Procédure Majuscule(var ch : chaine)
Variables
i : entier
Début
Pour i de 1 à Long(ch) Faire
ch[i]Majus(ch[i])
Fin Pour
Fin

Exercice d’application 3
Ecrire une fonction qui retourne le nombre de chiffres dans une chaine de caractères.
Correction

Enseignante : DJEBALI Sourour Page 6


Fonction Comptage (ch : chaine) :entier
Variables
i, c :ventier
Début
c0
Pour i de 1 à Long(ch) Faire
Si ((ch[i]< ="9") et (ch[i]>="0")) alors
cc+1
Fin Si
Fin Pour
Comptage c
Fin

Enseignante : DJEBALI Sourour Page 7

Vous aimerez peut-être aussi