Les variables en tableaux

Utilisation des variables "tableaux"

Et maintenant, si on utilisait ces variables en tableaux?

Il n'y avait qu' demander.

Comme avec toutes variables, il faut tre capable de faire deux choses :

  • dposer des informations dans les tableaux : l'affectation ;
  • utiliser des informations prsentes dans les tableaux.

Tableaux une dimension

Si l'on considre les variables dclares selon le schma:

Tableau  une dimension

Affectation

On pourrait affecter des valeurs ces variables selon les schmas suivants:

MonTableau [14] := 4.72;
Table2 [25] := 'Une chane';
AutreTable [3] := 2500;

Utilisation

Quelques exemples d'utilisation pourraient tre:

UneVariable := MonTableau [14];
A := StrToInt (Table2 [25]);
AutreTable[2] := AutreTable [3];

On n'accde pas l'ensemble des donnes du tableau, mais uniquement aux "cases" individuelles.

Tableaux deux dimensions

Si l'on considre les variables dclares selon le schma:

Tableaux  deux dimensions

Affectation

On pourrait affecter des valeurs ces variables selon les schmas suivants:

MonTableau [5, 2] := 4.72;
Table2 [2, -2] := 'Une chane';
AutreTable [5, 13] := 2500;

Utilisation

Quelques exemples d'utilisation pourraient tre:

UneVariable := MonTableau [5, 2];
A := StrToInt (Table2 [2,-2]);
AutreTable[4, 12] := AutreTable [5, 13];

On n'accde pas l'ensemble des donnes du tableau, mais uniquement aux "cases" individuelles.

Exemple rsolu

Grille 6On demande de construire une application dont l'interface se prsente comme sur l'illustration ci-contre.
Elle contient:

  • un composant TStringGrid de taille 5x5 nomm Grille et
  • un composant TButton nomm Calculer.

L'utilisateur fournit 9 nombres dans le carr de cellules suprieur gauche (encadr de rouge). Quand les 9 nombres sont fournis, un clic sur le bouton provoque le calcul pour chaque ligne et pour chaque colonne:

  • de la somme des nombres,
  • de la moyenne des nombres.

Vrifie cela sur la copie d'cran.

Pour permettre l'entre des donnes dans la grille elle-mme, il faut modifier certaines valeurs de la proprit Options:

  • goEditing: True (afin de permettre l'dition du contenu dans la grille);
  • goTabs: True (afin de permettre l'usage de la touche de tabulation pour passer d'une cellule l'autre;
  • goAlwaysShowEditor: True (afin de permettre l'dition aprs un simple clic dans une cellule).

Ralise cette interface et enregistre le projet sous le nom Grille6. Les cellules ne doivent pas tre entoures de rouge.

Le code

Dclaration de la variable Tableau

Les valeurs entres dans la proprit Cells de la grille sont de type Texte. Pour permettre les calculs, il faut les transformer en valeurs numriques: une variable en tableau deux dimensions va donc recevoir les valeurs numriques correspondantes; elle s'appellera Tableau. Cette variable pourra aussi recevoir les sommes et les moyennes.

var Tableau: array [0..4,0..4] of real;

Entre des donnes

Les donnes sont fournies par l'utilisateur, directement dans la grille. Le seul problme est de les convertir en valeurs numriques pour les stocker dans le tableau.
Le code suivant permet d'importer la premire ligne de la grille:

Ligne 1

Les deux autres lignes sont rcupres selon un principe identique.

Calculs

Le calcul des sommes horizontales est fait dans les cellules de la troisime colonne; le calcul des moyennes dans la quatrime colonne.

Sommes et moyennes

Les rsultats des calculs verticaux prennent place dans la troisime et quatrime lignes.

code 3

Sortie des rsultats

Les calculs sont faits "en coulisse": rien n'apparat dans la grille l'cran.
Il faut maintenant y placer tous les rsultats calculs. Le code suivant permet d'envoyer les rsultats dans la grille.

code 4

La sortie des rsultats verticaux se fait par une mthode identique.

L'ensemble du code peut tre tlcharg au format .txt. Par un simple copier/coller, insre le texte dans le gestionnaire d'vnement du bouton Calculer.

  • Compile et excute le programme en mode pas--pas.
  • Ajoute un point de suivi (rappel ICI, si ncessaire) sur la variable Tableau, de manire pouvoir suivre son volution.
  • Assure-toi que tu comprends le fonctionnement de l'application et que tu matrises parfaitement le systme de rfrences deux dimensions. Si ncessaire, excute l'application plusieurs fois en mode pas--pas.

Quand tu penses avoir une matrise suffisante de la variable en tableau, passe la page suivante.


Dernière modification 18/08/2016 Test dans /info ...