0% ont trouvé ce document utile (0 vote)
5 vues14 pages

Introduction aux Tableaux en Programmation

Ce document décrit les tableaux unidimensionnels en langage de programmation. Il présente la déclaration, le remplissage, l'affichage, la manipulation et les opérations sur les éléments d'un tableau comme l'insertion, la suppression ou l'addition de deux tableaux.

Transféré par

Ilyasse Rahal
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues14 pages

Introduction aux Tableaux en Programmation

Ce document décrit les tableaux unidimensionnels en langage de programmation. Il présente la déclaration, le remplissage, l'affichage, la manipulation et les opérations sur les éléments d'un tableau comme l'insertion, la suppression ou l'addition de deux tableaux.

Transféré par

Ilyasse Rahal
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Institut Supérieur des Sciences Appliquées et de Technologie de Sousse

Algorithmique et Programmation

Chapitre 6
Les Tableaux

Enseignante : Insaf SAGAAMA Groupe : LEM-A1

Année Universitaire: 2022-2023


Introduction
Les tableaux à une dimension

2
➢ Supposons que nous avons à déterminer à partir de 30 notes fournies en entrée, le
nombre d’étudiants qui ont une note supérieure à la moyenne de la classe.
➢ Pour parvenir à un tel résultat, nous devons :
✓ Lire les 30 notes
✓ Déterminer la moyenne de la classe : m
✓ Compter combien parmi les 30 notes sont supérieures à la moyenne m.
➢ Solution 1:Utiliser 30 variables réelles nommées x1, x2, …, x30. Cette façon de faire
présente deux inconvénients :
✓ Il faut trouver un nom de variables par note ;
✓ Il n’existe aucun lien entre ces différentes valeurs. Or, dans plusieurs cas, on est
appelé à appliquer le même traitement à l’ensemble ou à une partie de ces
valeurs.
➢ Solution 2:Utiliser la notion de tableau qui consiste à :
✓ Attribuer un seul nom à l’ensemble des 30 notes, par exemple Tnote.
✓ Repérer chaque note par ce nom suivi, entre crochets, d’un numéro entre 1 et
30 : Tnote[1], Tnote[2], ..Tnote[30].

3
➢ Un tableau à une dimension ou encore unidimensionnel, appelé aussi vecteur, est
une suite de « cases » de même taille contenant des éléments d'un type donné et
directement accessibles par leurs indices ou index. Chaque élément ou composant
du tableau est accessible en lecture ou écriture.
➢ Un tableau contenant des entiers peut se représenter de la façon suivante :
❖ Déclaration d’un tableau: entier entier entier … entier entier
➢ Pour définir une variable de type tableau, il faut préciser :
✓ le nom (identifiant du tableau)
✓ l’indice (généralement de type entier)
✓ le type des éléments (entier, réel, caractère, etc.)
➢ On note: Variables
Nom_tab : Tableau [PremInd..DernInd] de Type_éléments
➢ Exemple: Tnote : Tableau[1..30] de Réel
Schématiquement, ce tableau peut être représenté comme suit : Tnote
10.5 8 …. 15
1 2 30

6
➢ Remarque: Il est également possible de définir un type tableau comme dans
l’exemple suivant : Constantes
NMAX=5
Types
Tab=Tableau[1..NMAX] de Entier
Variables
T:Tab
➢ La solution du problème précédent est la suivante :
ALGORITHME étudiant
Var Tnote : tableau [1..30] de réels
i : entier
Début
pour i de 1 à 30 faire
Lire (Tnote [i])
FinPour
Ecrire (" Voici les notes des étudiants")
pour i de 1 à 30 faire
Ecrire (Tnote[i])
FinPour
Fin 7
❖ Identification d’un élément du tableau
➢ Un élément dans un tableau est identifié de la façon suivante :
NomTab[ position de l’élément ]
➢ Cela traduit bien l’accès direct aux éléments du tableau. Ainsi, Tnote [3] désigne la
note du 3éme étudiant et d’une façon générale T[i] désigne le ième élément du
tableau T.
❖ Remplissage d’un tableau
➢ Un tableau peut être rempli élément par élément à l’aide d’une série d’affectations
T[1] Valeur 1
T[2] Valeur 2
….
T[n] Valeur n
➢ Il est également possible de lire les éléments du tableau à partir du clavier comme
dans l’algorithme suivant: ALGORITHME Remplir
Constante N=Val
Type TabEnt : Tableau [1..N] de entier
Variable T : TabEnt
i : entier
Début
pour i de 1 à N faire
Ecrire ( ”Entrer un entier ”) Lire (T [i]) 8
FinPour Fin
➢ Affichage des éléments d’un tableau
➢L’affichage des éléments d’un tableau se fait également élément par élément.
ALGORITHME Afficher
Constante N=Val
Type TabEnt : Tableau [1..N] de entier
Variable T : TabEnt
i : entier
Début
pour i de 1 à N faire
Ecrire (T [i])
FinPour
Fin
➢Exercice : Soit T un tableau contenant n éléments de type entier. Ecrire l’algorithme
MinTab qui retourne le plus petit élément de ce tableau.

