Vous êtes sur la page 1sur 5

Les tableaux

Introduction

Les types présentés jusqu’à maintenant permettent de définir des variables simples, mais de nombreux
problèmes nécessitent de manipuler des variables qui peuvent avoir des valeurs plus complexes
(structurées), et qui ne peuvent pas être présentées par une valeur simple.

Utilisation des tableaux

 Intérêt 
Gain de temps, rétrécissement du volume de l'algorithme et possibilité de réutilisation de toutes les
valeurs ultérieurement dans l'algorithme.

 Type tableau
Un tableau est une structure composée d’un ensemble d’éléments de même type de données. Chaque
élément est accessible via un indice.

 Format général

Nom_tab : Tableau de [Indice_min..Indice_max] de type_données

Un tableau possède un nom (Nom_tab).

Il est aussi caractérisé par une valeur d’indice minimal (Indice_min) et une valeur d’indice maximal
(Indice_max). Ces deux valeurs doivent être de type ordinal, généralement sont de type entier.
Le type des éléments du tableau est indiqué par type_données.

Nom_tab[i] : représente l'élément du tableau Nom_tab occupant le rang " i ".

La capacité d’un tableau est le nombre d’éléments que peut contenir un tableau.

Exemple

L’exemple suivant permet de déclarer un tableau nommé Note de 10 éléments réels :


Note :Tableau de [1..10] de réels

Cet exemple nous a permis de substituer la déclaration de 10 variables Note1, Note2, …Note10 de type réel
par une seule structure, à savoir le tableau Note.

 Déclaration d'un tableau en Pascal

Var Ident_tableau : ARRAY [Indice_min..Indice_max] of type_element;

Exemple :
Var Moyenne : ARRAY [1..5] OF REAL ;
Remarque :

La capacité d’un tableau ne peut pas être changée au cours d’exécution d’un programme.
Il est donc nécessaire de prendre une valeur suffisamment grande pour le traitement. Pour
une souplesse de programmation, on peut utiliser une constante de la manière suivante :

 Manipulation d’un tableau

Un tableau peut être représenté par un ensemble de cases, l’une à côté de l’autre, schématisées comme
suit :

Pour accéder au i ème élément du tableau (pour affectation, lecture ou écriture), il suffit de donner
l’identificateur de tableau et l’indice i.
Exemple : n <--- Note[0]
Lire(Note[i])
Ecrire(Note[i])

Les opérations possible sur un élément d’un tableau sont les même que celles définies sur une
variable de même type.

Exemple : s <---T1[i]+T2[j]

Le type d'indice est tout type pouvant être interprété comme un entier (Integer, byte, types énumérés,
caractères…).

Exemples :
Var tab1 : Array [0..10] of Byte;
Var tab2 : Array [1..100] of Integer;
Var tab3 : Array [-10..10] of Real;
Var tab4 : Array [50..60] of String;
Var tab5 : Array ['A'..'S'] of Char;
Var tab6 : Array ['a'..'z'] of Extended;

Pour la manipulation des tableaux, on utilise fréquemment les boucles.

 Autres déclarations d’un tableau :

Tableau de déclaration de nouveau types

Exemple

1) Type Notes = Tableau [1..26] de réels


Variable a : Notes

Défini un nouveau type appelé Notes, qui est un tableau de 26 réels et déclare une variable de type Notes
2) TYPES
Classe=tableau de 20 chaînes de caractères
T_Moyenne= tableau de 20 réels

Variables
Cl1 : Classe ; moy : T_Moyenne

Exercices

Exercice 1
soit la séquence suivante :
T[1] <- 30
T[2] <-7
T[3] <- T[1] div T[2]
T[4] <- T[3] *10
T[5] <- T[1] + T[3] * T[4]
1) Déclarer le tableau T.
2) Quel est le contenu de chaque élément du tableau ?

Exercice 2

Ecrire un algorithme qui calcule la somme des valeurs d'un tableau.


