Vous êtes sur la page 1sur 9

CHAPITRE 3 : LES STRUCTURES DE DONNEES DE

TYPE COMPLEXES

Un tableau est une structure de données pouvant contenir des


éléments de même type. Sa taille est connue à sa création et
les éléments sont rangés de façon contiguë (les uns à la suite
des autres) dans la mémoire.
Un tableau peut contenir les types suivants : entier, réel,
caractère, booléen, chaine de caractère, enregistrement,
tableau.
Un tableau est caractérisé par :
• Son nom
• Son type
• Sa taille
Il existe des tableaux à une, 2, 3, n dimension
• LE TABLEAU A UNE DIMENSION
C’est un tableau qui est composé d’une seule ligne et de K
colonne avec K≥1.
• Déclaration d’un tableau à une dimension.
Syntaxe :

Type
Nomtype= tableau(taille) de type
Var
Nomtableau : nomtype
Ou :
Var
Nomtableau : tableau(taille) de type

• Indexation d’un tableau à une dimension


C’est accéder à une cellule quelconque du tableau. Cela est
réalisé à l’aide d’une valeur de type entier appelée indice du
tableau.
Syntaxe :
Nomtableau (indice)
• Parcours d’un tableau à une dimension
Pour parcourir un tableau à une dimension il faut
nécessairement ou obligatoirement utiliser une boucle
Exo : écrire un algorithme permettant de saisir la moyenne de
60 étudiants

Algo moyenne
Var
tab : tableau (60) de réel
i : entier
Debut

Pour i ←1 à 60 faire

Debut
Ecrire (‘’Entrer la moyenne de l’étudiant n°’’, i)
Lire (tab(i))
Fin
finpour
fin

• Tri d’un tableau à une dimension


Pour trier un tableau à une dimension il faut utiliser deux
boucles imbriquées.
Le compteur de la première boucle va de la première
colonne jusqu’à l’avant dernière colonne.
Le compteur de la deuxième boucle va de la position du
compteur de la première boucle + 1 jusqu’à la dernière
colonne.
NB : la deuxième boucle est imbriquée dans la première.
Exemple : soit Tab un tableau de 120 valeurs. Ecrire un
algo permettant de trier ce tableau de la plus petite valeur à la
plus grande valeur.
Algo tri
Var
Tab : tableau (120) de réel
i,j : entier
tmp : réel
Debut
Pour i ←1 à 119 faire
Pour j←(i+1) à 120 faire
Si (tab (i)˃ tab(j) alors
tmp←tab(i)
tab(i)←tab(j)
tab(j)←tab(tmp)
fsi
fpour
finpour
fin

EXERCICE :
Pour des raisons de statistique il vous est demandé d’élaborer
un algo permettant de calculer la moyenne de 75 étudiants
d’une classe. Chaque étudiant a 3 notes. La direction des
statistiques voudrait savoir :
• Le nombre d’étudiant ayant une moyenne supérieure à la
moyenne de la classe.
• Le nombre d’étudiant ayant une moyenne comprise entre
12 et 15,5.
• Le nombre d’étudiant ayant une moyenne égale à 16
• La moyenne la plus élevée.
• Les notes de l’étudiant ayant la moyenne la plus basse.
• Le nombre d’admis
• Le taux d’échec
• L’algo doit pouvoir faire le classement de la classe.

Nb : moyenne d’admission à saisir et doit être comprise


entre 10 et 15
• Tableau à 2 dimensions
C’est un tableau qui est composé de n lignes et de k
colonnes avec n >= 2 et k >=1.

• Déclaration d’un tableau à 2 dimensions

Syntaxe :

Type
Nomtype= tableau(ligne)(colonne) de type
Var
Nomtableau : nomtype
Ou :
Var
Nomtableau : tableau(ligne)(colonne) de type

Var
Tab : tableau (120) (1) de réel
(60) (2)
• Indexation d’un tableau à 2 Dimension
Syntaxe :
nom tableau(l) (c ) exemple : t( 2) (3 )
• Parcourt d’un tableau à deux dimensions
Pour parcourir un tableau à deux dimensions il faut utiliser
deux boucles :
La première boucle parcourt les lignes et la deuxième parcourt
les colonnes ou la première parcourt les colonnes et la
deuxième les lignes.
Exemple
Ecrire un algorithme permettant de saisie la moyenne de 120
étudiants en utilisant le tableau à 2 dimensions.

II-
Algo moyenne
Var
tab : tableau (12)(10) de réel
i,j,k : entier
Debut
k←1
Pour i ←1 à 12 faire
Pour j ←1 à 10 faire
Debut
Ecrire (‘’Entrer la moyenne de l’étudiant n°’’,
k)
Lire (tab(i)(j))
k←k+1
Fin
Finpour
finpour
fin
• Enregistrement
Un enregistrement est une structure de données pouvant
contenir des éléments de type diffèrent. Ces éléments peuvent
être des entiers, des réels, des caractères, des chaines de
caractères, des booléens, des tableaux, et même des
enregistrements.

• Création d’un enregistrement


Type
Nom (de l’enregistrement) = enregistrement
Champ 1 : type
|
|
Champ n : type
Fin enregistrement

• Déclaration d’une variable de type enregistrement


Syntaxe :
Var
Nomvariable : nom_enregistrement

• Accès aux champs d’un enregistrement

Pour accéder aux d’un enregistrement on utilise la notation


pointée
Syntaxe :
Nomvariable.nomchamps

Exemple
Lire(et.nom)
et.mat ← ‘’matricule’’
et.age←40
et.classe←’’licence3SI’’
écrire (et.nom)

Exo de maison
On désire gérer une liste de 70 articles. Chaque article est
caractérisé par son code, sa désignation, son prix unitaire et
sa quantité en stock. Les actions à réaliser sur la liste sont les
suivantes :
• Ajouter un article à la liste
• Rechercher un article par rapport à son code afin de
modifier sa quantité et son prix unitaire ou le supprimer
de la liste.
• Déterminer l’article le plus cher
• Déterminé l’article le moins cher
• Déterminer la valeur globale du stock

Vous aimerez peut-être aussi