• Aucun résultat trouvé

Tab[2][5] = 38. Tab. 1. Introduction

N/A
N/A
Protected

Academic year: 2022

Partager "Tab[2][5] = 38. Tab. 1. Introduction"

Copied!
20
0
0

Texte intégral

(1)

• Les langages de programmation permettent de déclarer des tableaux dans lesquels les valeurs ne sont pas repérées par une seule, mais par deux indices.

• Ces tableaux à deux dimensions sont appelés des Matrices.

• Exemple d’un tableau à deux dimensions :

1. Introduction Tableaux à deux dimensions

• C’est une matrice de 3 lignes et 7 colonnes de valeurs entiers.

• Les éléments du tableau sont repérés par leur numéro de ligne et leur numéro de colonne

1 2 3 4 5 6 7

1 12 28 44 2 76 77 32

2 23 36 51 11 38 54 25

3 43 21 55 67 83 41 69

Tab[2][5] = 38

Tab

(2)

2. Déclarations

Pour déclarer un tableau à deux dimensions, il faut indiquer:

La variable tableau à 2 dimensions : Nom_Tableau

Le nombre maximum de Ligne: Nbligne

Le nombre maximum de Colonne: Nbcolonne

Le type de base des éléments du tableau.

Tableaux à deux dimensions

Syntaxe:

Var Nom_Tableau:tableau[1..Nbligne,1..Nbcolonne] de type_éléments ou bien

Var Nom_Tableau:tableau[Nbligne, Nbcolonne] de type_éléments

(3)

T1:tableau[1..5,1..10] de

entier; On declare une matrice T1 de 5 lignes et 10 colonnes dont les éléments sont entiers

T2:tableau[1..15,1..3] de

réel; On déclare un tableau T2 qui stockera 15*3 valeurs réelles

T3:tableau[1..30,1..4] de

caractère; On déclare un tableau T3 qui stockera 30*4 valeurs de types caractères

Autres exemples de déclarations :

Exemple de déclaration :

Var T: tableau[1..3, 1..4] d’entiers

T

une variable tableau à deux dimensions de 3 lignes et de 4 colonnes

2 0 10 -1

4 3 9 7

-9 -8 5 11

1 2 3 4

1 2 3

Tableaux à deux dimensions

(4)

3. Accès aux composantes d’un tableau à deux dimensions

L‘objectif de la déclaration est le même que pour les tableaux à une dimensions: réserver un espace de mémoire nécessaire pour stocker les éléments du tableau ligne par ligne

Pour accéder à un élément d’un tableau à deux dimensions, on écrit:

Nom_tableau[Numéro_ligne, Numéro_Colonne]

Pour accéder à l’élément de la matrice qui se trouve à l’intersection de la ligne i et de la colonne j, on écrit :

Nom_tableau[i][j]

Tableaux à deux dimensions

(5)

Exemple:

Avec la déclaration suivante:

T: tableau[1..5, 1..7] d’entiers;

• L‘élément de la 5ième ligne et la 4ième colonne est notée: T[5,4]

L‘élément de la 2ième ligne et la 2ième colonne est notée: T[2,2]

• L’élément de la 3ième ligne et la 4ième colonne est notée: T[3,4]

On définit un tableau T de 5*7 éléments.

T[2,2]

T[3,4]

T[5,4]

Tableau

T

1 2 3 4 5 6 7

1 2 3 4 5

Tableaux à deux dimensions

(6)

Exercice 1 :

Écrivez un algorithme remplissant un tableau de 6 sur 13, avec des zéros. Algorithme tableau_Exo1;

Vari,j: entier;

T: tableau[6, 13] d’entiers;

Début

Pour i ← 1 à 6 faire Pour j ← 1 à 13 faire

T[i, j] ← 0;

FinPour j FinPour i Fin

Tableaux à deux dimensions

Le principe est le même que dans un tableau à une dimension, la seule chose qui change, c'est qu'ici le balayage requiert deux

