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 :

  • déposer des informations dans les tableaux : l'affectation ;
  • utiliser des informations présentes dans les tableaux.

Tableaux à une dimension

Si l'on considère les variables déclarées selon le schéma :

Tableau à une dimension

Affectation

On pourrait affecter des valeurs à ces variables selon les schémas suivants :

MonTableau [14] := 4.72;
Table2 [25] := 'Une chaîne';
AutreTable [3] := 2500;

Utilisation

Quelques exemples d'utilisation pourraient être :

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

On n'accède pas à l'ensemble des données du tableau, mais uniquement aux " cases " individuelles.

Tableaux à deux dimensions

Si l'on considère les variables déclarées selon le schéma :

Tableaux à deux dimensions

Affectation

On pourrait affecter des valeurs à ces variables selon les schémas suivants :

MonTableau [5, 2] := 4.72;
Table2 [2, -2] := 'Une chaîne';
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'accède pas à l'ensemble des données du tableau, mais uniquement aux " cases " individuelles.

Exemple résolu

Grille 6On demande de construire une application dont l'interface se présente 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 supérieur 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.

Vérifie cela sur la copie d'écran.

Pour permettre l'entrée des données dans la grille elle-même, il faut modifier certaines valeurs de la propriété 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 après un simple clic dans une cellule).

Réalise cette interface et enregistre le projet sous le nom Grille6. Les cellules ne doivent pas être entourées de rouge.

Le code

Déclaration de la variable Tableau

Les valeurs entrées dans la propriété Cells de la grille sont de type Texte. Pour permettre les calculs, il faut les transformer en valeurs numériques : une variable en tableau à deux dimensions va donc recevoir les valeurs numériques correspondantes ; elle s'appellera Tableau. Cette variable pourra aussi recevoir les sommes et les moyennes.

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

Entrée des données

Les données sont fournies par l'utilisateur, directement dans la grille. Le seul problème est de les convertir en valeurs numériques pour les stocker dans le tableau.
Le code suivant permet d'importer la première ligne de la grille :

Ligne 1

Les deux autres lignes sont récupérées selon un principe identique.

Calculs

Le calcul des sommes horizontales est fait dans les cellules de la troisième colonne ; le calcul des moyennes dans la quatrième colonne.

Sommes et moyennes

Les résultats des calculs verticaux prennent place dans la troisième et quatrième lignes.

code 3

Sortie des résultats

Les calculs sont faits " en coulisse " : rien n'apparaît dans la grille à l'écran.
Il faut maintenant y placer tous les résultats calculés. Le code suivant permet d'envoyer les résultats dans la grille.

code 4

La sortie des résultats verticaux se fait par une méthode identique.

L'ensemble du code peut être téléchargé au format .txt. Par un simple copier/coller, insère le texte dans le gestionnaire d'événement du bouton Calculer.

  • Compile et exécute le programme en mode pas-à-pas.
  • Ajoute un point de suivi (rappel ICI, si nécessaire) sur la variable Tableau, de manière à pouvoir suivre son évolution.
  • Assure-toi que tu comprends le fonctionnement de l'application et que tu maîtrises parfaitement le système de références à deux dimensions. Si nécessaire, exécute l'application plusieurs fois en mode pas-à-pas.

Quand tu penses avoir une maîtrise suffisante de la variable en tableau, passe à la page suivante.Vers la page suivante Page suivante


Dernière modification 25/01/2007