1. LES TABLEAUX – EXERCICE
CRÉER UN TABLEAU A TAILLE FIXE DESTINE A DES TEMPERATURES
SCÉNARIO
L’exercice qui suit a recours à un tableau unidimensionnel appelé Temperatures pour
enregistrer les températures journalières les plus élevées sur une semaine de sept jours. Le
programme montre comment utiliser un tableau pour stocker et traiter un groupe de valeurs
liées sur un formulaire.
La variable du tableau Temperatures est déclarée en haut du formulaire, puis les
températures sont assignées au tableau grâce à une fonction InputBox et une boucle
For…Next. Le compteur boucle sert à référencer chaque élément du tableau. Le contenu du
tableau s’affiche ensuite sur le formulaire grâce à une boucle For…Next et à un objet zone
de texte. On calcule et on affiche également la température moyenne.
LES FONCTIONS LBOUND ET UBOUND
Pour simplifier le travail avec le tableau, le programme Tableau Fixe utilise la fonction UBound pour
vérifier la limite supérieure, ou valeur supérieure d’index, du tableau. UBound est un des premiers
mots clés Visual Basic, qui reste très utile. Grâce à lui, vous pouvez gérer des tableaux sans faire
référence aux instructions de déclaration qui définissent exactement le nombre de valeurs qu’il
peut contenir. Étroitement liée, la fonction LBound, qui confirme la limite inférieure d’un tableau,
est toujours valide dans Visual Basic. En revanche, comme tous les tableaux Visual Basic possèdent
désormais une limite inférieure de zéro (0), cette fonction retourne simplement une valeur de 0.
La syntaxe des fonctions UBound et LBound est :
LBound(NomTableau)
UBound(NomTableau)
où NomTableau est le nom d’un tableau déclaré dans le projet.
UTILISER UN TABLEAU A TAILLE FIXE
1. Démarrez Visual Studio et créez un nouveau projet Visual Basic Application Windows
Forms intitulé Mon Tableau fixe.
2. Dessinez un objet zone de texte sur le formulaire.
3. Définissez la propriété Multiline de l’objet TextBox1 à True afin de pouvoir
redimensionner l’objet.
4. Redimensionnez l’objet zone de texte afin qu’il occupe la quasi-totalité du
formulaire.
5. Dessinez côte à côte deux grands objets bouton en dessous de l’objet zone de texte.
6. Définissez les propriétés suivantes pour le formulaire et ses objets :
2. Objet Propriété Paramètres
TextBox1 ScrollBars Vertical
Button1 Text « Saisir températures »
Button2 Text « Afficher températures »
Form1 Text « Tableau fixe de
températures »
Voici à quoi ressemble votre formulaire.
7. Dans l’Explorateur de solutions, cliquez sur le bouton Afficher le code pour afficher
l’Éditeur de code.
8. Défilez vers le haut du code et tapez la déclaration de tableau suivante, juste sous
l’instruction Public Class Form1 :
Dim Temperatures(0 To 6) As Single
Cette instruction crée un tableau appelé Temperatures (de type Single) contenant
sept éléments numérotés de 0 à 6. Comme le tableau a été déclaré en haut du code
du formulaire, il est disponible dans toutes les procédures événementielles du
formulaire.
9. Affichez de nouveau le formulaire et double-cliquez sur le bouton Saisir températures
(Button1).
La procédure événementielle Button1_Click s’affiche dans l’Éditeur de code.
3. 10. Tapez les instructions suivantes pour inviter l’utilisateur à saisir des températures et
pour charger les entrées dans le tableau :
Dim Prompt, Title As String
Dim i As Short
Prompt = "Tapez la température du jour."
For i = 0 To UBound(Temperatures)
Title = "Jour " & (i + 1)
Temperatures(i) = InputBox(Prompt, Title)
Next
La boucle For…Next utilise la variable compteur entière courte i comme un index de
tableau pour charger les températures dans des éléments de tableau de 0 à 6. Au lieu
d’utiliser la syntaxe de boucle For simplifiée
For i = 0 to 6
pour traiter le tableau, j’ai choisi une syntaxe un peu plus complexe comprenant la
fonction UBound pour une meilleure souplesse future. La construction de boucle For
For i = 0 To UBound(Temperatures)
détermine la limite supérieure du tableau en utilisant l’instruction UBound. Cette
technique est plus souple car la boucle For s’adapte automatiquement à la nouvelle
dimension du tableau si celui-ci est ultérieurement agrandi ou réduit.
Pour remplir le tableau avec des températures, la procédure événementielle exploite
une fonction InputBox, qui affiche le jour en cours grâce au compteur de boucle For.
11. Affichez de nouveau le formulaire et double-cliquez sur le bouton Afficher
températures (Button2).
12. Tapez les instructions suivantes dans la procédure événementielle Button2_Click :
Dim Result As String
Dim i As Short
Dim Total As Single = 0
Result = "Températures les plus hautes de la semaine:" & _
vbCrLf & vbCrLf
For i = 0 To UBound(Temperatures)
Result = Result & "Jour " & (i + 1) & vbTab & _
Temperatures(i) & vbCrLf
Total = Total + Temperatures(i)
Next
Result = Result & vbCrLf & _
"Température moyenne: " & Format(Total / 7, "0.0")
TextBox1.Text = Result
Cette procédure événementielle se sert d’une boucle For…Next pour parcourir les
éléments du tableau et ajoute chaque élément du tableau à une variable chaîne
appelée Result, déclarée en haut de la procédure événementielle. J’ai utilisé
plusieurs chaînes littérales, des constantes et des opérateurs de concaténation de
chaîne (&) pour remplir et formater la chaîne en utilisant des retours chariot (vbCrLf),
des tabulations (vbTab) et des en-têtes. La constante vbCrLf contient les caractères
4. retour chariot et saut de ligne. Elle représente un moyen efficace de créer de
nouvelles lignes. La constante vbTab permet de séparer les valeurs de jour et de
température de la chaîne Résultat. À la fin de la procédure événementielle, on
détermine une moyenne des températures et la chaîne finale est assignée à la
propriété Text de l’objet zone de texte, comme le montre cette instruction :
TextBox1.Text = Result
13. Dans la barre d’outils Standard, cliquez sur le bouton Enregistrer tout pour
enregistrer le projet.
Vous allez à présent exécuter le programme.