 | sc2mosta LE LANGAGE DE PROGRAMATION PASCAL . |
| | | cours numéro 09 | Dim 16 Mar - 18:08 par Admin | 5. Tableaux à plusieurs dimensions :
Le type d'une composante d'un tableau peut être à son tour un tableau, on parle alors d’un tableau à plusieurs dimensions. Par exemple une matrice est un tableau de colonnes.
Exemple:
const
taille = 10 ;
type
indice = l..taille ;
colonne = array [indice] of Real;
matrice = array [indice] of colonne;
Dans cette exemple, le type 'matrice' est un tableau à deux dimensions puisque ses composant sont des vecteurs. La déclaration du type 'colonne' peut être incorporée dans la déclaration du type ‘matrice' :
type
matrice = array [indice] of array [indice] of real;
Cette dernière déclaration est assez lourde et peut être simplifiée par la déclaration suivante:
type
matrice = array [indice, indice] of real;
Remarque: dans l'exemple plus haut nous avons déclaré un tableau à deux dimensions (qu’'on appelle souvent matrice) dans lequel les intervalles des deux indices sont les mêmes, on parle alors de matrice carrée. On peut envisager le cas d'une matrice rectangle comme dans l'exemple suivant:
type
mat = array [1..10, 1..15] of real;
. Règles relatives à un tableau à plusieurs dimensions:
. L'accès aux composantes de la matrice se fait en utilisant deux indices (indice de ligne et indice de colonne). Par exemple:
Var
a : matrice;
i, j : indice ;
les composantes de la matrice a s'écrivent alors a[i,j].
. Les composantes d'un tableau à deux dimensions sont stockées en mémoire dans des cases successives en les alignant ligne par ligne ou colonne par colonne (suivant la convention du compilateur utilisé). Un calcul d'indice est effectué pour passer de la représentation à deux dimensions à la représentation en mémoire centrale (qui est représentation à une seule dimension).
. Pratiquement toute opération manipulant une matrice (tableau à deux dimensions) nécessite l'utilisation de deux boucles imbriquées (L’une pour l'indice de ligne et l'autre pour l'indice de colonne). Par exemple:
var
a : matrice;
i, j : indice;
begin
(* lecture de la matrice *)
for i:=l to taille do
for j :=1 to taille do
read (a[i,j]) ;
end.
Somme de deux matrices:
La somme de deux matrices a et b est la matrice c telle quI: Cij = aij + bij.
Program SommeMatrices;
Const
N = 1..10;
M = 1..15 ;
Type
Ligne = 1..N ; Colonne = 1..M ;
Matrice = array [Ligne, Colonne] of Real ;
Var
A, b, c : Matrice;
I : Ligne; J : Colonne;
Begin
(* Lecture des matrices a et b l'une après l’autre*)
for 1:= 1 to N do
for J:= 1 to M do
read (a[I,J]) ;
for 1:= 1 to N do
For J:= 1 to M do
read (b[I,J]) ;
(* Calcul de la somme *)
for 1:= 1 to N do
for J := 1 to M do
c[I,J] := a[I,J] + b[I,J] ;
(* Affichage du résultat *)
for I:= 1 to N do
begin
for J := 1 to M do
Write (c(I)]) ;
Writeln
End
End.
| | Commentaires: 0 |
| | Qui est en ligne ? | Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité
Utilisateurs enregistrés : Aucun
[ Voir toute la liste ] Le record du nombre d’utilisateurs en ligne est de 5 le Lun 26 Mai - 20:41
|
| Statistiques | Nous avons 16 membres enregistrés L’utilisateur enregistré le plus récent est HAKIKI MUSTAPHA YACINE
Nos membres ont posté un total de 58 messages dans 21 sujets
|
|
| |
|