Vous êtes sur la page 1sur 20

LES STRUCTURES DE

DONNEES
chapitre1

Le type chane de caractre:


Une chane de caractre est une suite de n caractre avec n dans
[0,255].

Si n = 0 alors la chane est vide.

Les valeurs dune chane se notent en utilisant des guillemets ("") en


. et en utilisant des cotes simples ( ) en .

Dclaration en algorithme:
Tableau de dclaration des objets

Objet

Type/Nature

Identificateur_vari
able
Ch1
Ch2

Chane ou
Chane[taille_max]/var
Chane/var
Chane[20]/var

Dclaration en
pascal:
Var
ch1: String ;
ch2: String[20];

Rl
e
Rle

Ch1: chane peut


atteindre 256
caractres.
Ch2: chane peut
contenir au maximum
20 caractres.

Remarque:

On peut accder en lecture et en criture au


ime caractre dune chane CH laide de la
notation CH [i] avec i dans [1, n]

Exemple:

ch " formation"
ch [1] donne " f"
ch [7] donne " i"

m a

o n

a. Les oprations sur les chanes:


On peut appliquer les oprations relationnelles de comparaison
suivantes: <, >, <=, >=, =, <> et le rsultat sera de type
boolen.
Exemple:
CH1 ciel "
CH2 CIEL"
CH1 = CH2 donne FAUX.

b. Fonctions et Procdures prdfinies:

CONCAT (CH1, CH2,CH3)


ch
1

ch
2

ch
3

ch1:traduction;ch2:=ch3:=
pascal

ch= traduction pascal

ch

SOUS_CHAINE (CH, P, N)
t r a d u c t i o n
1

10

p a s c a l
11

12

POSITION

14

15

16

17

Nombre de caractres
,12

ch1:=copy(ch
,3

ch1 = pas

13

POSITION (CH1,CH2)
b o n b o n
1

POSITION

p:=pos (bon,bonbon )

p=1

EFFACE (CH,P,N)
t r a d u c t i o n
1

ch1:=delete

ch1 = pas

10

11

12

13

Nombre de caractres
,6

POSITION

(ch
,7

p a s c a l

14

15

16

17

INSRE(CH1,CH2,P)
ma t i o n
1

p r o g r a mma t i o n
1

10

12

13

POSITION

ch2:=insert(ch 1

,ch2

,8
ch2 =

11

Les tableaux:
Un tableau est une structure de donnes
homognes

regroupant

un

nombre

dlment de mme type.


Un tableau est caractris par ( un nom, une
taille et le type des lments quil contient)

Dclaration en algorithme:
Tableau de dclaration des objets

Objet

Type/Nature

Dclaration en
pascal:

Nom_variable
tableau1

Tableau de taille_max de type_lment


Tableau de 10 rels

Var

Rl
e
Rle

Borne_inf
..
Borne_sup:
lintervalle correspondant
lensemble des valeurs des
indices du tableau.
Type des lments: cest le
type des lments du tableau
(entier,
rel,
caractre,
chane).

Nom_variable: Array [Borne_inf .. Borne_sup] of Type des lments;

Tableau1: Array [1..10] of Real;

Tab: Array [5..10] of Char;

T: Array [a..f] of String;

Remarque:

Laccs un lment du tableau

Laccs en criture un lment

se fait directement en donnant

dun

lidentificateur

daffectation.

du

tableau

et

lindicei de cet lment. Cet

tableau

se

fait

laide

Exemple:

indice doit tre dans lintervalle

Tableau1[9] 100.25

[Borne_inf .. Borne_sup].

Tab[10] "? "

Les oprations possibles sur un


lment

dun

tableau

sont

les

mmes que celles dfinies pour


une variable de mme type

Remarque:
Si on va utiliser plusieurs tableaux, et pour des raison de simplicit de

lalgorithme on peut dclarer

un nouveau type ayant les mmes

caractristiques des tableauxtableau


utiliser.
Et la dclaration
seratype
comme suit:
de dclaration
de nouveau
Type
Nom_type= tableau de taille_max de
type_lments
Classe = tableau de 30 chanes de caractre
Tableau de dclaration des objets:

Objets
Nom_varia
ble
Bac

Type/Natur
e
Nom_type
Classe

Rle

Un tableau contenant les noms des lves dune


classe de bac

En pascal:
Type
Nom_type = Array [Binf..Bsup] of Type_lments;
Var
Nom_variable : Nom_type;

Exemple:
Type
Classe = Array [1..30] of String ;
Var
Bac : classe;

Application
16

Soit la squence suivante:


V
V [1]
20
. .
V [2]
3
1
2
3
V [3]
V [1] div V [2]
Indice
V [4]
V [3] * V [2]
V [5]
V [1] + V [3] + V [4]
Dclarer le tableau V
Quel est le contenu de chaque lment
du
tableau V.

. .
4

7 Les types numr


(utilisateur)
Dfinition :
les types numrs permettent de reprsenter des valeurs en les
numrant au moyen de leurs noms. Un type numr est
constitu dun nombre limit de valeurs.
Jour=(dimanche,lundi,mardi,mercredi,jeudi,vendredi,samedi)
Fruits(poire,banane,orange)
Dclaration:

Oprateurs relationnels:
= <= >= <>

< >

Exemple:

Lundi<mardi

Les fonctions prdfinies:


A chaque valeur numr correspond un numro dordre. La numrotation
commence partir de 0.

PRED (prcdent), SUCC (suivant), ORD (numro d'ordre (dans la


dclaration), entre 0 et N-1)

exemple:

pred(mardi)=lundi

succ(mardi)=mercredi

ord(mardi)=1

Remarque:
READLN et WRITELN ne fonctionnent

pas en standard pour les types

Dclaration
En Algorithme
T.D.N.T
Type

En Pascal
Type
Nom_type=(val1, val2, val3,
,valn);

Nom_type=(val1, val2, val3,,valn)

T.D.O
Objet
Nom_variable

Type/Nature
Nom_type

Var
Rle
Rle

Nom_variable:Nom_type;

8 Le type intervalle

Unintervallepermet derestreindre
le groupe des valeursd'un type
appeltype
de
baseet
choisi
parmiinteger, boolean,charou un type
numr.
Exemples:

0..9 est l'intervalle des valeurs entires


0 9, le type de base estinteger

lundi..vendredi est l'intervalle des


valeurs numreslundivendredi, le
type de base est jours_de_la_semaine

'A'..'Z' est l'intervalle des lettres


majuscules, le type de base estchar

Les
bornes
infrieure
et
suprieure
appartiennent

l'intervalle ainsi dfini. Ce sont


obligatoirement desconstantes
du type de base.

La dclaration d'un
intervalle se fait ainsi:

type
t_chiffre = 0..9;
t_jours_de_travail =
lundi..vendredi;
t_majuscule = 'A'..'Z';

type