• Aucun résultat trouvé

Cours N 4 : Département des Sciences Techniques Université Ammar Thelidji Laghouat

N/A
N/A
Protected

Academic year: 2022

Partager "Cours N 4 : Département des Sciences Techniques Université Ammar Thelidji Laghouat"

Copied!
28
0
0

Texte intégral

(1)

Cours N°4 :

Chaînes de caractères Chaînes de caractères

Département des Sciences Techniques

Université Ammar Thelidji – Laghouat

(2)

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

(3)

Les caractères

(4)

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.

(5)

Table de code ASCII (American Standard Code for Information Interchange)

(6)

Fonctions Pascal

pour les caractères

pour les caractères

(7)

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.

(8)

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.

(9)

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.

(10)

• 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.

(11)

Les chaînes de

caractères

(12)

• 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.

(13)

Opérations sur les

chaînes de caractères

chaînes de caractères

(14)

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

(15)

• 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’

(16)

• 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’

(17)

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 ; Begin

s := 'Le ciel est bleu' ; n := Length (s) ;

End.

(18)

Opération: Pos

Pos( ch1, ch2)

Retrouver la position d'une chaîne de

caractè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 ; Begin

s := 'Le ciel est bleu' ; p := Pos ('ciel' , s) ; End.

(19)

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.

(20)

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.

(21)

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.

(22)

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.

(23)

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.

(24)

Exercices

(25)

• Écrire un programme Pascal permettant de

Exercice 01

• Écrire un programme Pascal permettant de

convertir une chaîne écrite en majuscules en minuscules.

Exemple:

‘BONJOUR’ => ‘bonjour’

‘BONJOUR’ => ‘bonjour’

(26)

• Écrire un programme Pascal qui permet d'inverser

Exercice 02

• Écrire un programme Pascal qui permet d'inverser une chaîne de caractères.

Exemple:

‘bonjour’ => ‘ruojnob’

(27)

• Écrire un programme Pascal qui permet de calculer

Exercice 03

• Écrire un programme Pascal qui permet de calculer le nombre de mots dans une chaîne de caractères.

Exemple:

‘Le ciel est bleu’ => 4

(28)

• Écrire un programme Pascal qui permet de

Exercice 04

• Écrire un programme Pascal qui permet de

supprimer toutes les occurrences répétées d'un caractère dans une chaîne de caractères .

Exemple:

‘Booonjjjouurr’ => ‘Bonjour’

‘Booonjjjouurr’ => ‘Bonjour’

Références

Documents relatifs

• La déclaration des enregistrements se fait dans une partie des algorithmes appelée

• Une condition est une expression de type logique, elle ne prend que deux valeurs possibles VRAI ou FAUX. Les

Le groupe Portek est un fournisseur d’équipement, de services et de solution à l’industrie portuaire, créé en 1988, transformé en port d’opération en 1999, énuméré dans

Problème 2 : A la gare le train part avec 140 personnes de moins qu’à son arrivée?. 270 personnes

Créer deux fonctions permettant d’estimer l’erreur test par une validation croisée LOO (Leave-one-out) pour un modèle ajusté par la fonction lm : la première en utilisant le

2. Transformer la séquence 1) en une procédure saisie et y ajouter les contrôles nécessaires pour la saisie des éléments du tableau T.. 3. Ecrire la procédure

[r]

programme PASCAL -version Windows- (juste après Program) pour permettre d’appeler l’unité ’affichage.. Uses WinCRT;.. Les Commentaires