Vous êtes sur la page 1sur 5

UNIVERSITÉ D’ALGER 1 - FACULTÉ DES SCIENCES - DÉPARTEMENT D’INFORMATIQUE

L1 - Informatique

Intitulé du Module : Algorithmique et Structure de Données 1 (ASD1)


Chapitre 3 – Structures de données statiques

1. Définition de la variable structurée


Les variables entières, réelles, caractères et booléennes ne comportaient qu'un seul élément.
En revanche, les variables structurées sont composées de plusieurs éléments. La caractéristique la plus
importante d'une variable structurée est la façon d'accéder à chacun de ses composants.

2. Tableaux à une dimension (Vecteur)


2.1. Définition
C'est une structure de données composée d'un nombre fixe d'éléments (ou de composantes) de même
type. Ces éléments possèdent tous un seul identificateur (nom du tableau).

Une variable de type tableau est de type structuré, car elle comprend plusieurs éléments assemblés suivant
certaines règles :

 Les éléments du tableau sont du même type simple ;


 L'accès à un élément du tableau est déterminé par l'utilisation d'un indice.
 L'indice d'une composante est la position (le rang) de la composante relativement au début du
tableau qui permet d'accéder directement à chaque élément ;
 Le nombre d'éléments du tableau est fixé dans la déclaration et ne peut pas changer (Statique).

Une variable de type tableau se définit donc par :


a) Le type de l'élément du tableau ;
b) L'indice (ce qui nous permet de choisir l'élément qui nous intéresse).
Exemple : Tableau de degrés de température d’une journée d’un module.
On peut le présenter par un ensemble de cases repérées par leurs indices (positions, rangs) dans le tableau.
Tableau de température d’une journée

1 2 3 4 …. N-1 N
18 18.5 19 21 ….. …. 17 17.5
L1 Informatique – ASD1 Chapitre 3 : Structure de données statiques

2.2. Déclaration d’un tableau


Var nomTableau : Tableau[IndiceMin..IndiceMax] de TypeDeDonnées ou

Var nomTableau : Tableau[Taille] de TypeDeDonnées

2.2.1. Sémantique
 IndiceMin : Valeur d’indice minimale
 IndiceMAx : Valeur d’indice maximale
 intervalle: Est un intervalle de type entier, caractère ou booléen ; (pas de type réel)
 Taille : définit la taille du tableau
 TypeDeDonnées : C'est le type des éléments du tableau qui peut être de type entier, caractère,
booléen ou réel.
Exemple 1 : Temps Tableau[1 24] de Réel
Dans cet exemple, on a déclaré un tableau appelé Temps, d’indice minimal 1 et d’indice maximal 24. Ce
tableau contient 24 cases de nombres réels contenant, chacune, le degré de température d’une heure de la
journée.

Exemple 2 : Notes Tableau[1 10] de Réel


Dans cet exemple, on a déclaré un tableau appelé Notes, d’indice minimal 1 et d’indice maximal 10. Ce
tableau contient des cases de nombres réels représentant chacune une note d’un module.

2.3. Opérations sur les tableaux


2.3.1. Accès à un élément du tableau
On accède à un élément d’une variable Tab de type tableau par une variable indicée
qui s’écrit : Tab[ Expression ]

Expression : est une expression de type entier qui détermine l’indice (le rang, la position) de l’élément
sélectionné dans le tableau.

Exemples : Notes[5] : désigne l’élément de rang 5 dans le tableau Notes.


T[3] : désigne l’élément 3 du tableau T.

Chaque élément du tableau se comporte comme toute variable de même type de données. Notes[5] : est
un réel. Cette case peut être lue à partir du clavier, affichée à l’écran, être utilisée dans une comparaison ou
dans une affectation.

2
L1 Informatique – ASD1 Chapitre 3 : Structure de données statiques

2.3.2. Lecture et écriture dans un tableau


L’accès à un élément du tableau est désigné

 Lire(T[3]) /* lire la 3ème valeur du tableau T */


 Ecrire(Note[10]) /* afficher la 10ème valeur du tableau Note */
 T[i]  11.75 /* affecter la valeur 11.75 dans la ième case du tableau T */
 X  (Note[5] + Note([6]) /2 /* Utilisation dans une expression
 T[i]=T[i]*2 /* Utilisation dans une expression

Si (Note[5]  10) Alors /* Comparaison */


Ecrire (‘admis’) ;
Sinon
Ecrire(‘Ajourné’) ;
FSi
Parcourir un tableau consiste à passer par chaque élément du tableau pour effectuer un traitement sur
les éléments de ce tableau.

Exemple 1
Lire les éléments d’un tableau T de 10 éléments puis les afficher.

Algotrithme Lect_Ecrit_Tableau ;
Var T[1 ..10] de Reel ;
i : entier ;
DEBUT
/* Saisie des éléments du tableau */
Pour i=1 à 10 Faire
Ecrire(‘Donner l’élément T[‘,i,’]’) ;
Lire(T[i]) ;
FPour
/* Affichage des notes saisies */
Pour i=1 à 10 Faire
Ecrire(T[i]) ;
FPour
FIN

3
L1 Informatique – ASD1 Chapitre 3 : Structure de données statiques

Exemple 2
Un algorithme qui calcule la moyenne de 15 notes stockées dans un tableau.

Algotrithme Moyenne ;
Const N=15 ;
Var Note[1 ..10] de Reel ;
i : entier ;
S, Moy : Reel ;
DEBUT
Pour i=1 à N Faire /* Saisie des 15 notes */
Ecrire(‘Note’,i,’ = ?’) ;
Lire(Note[i]) ;
FPour
S0;
Pour i=1 à N Faire /* Affichage des notes saisies */
S  S+Note[i] ;
FPour
Moy=S/N ; /* Calcul de la moyenne*/
Ecrire(‘La Moyenne = ‘,Moy) ;
FIN

Remarque
La taille du tableau est fixe et ne peut être modifiée. En général, on fixe une taille maximale (par rapport
aux besoins des données d'un problème donné) que nous n'utiliserons pas parfois entièrement.

Exemple

Tableau 1

Var T[1 ..8] d’entiers : N,i : entier ;


…..
Pour i=1 à N Faire /*N=5*/
Lire(T[i]) ;
FPour
15 2 5 1 0

4
L1 Informatique – ASD1 Chapitre 3 : Structure de données statiques

Vous aimerez peut-être aussi