Cours N°4 :
Chaînes de caractères Chaînes de caractères
Département des Sciences Techniques
Université Ammar Thelidji – Laghouat
Sommaire
• Les caractères
• Fonctions Pascal pour les caractères
• Les chaînes de caractères
• Fonctions Pascal pour les chaînes de caractères
caractères
• Exemples et exercices
Les caractères
Regroupe les lettres, les chiffres, l'espace, les ponctuations, etc.
Les caractères
ponctuations, etc.
Exemple:
‘5’ ‘#’ ‘A’ ‘a’ ‘?’ ‘3’ ‘+’ ‘ ’• En Pascal, on utilise le type Char pour déclarer les caractères.
les caractères.
• Un caractère est codé sur 8 bits.
• Le tableau de code ASCII contient 256 caractères.
Table de code ASCII (American Standard Code for Information Interchange)
Fonctions Pascal
pour les caractères
pour les caractères
• Ord : convertir un caractère en entier
• Chr : la conversion inverse
Fonctions: Ord , Chr
Program Convert ; Var
b : Integer ; c : Char ;
Begin Begin
b := Ord(‘A’) ;
c := Chr(102) ;
End.
• Succ : avoir le caractère suivant dans l'ordre ASCII.
• Pred : avoir le caractère précédent.
Fonctions: Succ , Pred
Program Convert ; Var
b, c, d : Char ; Begin
c := ' L' ; c := ' L' ;
b := Succ(c) ;
d := Pred(c) ;
End.
• UpCase : changer un caractère du minuscule au majuscule.
• Pas de fonction pour le minuscule, ajouter 32 à la valeur ordinale du caractère puis le reconvertir en caractère.
Fonctions: UpCase
ordinale du caractère puis le reconvertir en caractère.
Program Convert ; Var
c: Char ; Begin
c := 'a' ; c := 'a' ;
c := UpCase(c) ;
End.
• Program caracteres ; Var
c, d : char ;
Exemple de programme Pascal
c, d : char ; a : integer ; Begin
c := ‘A' ;
a := Ord(c) ; { 65 }
Writeln (‘ Le code ascii de ', c, ' est ', a) ; a := 122 ;
c := Chr(a) ; { 'z' } c := Chr(a) ; { 'z' }
Writeln (‘ Le caractère de code ascii ', a, ' est ', c) ; c := ‘L' ;
d := Succ(c) ; { ‘M' }
Writeln (‘ Le caractère suivant ', c, ' est ', d) ;
End.
Les chaînes de
caractères
• Une séquence finie de caractères, encadrée par des apostrophes.
Les chaînes de caractères
• En Pascal, on utilise le type String
• On peut spécifier la longueur de la chaîne de caractères.
Program exemple;
Var
S : String [50] ; S : String [50] ;
Begin
S:= ‘ Le ciel est bleu ’ ; Writeln (S)
End.
Opérations sur les
chaînes de caractères
chaînes de caractères
On peut avoir un caractère particulier d'une chaîne en ayant sa position.
Opérations sur les chaînes
Exemple:
S := 'Bonjour' S[1] = 'B'
S[3] = 'n' S[7] = 'r'
1 2 3 4 5 6 7
B o n j o u r
S[7] = 'r'
S[8] déclenche une erreur
• Soit a, b, c trois chaînes de caractères, tels que:
• a:= ‘Bonjour’
Opérations sur les chaînes
• a:= ‘Bonjour’
• b:= ‘le monde’
Opération Explication Exemple Resultat Chaine vide Une chaîne vide de
longueur nulle. a:= '' ''
Affectation Recopie la chaîne b
dans a. a := b 'le monde'
Affectation
dans a. a := b 'le monde'
Concaténation
La concaténation des chaînes a et b
en une seule chaîne c
c:= a + b 'Bonjour le monde' c:= b + a 'le monde Bonjour’
• Les opérateurs de comparaison peuvent être utilisés entre deux chaînes de caractères.
• La comparaison se fait selon l'ordre alphabétique des caractères.
Opérations sur les chaînes
• La comparaison se fait selon l'ordre alphabétique des caractères.
Exemple :
‘A’ < ‘B’
‘y’ > ‘x’
‘Bonjour’ < ‘Bonsoir’
‘Mardi’ < ‘Mercredi’
‘A’ < ‘a’
‘9’ > ‘1’
Opération: Length
Length ( s )
Cette fonction donne la longueur de la chaîne s, le résultat est un nombre entier.Length ( s )
le résultat est un nombre entier.
Program Exemple;
Var
s : String ; n : Integer ;
Exemple
n : Integer ; Begins := 'Le ciel est bleu' ; n := Length (s) ;
End.
Opération: Pos
Pos( ch1, ch2)
Retrouver la position d'une chaîne decaractères (ch1) dans une autre chaîne (ch2)
Pos( ch1, ch2)
caractères (ch1) dans une autre chaîne (ch2)
Program Exemple;
Var
s : String ; p : Integer ;
Exemple
p : Integer ; Begins := 'Le ciel est bleu' ; p := Pos ('ciel' , s) ; End.
Opération: Delete
Delete (s, p, n)
Supprimer des caractères d'une chaîne.
Les paramètres de cette fonction sont :
La chaîne (s), la position de suppression (p) et
Delete (s, p, n)
La chaîne (s), la position de suppression (p) et le nombre de caractères à supprimer (n).
Program Exemple;
Var
s : String ;
Exemple
Begin
s := 'Bonjour' ;
Delete ( s , 1 , 3 ) ; { s = ' jour' } End.
Opération: Copy
Copy (s, p, n)
Copy une sous-chaîne d'une chaîne de caractères.
Les paramètres de cette fonction sont :
Copy (s, p, n)
Les paramètres de cette fonction sont :La chaîne (s), la position de la sous-chaîne (p) et le nombre de caractères à copier (n).
Program Exemple;
Var
s , t : String ;
Exemple
s , t : String ; Begin
s := 'Bonjour' ;
t := Copy ( s , 1 , 3 ) ; {t = 'Bon'}
End.
Opération: Insert
Insert (t, s, p)
Insérer des caractères dans une chaîne.
Les paramètres de cette fonction sont :
Insert (t, s, p)
Les paramètres de cette fonction sont :La chaîne initiale (s), la sous-chaîne à insérer (t) et la position d'insertion (p).
Exemple
Program Exemple;
Var
s : String ;
Exemple
Begin
s := ‘BJOUR' ;
Insert ('on' , s , 2 ) ; {s = ‘BonJOUR'}
End.
Opération: Str
Str ( n, s)
Str: est une procédure, permet de convertir un nombre (n) en une chaîne de caractères (s).Str ( n, s)
un nombre (n) en une chaîne de caractères (s).
Program Exemple;
Var
s : String ; n: Integer;
Exemple
n: Integer;Begin
n := 123 ;
Str ( n , s ) ; { s= '123' } End.
Opération: Val
Val ( n, s , e)
Val: est une procédure, permet de convertir une chaîne de caractères (s) en un nombre (n).
La paramètre (e) est un nombre entier indique
Val ( n, s , e)
La paramètre (e) est un nombre entier indique la position d’erreur.
Program Exemple;
Var
s : String ; n: Real;
Exemple
n: Real;
e: Integer;
Begin
s := ’148.25’ ;
Val ( n , s, e ) ; { n= 148.25 , e=0}
End.