chiffres = [10, 15, 20, 15, 14, 8]

Exercice 3 : (Création, initialisation et édition d’un tableau)


Problème : Ecrire un algorithme permettant de créer un tableau de dix entiers, d’initialiser ses éléments à
0, ensuite de les afficher. Traduire l’algorithme en Pascal.

Exercice 4 : (Création, remplissage et édition dun tableau)


Problème : Ecrire un algorithme permettant de créer un tableau de dix caractères, de lire ses éléments à
partir du clavier, ensuite de les afficher.
Ecrire le programme Pascal correspondant.

Exercice 5 : (La recherche dans un tableau)


Problème : Ecrire un algorithme permettant la recherche dun nombre lu à partir du clavier dans un tableau
de dix réels. Traduire lalgorithme en Pascal.

Exercice 6 : (Calcul de la somme, le produit et la moyenne des éléments numériques d’un tableau)
Problème : Ecrire un algorithme permettant de calculer la somme, le produit et la moyenne d’un tableau de
dix réels. Traduire l’algorithme en Pascal.

Exercice 7 : (La recherche du plus petit et plus grand élément dans un tableau)
Problème : Ecrire un algorithme permettant de déterminer la valeur maximale et minimale dans un tableau
de dix entiers, avec leurs positions dans le tableau. Traduire l’algorithme
en Pascal.
Exercice 8 :
Que fait l’algorithme suivant ?

Peut-on simplifier cet algorithme pour avoir le même résultat ?

Exercice 9 :
Que fait l’algorithme suivant ?

Peut-on simplifier cet algorithme pour avoir le même résultat ?

Exercice 10 :
Que fait l’algorithme suivant ?

Représentez le tableau Suite après l’exécution des opérations de l’algorithme X.


Peut-on simplifier cet algorithme pour avoir le même résultat ?

Exercice 11 :

Ecrire un algorithme permettant l’affichage des deux plus petits éléments d’un tableau de dix entiers.
Traduire l’algorithme en Pascal.

Exercice 12 :

Ecrire un algorithme permettant la recherche du minimum et le nombre d’occurrence de ce minimum dans


un tableau de dix entiers.
Reprendre l’algorithme, mais cette fois-ci en utilisant une seule boucle.
Traduire les deux algorithmes en Pascal.
Exercice 13 :

Ecrire un algorithme permettant à l’utilisateur de saisir un nombre quelconque de valeurs, qui devront être
stockées dans un tableau. L’utilisateur doit donc commencer par entrer le nombre de valeurs qu’il compte
saisir. Il effectuera ensuite cette saisie. Enfin, une fois la saisie terminée, le programme affichera le nombre
de valeurs négatives et le nombre de valeurs positives.
Traduire l’algorithme en Pascal.

Exercice 14 :

Ecrire un algorithme permettant de remplir deux tableaux de dix éléments, de calculer leur somme, et de
stocker le résultat dans un troisième tableau.
Exemple :
Tableau 1 : 4, 8, 7, 9, 1, 5, 4, 6.
Tableau 2 : 7, 6, 5, 2, 1, 3, 7, 4.
Tableau à constituer : 11, 14, 12, 11, 2, 8, 11, 10.
Traduire l’algorithme en Pascal.

Exercice 15 :
Toujours à partir des deux tableaux précédemment saisis, écrivez un algorithme qui calcule le schtroumpf
des deux tableaux. Ensuite, représentez l’algorithme par l’organigramme correspondant.
Pour calculer le schtroumpf, il faut multiplier chaque élément du tableau 1 par chaque élément du tableau
2, et additionner le tout.
Par exemple :
Tableau 1 : 4, 8, 7, 12.
Tableau 2 : 3, 6.
Le Schtroumpf : 3*4 + 3*8 + 3*7 + 3*12 + 6*4 + 6*8 + 6*7 + 6*12 = 279.
Traduire l’algorithme en Pascal.

Vous aimerez peut-être aussi