9
➢ Solution : On suppose initialement que le premier élément du tableau est le
minimum puis on le compare à tous les autres éléments. Chaque fois qu’on
trouve un élément qui lui est inférieur, ce dernier devient le minimum.

Algorithme MinTab
Constante N = Val
Type TabEnt = Tableau [1..N] de Entier
Variable T : TabEnt
i,m : entier
Début
m  T[1]
Pour i de 2 à N Faire
Si (T[i] < m) Alors
m  T[i]
FinSi
FinPour
Ecrire (‘’le minimum du tableau est :’’m)
Fin

10
❖ Insertion d’un élément dans un tableau à la case d’indice p:
➢ On vous demande de remplir n case du tableau A ensuite d’ajouter un élément à la
position d’indice p. Soit le type tab suivant :
Tab = Tableau[1..100] de entier
Algorithme Insertion Répéter
Type Tab = Tableau [1..100] de Entier Ecrire (“ Donner l‘indice de la case“)
Variable A : Tab Lire(p)
i,x,p,n : entier Jusqu’à (p<=n+1)
Début Si (p=n+1) Alors
Répéter nn+1
Ecrire (“Donner la taille du tableau“) A[n]x
Lire(n) Sinon
Jusqu’à ((n>0) ET (n<100)) Pour i de n à p [Pas -1] Faire
Pour i de 1 à n Faire A[i+1]A[i]
Ecrire(“Donner A*“,i,“+“) Lire(A[i]) FinPour
FinPour A[p]x
Ecrire (“ Donner l’élément à insérer“) FinSi
Lire(x) Fin

11
❖ Supprimer un élément à la position p:
➢ On vous demande de remplir n case du tableau A ensuite de supprimer un élément
à la position d’indice p. Soit le type tab suivant :
Tab : Tableau[1..100] de entier

Algorithme Suppression Répéter


Type Tab = Tableau [1..100] de Entier Ecrire (“ Donner l‘indice de la case à
Variable A : Tab supprimer“)
i,p : entier Lire(p)
Début Jusqu’à (p<=n)et (p>=1)
Répéter Si (p=n) Alors
Ecrire (“Donner la taille du tableau“) nn-1
Lire(n) Sinon
Jusqu’à ((n>0) ET (n<=100)) Pour i de p à n-1 Faire
Pour i de 1 à n Faire A[i]A[i+1]
Ecrire(“Donner A*“,i,“+“) FinPour
Lire(A[i]) nn-1
FinPour FinSi
Fin

10
11
➢ On dispose de deux tableaux T1 et T2 et on veut réaliser la somme. Ça consiste à
additionner les éléments de même indice et les mémoriser dans un tableau T3.
➢ Condition nécessaire : T1 et T2 de même taille et leurs éléments de même type.

Algorithme Add_Tab
Constante n = Val
Type TabEnt = Tableau [1..N] de Entier
Variable
T1, T2, T3 : TabEnt
i : entier
Début
Pour i de 1 à n Faire
T3[i]  T1[i] + T2[i]
FinPour
Fin

12
➢ Pour écrire l’algorithme correspondant, on doit s’assurer que les deux tableaux
soient de même type et de même taille.
➢ La comparaison va se faire sur les éléments des deux tableaux en les prenant deux
à deux.
Algorithme Compare Si (T1[I] <> T2([I]) Alors
Constante Egal  Faux
N=20 Sinon
Type I  I +1
Tab_Ent = Tableau[1..N] de Entier FinSi
Variable FinTantQue
T1,T2 : Tab_Ent Si (Egal=Vrai) Alors
I : entier écrire(‘T1 et T2 sont égaux’)
Egal : Booléen Sinon
Début (* on suppose que T1 et T2 déjà écrire(‘T1 et T2 sont différents’)
remplis *) FinSi
I  1 Egal  Vrai Fin
Tant que (I<=N) ET (Egal=Vrai)
Faire 15
On dispose d’un tableau d’entiers T et on veut afficher le nombre d’éléments positifs et
le nombre d’éléments négatifs contenus dans le tableau.
.

Algorithme Pos_Neg FinPour


Constante N = 20 Écrire(Nbp)
Type TabEnt = Tableau [1..N] de Entier Écrire(Nbn)
Variable T : TabEnt
I, Nbp, Nbn : entier 15
Début
Nbp  0
Nbn  0
Pour I de 1 à N Faire
Si (T[I] >= 0) Alors
Nbp  Nbp + 1
Sinon
Nbn  Nbn + 1
FinSi

Vous aimerez peut-être aussi