boucles imbriquées, au lieu d'une seule.

(7)

Exercice 2 :

Quel résultat produira cet algorithme ?

Algorithme tableau_Exo2;

Vari,j, val: entier;

X: tableau[2, 3] d’entiers;

Début

Val ← 1;

Pour i ← 1 à 2 faire Pour j ← 1 à 3 faire

X[i, j] ← Val;

Val ← Val + 1;

FinPour j FinPour i

Pour i ← 1 à 2 faire Pour j ← 1 à 3 faire

Ecrire (X[i, j]);

FinPour j FinPour i Fin

Cet algorithme remplit un tableau de la manière suivante:

X[1, 1] = 1 X[1, 2] = 2 X[1, 3] = 3 X[2, 1] = 4 X[2, 2] = 5 X[2, 3] = 6

(8)

Exercice 3 :

Quel résultat produira cet

algorithme ? Algorithme tableau_Exo3;

Vark,m: entier;

T: tableau[4, 2] d’entiers;

Début

Pour k ← 0 à 3 faire Pour m ← 0 à 1 faire

T[k, m] ← k+m;

FinPour m FinPour k

Pour k ← 0 à 3 faire Pour m ← 0 à 1 faire

Ecrire (T[k, m]);

FinPour m FinPour k Fin

T[0, 0] = 0 T[0, 1] = 1 T[1, 0] = 1 T[1, 1] = 2 T[2, 0] = 2 T[2, 1] = 3 T[3, 0] = 3 T[3, 1] = 4

Cet algorithme remplit un tableau de la manière suivante:

Tableaux à deux dimensions

(9)

1 2 3 4 5 6 7 8

9 10 11 12 13 14 15 16

Ecrire un algorithme qui permet

d’initialiser et

d’afficher le tableau à deux dimension suivant:

Algorithme exercice4;

Var T: tableau[1..2,1..8] d’entier;

val,i,j: entier;

Début

// initialisation du tableau de 2*8 valeur val1;

Pour i 1 à 2 faire Pour j  1 à 8 faire

T[i,j]  val;

val val+1;

FinPour j FinPour i

Pour i 1 à 2 faire Pour j 1 à 8 faire Ecrire(T[i,j]);

FinPour j

Ecrire(retour à la ligne );

FinPour i Fin

Exercice 4 :

(10)

Exercice5

Ecrire un algorithme permettant de saisir les données d’un tableau T à deux dimensions de 10 lignes et 4 colonnes, de calculer la somme, le produit et la moyenne des données saisi et d’afficher les résultats de calcul à l’écran.

(11)

Algorithme tableau_deuxD_Exo5;

Var T: tableau[1..10,1..4] de réels;

i,j: entier;

S, prod,M : réel;

Début

// Saisie des éléments du tableau Pour I 1 à 10 faire

Pour j  1 à 4 faire

Ecrire("entrer l’élément T "

,i,j);

Lire(T[i,j]);

FinPour j FinPour i

// affichage des éléments du tableau Pour i  1 à 10 faire

Pour j  1 à 4 faire Ecrire(T[i,j]);

FinPour j FinPour i

(12)

// calcul de la somme, produit et moyenne et afficher résultats S  0;

prod  1;

Pour i  1 à 10 faire Pour j  1 à 4 faire

S  S+T[i,j];

prod  prod*T[i,j];

FinPour j FinPour i

M  S/40; //40 est le nombre d’éléments du tableau=10*4 Ecrire("la somme des éléments du tableau est S= ",S);

Ecrire("le produit des éléments du tableau est prod= ", prod);

Ecrire("la moyenne des éléments du tableau est M= ",M);

FIN

(13)

T1:tableau[1..5,1..10] de

entier; On declare une matrice T1 de 5 lignes et 10 colonnes dont les éléments sont entiers

T2:tableau[1..15,1..3] de

réel; On déclare un tableau T2 qui stockera 15*3 valeurs réelles

T3:tableau[1..30,1..4] de

