Vous êtes sur la page 1sur 4

Spécialité : Informatique TS / Option : base de données.

Semestre : « 2 ».
Module : Ecriture des programmes à l’aide d’un langage procédural.
Chapitre « I » : Ecrire un programme qui utilise les données structurées statiques.
Leçon N° : « 03 ».

Les chaînes de caractères.

Chapitre : I Leçon 03 , les chaines de caractères.


Pour le besoin de manipuler des caractères et du texte, le langage pascal offre la possibilité d’introduire
une structure de données « chaîne de caractère » avec les deux types "Char" et "String".

Une chaîne de caractère est une suite de caractère ne dépassant pas 255 caractères.

I. La déclaration d’une chaine de caractère sous pascal  : Une Chaîne de caractère est
représentée, en pascal, par la déclaration suivante

Var
NomVariable1 : char ;
NomVariable2 : string [n] ;

Exemple :
Voici un programme qui permet de déclarer, de saisir et de comparer deux chaines de caractères sous
pascal.

Program chaine;
Var
Mot1, mot2: string [20] ;
Begin
Write ln (‘donner un mot de votre choix’) ;
Readln (mot1) ;
Write ln (‘Proposer un autre mot de votre choix’) ;
Readln (mot2) ;
If length(mot1) > length (mot2) then writeln (‘ le premier mot est plus long que le deuxième’)
Else  writeln (‘ le deuxième mot est plus long que le premier’) ;
End.

II. Les différentes opérations sur les chaines de caractère sous pascal :

1
Spécialité : Informatique TS / Option : base de données.
Semestre : « 2 ».
Module : Ecriture des programmes à l’aide d’un langage procédural.
Chapitre « I » : Ecrire un programme qui utilise les données structurées statiques.
TP N° : « 03 ».

Les chaînes de caractères.


TP N°03

Chapitre : I Leçon 03 , les chaines de caractères.


Exercice 1 : Le code ASCII
Ecrire un programme pascal qui permet d’afficher le code ASCII des caractères de 1 à 256.

I ndica t io n:
Utiliser la fonction CHR (car) qui permet de retourner le code ASCII d’un caractère.

Exercice 1 : Solution
program code-ASCII;
uses crt;
var
i:integer;
ch:char;
BEGIN
 clrscr;
 writeln('PROGRAMME QUI AFFICHE LE CODE DES CARACTERE ENTRE 1 ET 256);
ch:=readkey;
 for i:=1 to 256 do
 begin
writeln(i, ' ------ a pour code ASCII ------ ',CHR(i));
 ch:=readkey;
end;
END.

2
Exercice2 : Inverse d'une chaîne
Eno nc é :
Ecrire un programme qui lit un mot d'une longueur N et affiche son inverse.
I ndica t io n:
Utiliser la fonction Length(mot) pour jouer sur la longueur du mot.

Exercice 2 : Solution
PROGRAM mots-inverse;
uses crt;

Chapitre : I Leçon 03 , les chaines de caractères.


type mot=string[20];
var mot1,mot2:mot; mot1, mot2 : string [20] ;
i,j: integer;
c,ch: char;
BEGIN
 clrscr;
 gotoxy(16,3); write('programme qui lit un mot et affiche son inverse');
 gotoxy(6,10); write('FAIT ENTRÉE UN MOT DE 20 CARACTERES =====> ');
 readln(mot1);
 mot2:= mot1[length(mot1)];
 for i:=length(mot1)-1 downto 1 do
begin mot2:=mot2+mot1[i]; end;
  
gotoxy(6,13); write('L`INVERSE DU MOT EST =====>', mot2);
  gotoxy(15,17); write(' APPUYEZ SUR  UNE TOUCHE POUR SORTIR ! ');
  ch:=readkey;
END.

3
Exercice 3: Recherche d'un caractère
Eno nc é :
Ecrire un programme qui cherche un caractère dans une chaîne, et donne son occurrence s'il existe.
Ex em ple:
L'occurrence du caractère 'A' dans la chaîne CANADA, est 3.

Exercice 3 : Solution
program occurence;

Chapitre : I Leçon 03 , les chaines de caractères.


uses crt;
var mot1: string[80];;
x,k,c,ch: char;
occ,i: integer;
BEGIN
clrscr;
gotoxy(20,3);
writeln('PROGRAMME QUI DONNE L`OCCURRENCE D`UN CARACTERE DANS UNE CHAÎNE DE
CARACTERES');
writeln('Donner une chaîne : '); readln(mot1);
write('Donner le caractère à chercher : '); readln(x);
x:=upcase(x);
occ:=0; i:=1;
while i<= length(mot1) do
begin
k:=upcase(mot1[i]);
if x=k then begin occ:=occ+1; i:=i+1; end
else i:=i+1;
end;
gotoxy(10,15);
if occ=0 then begin write('Le caractère ',x,' n`existe pas') end
else begin write(occ,' est l`occurrence du caractère ',x); end;
 ch:=readkey;
END.

Vous aimerez peut-être aussi