caractère; On déclare un tableau T3 qui stockera 30*4 valeurs de types caractères

Autres exemples de déclarations :

Exemple de déclaration :

Var T: tableau[1..3, 1..4] d’entiers

T

une variable tableau à deux dimensions de 3 lignes et de 4 colonnes

2 0 10 -1

4 3 9 7

-9 -8 5 11

1 2 3 4

1 2 3

Tableaux à deux dimensions

(14)

 Le tri consiste à ordonner les éléments du tableau dans l’ordre croissant ou décroissant

 Il existe plusieurs algorithmes connus pour trier les éléments d’un tableau :

Le tri par sélection

Le tri par insertion

Le tri rapide

15

Tri d’un tableau

Tableau

(15)

 Pour chaque indice d’élément dans le tableau, on sélectionne l’élément du tableau qui doit y être et on le place a cet indice

 On sélectionne la bonne valeur qu’on place au bon emplacement.

 Ainsi, en faisant un tri dans un ordre croissant,

On parcourt le tableau de gauche vers droite, pour chaque emplacement (indice),

On sélectionne la plus petite valeur dans le sous tableau de droite et on la met a cet emplacement.

 Soit le tableau suivant

16

Tri par sélection

50 12 86 3 954 20 124

Tableau

(16)

Tri par sélection

3 12 86 50 954 20 124

3 12 86 50 954 20 124

50 12 86 3 954 20 124

3 12 20 50 954 86 124

3 12 20 50 954 86 124

3 12 20 50 86 954 124

3 12 20 50 86 124 954

Tableau

(17)

 Parcourir tout le tableau en comparant successivement les éléments du tableau deux à deux. Permuter les deux éléments comparés s’ils ne sont pas dans l’ordre.

 Cette opération est répétée plusieurs fois jusqu’à ce que le tableau soit entièrement parcouru sans réaliser aucune permutation

 Soit le tableau suivant

18

Tri a bulle

50 12 86 3 954 20 124

12 50 86 3 954 20 124

12 50 86 3 954 20 124

12 50 3 86 954 20 124

Tableau

(18)

12 50 3 86 954 20 124

12 50 3 86 20 954 124

12 50 3 86 20 124 954

12 50 3 86 20 124 954

12 3 50 86 20 124 954

12 50 3 86 20 124 954

Tri a bulle Tableau

(19)

20

12 3 50 86 20 124 954

12 3 50 20 86 124 954

12 3 50 20 86 124 954

12 3 50 20 86 124 954

3 12 50 20 86 124 954

3 12 50 20 86 124 954

Tri a bulle Tableau

(20)

3 12 20 50 86 124 954

3 12 20 50 86 124 954

3 12 20 50 86 124 954

3 12 20 50 86 124 954

En parcourant tout le tableau (jusqu’au dernier élément bien placé) sans faire aucune permutation, cela signifie que le Tableau est dans l’ordre (le tableau est trié)

Tri a bulle Tableau

Références

Documents relatifs

In Datasheet view, you can edit fields, add and delete data, and search for data.. In Access 2007, you

[r]

[r]

[r]

Si vous êtes enceinte ou que vous allaitez, si vous pensez être enceinte ou planifiez une grossesse, demandez conseil à votre médecin ou pharmacien avant de prendre ce médicament..

Afficher un message : rapatrie sur le PC le texte contenu dans la mémoire du panneau à l’adresse indiquée dans le champ « Numéro du message » et l’affiche dans le

TABLEAU DE CORRESPONDANCE CARACTERES LATINS - GRECS DANS LA POLICE GREEK.TTF. Les nombres représentent les

تمايلعتلا هذه تيعور اذإ لاإ بيكترلا اذه ةملاس نماض نكيم لا .هذه ةملاسلا تمايلعت ظفح ىجري .لماعتسلااو بيكترلا ءانثأ :تاظحلام ةقاطلا ردصم نأ نم دكأت ،هيف فصرتلا دنعو