Programmation avec Microsoft Visual Basic. NET

Transcription

Programmation avec Microsoft Visual Basic. NET
Programmation avec
Microsoft Visual Basic. NET
Diane Zak
Réponses aux questions
Solutions des exercices
ISBN 2-89377-273-0
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 1
Présentation
Questions
1. d programme
2. d du langage machine
3. a assembleur
4. b de haut niveau
5. c interpréteur
6. b compilateur
7. a assembleur
8. d orienté objet et piloté par les événements
9. a Vrai
10. a Vrai
11. c classe
12. d Parler
13. c une instance
14. c l’encapsulation
15. a abstraction
16. a parente, dérivées
17. e l’héritage
18.
a) Tête, corps, pattes, cœur, poumons
b) Manger, courir, jouer, marcher, japper
c) trois
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 2
Tutoriel 1 – Leçon A
Questions
1. d modèle
2. c solution
3. c Propriétés
4. d Explorateur de solutions
5. c .sln
6. e Aucune de ces réponses.
7. e .vb
8. e .vb
9. c Text
10. d Name
11. e Toutes ces réponses.
12. e StartPosition
13. a BackgroundImage
14. a Vrai
15. a Vrai
16. Une application Windows possède une interface utilisateur sous Windows et s’exécute sur un
ordinateur autonome. Une application Web propose une interface utilisateur intégrée à un navigateur
Web et s’exécute sur un serveur.
17. La propriété Text contrôle le texte qui s’affiche dans la barre de titre du formulaire Windows et sur le
bouton de l’application qui apparaît dans la barre de tâches de Windows pendant que l’application
s’exécute. La propriété Name attribue un nom à l’objet Windows Form; ce nom sert ensuite à toute
référence à ce formulaire dans le code de programme.
18. Un objet Windows Form constitue le formulaire en soi. La fenêtre du concepteur de vues permet de
visualiser l’objet Windows Form qui apparaît ensuite à l’écran lors de l’exécution de l’application.
L’objet fichier du formulaire est le fichier sur disque contenant le code de programme qui crée l’objet
Windows Form.
19. Une référence est l’adresse d’une cellule de la mémoire interne de l’ordinateur. Un espace de nom est
un bloc de cellules mémoire qui contiennent les définitions de classes associées.
20. L’opérateur point de sélection de membre indique que la classe Label est un membre de l’espace de
nom Windows, lui-même membre de l’espace de nom System.
Exercices
1. Voir les fichiers de VBNET\Tut01\LA Solution Charités dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut01\LA Solution Photo dans le Disque des solutions. (L’image
d’arrière-plan peut varier par rapport à celle proposée.)
3. Voir les fichiers de VBNET\Tut01\LA Solution Vancouver dans le Disque des solutions.
4. (Découverte) Voir les fichiers de VBNET\Tut01\LA Solution Boisvert dans le Disque des solutions.
d. La propriété ControlBox détermine si un formulaire possède dans sa barre de titre un menu
Système.
e. Le réglage de la propriété ControlBox à False supprime l’icône, ainsi que les boutons Réduire,
Agrandir et Fermer de la barre de titre du formulaire.
g. La propriété MaximizeBox détermine si un formulaire possède un bouton Agrandir dans sa barre
de titre.
h. Le réglage de la propriété MaximizeBox à False provoque la mise en gris du bouton Agrandir
dans la barre de titre du formulaire.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 3
j. La propriété MinimizeBox détermine si un formulaire possède un bouton Réduire dans sa barre
de titre.
k. Le réglage de la propriété MinimizeBox à False provoque l’affichage en gris du bouton Réduire
dans la barre de titre du formulaire.
5. (Découverte) Voir les fichiers de VBNET\Tut01\LA Solution Boisvert dans le Disque des solutions.
d. La propriété DrawGrid de l’objet Windows permet de supprimer l’affichage des points de grille
sur le fond du formulaire.
e. La propriété ShowInTaskbar détermine si la valeur stockée dans la propriété Text du formulaire
apparaît ou non dans la barre des tâches de Windows quand l’application s’exécute.
Tutoriel 1 – Leçon B
Questions
1. e Windows Forms
2. e Aucune de ces réponses.
3. c Label
4. a AutoSize
5. e Text
6. e b (Des poignées de dimensionnement apparaissent autour du contrôle.) et c (La zone d’objet de la
fenêtre Propriétés affiche le nom et la classe du contrôle.)
7. d a (Une ligne fine entoure le contrôle.) et c (La zone d’objet de la fenêtre Propriétés affiche le nom
et la classe du contrôle.)
8. a pixels entre la bordure gauche du formulaire et le côté gauche du contrôle
9. e Toutes ces réponses.
10. e Toutes ces réponses.
11. c Image
12. e SizeMode
13. b System.Windows.Forms
14. e Text
15. b Le fichier exécutable que Visual Studio .NET crée automatiquement lorsque vous démarrez une
application possède le même nom que la solution, mais porte une extension .exe.
16. a Me.Close
17. b événements
18. Le terme syntaxe fait référence aux règles d’un langage de programmation.
19. La zone de liste Nom de la classe sert à sélectionner l’objet à programmer, tandis que la zone de liste
Nom de la méthode permet de choisir l’événement à programmer.
20. Un mot-clé est un mot qui porte une signification particulière pour un langage de programmation.
Exercices
1. Voir les fichiers de VBNET\Tut01\LB Solution Mécanique dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut01\LB Solution Costello dans le Disque des solutions.
3. Voir les fichiers de VBNET\Tut01\LB Solution Tabatha dans le Disque des solutions.
4. (Découverte) Voir les fichiers de VBNET\Tut01\LB Solution Jarreau dans le Disque des solutions.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 4
Tutoriel 1 – Leçon C
Questions
1. c minuterie
2. a Enabled
3. d procédure événementielle Tick
4. c 10 000
5. b L’utilisateur peut voir un contrôle de minuterie pendant que l’application s’exécute.
6. d MinimizeBox
7. e Aucune de ces réponses.
8. a ControlBox
9. Pour imprimer le code de programme d’un projet, ouvrez la fenêtre de l’Éditeur de code, cliquez sur
le menu Fichier | Imprimer, puis cliquez sur le bouton OK de la boîte de dialogue Imprimer.
10. Supprimez le contrôle du formulaire. Ensuite, ouvrez la fenêtre de l’Éditeur de code et supprimez les
procédures d’événement associées à ce contrôle.
Exercices
1. Voir les fichiers de VBNET\Tut01\LC Solution Jefferson dans le Disque des solutions.
2. Les instructions données à l’étudiant consistent à créer sa propre interface utilisateur. L’interface doit
comporter un ou plusieurs contrôles étiquettes (Label) et images (PictureBox). Elle doit également
comporter un bouton qui termine l’application lors d’un clic.
3. (Découverte) Voir les fichiers de VBNET\Tut01\LC Solution Icône dans le Disque des solutions.
(Cette solution est également utilisée à l’exercice de Découverte 4, dans laquelle l’étudiant apprend à
afficher un graphisme sur la face de chaque bouton de commande.)
4. (Découverte) Voir les fichiers de VBNET\Tut01\LC Solution Icône dans le Disque des solutions.
5. (Découverte) Voir les fichiers de VBNET\Tut01\LC Solution Infobulle dans le Disque des solutions.
6. (Débogage) Voir les fichiers de VBNET\Tut01\LC Solution Débogage dans le Disque des solutions.
Pour déboguer cette solution, l’étudiant doit supprimer la procédure d’événement Click du contrôle
étiquette de la fenêtre de l’Éditeur de code, puis écrire la méthode Me.Close dans la procédure
d’événement Click du contrôle bouton.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 5
Tutoriel 2 – Leçon A
Questions
1. c étiquette
2. e zone de texte
3. a bouton de commande
4. e TOE
5. a soit horizontalement, soit verticalement
6. d en haut à gauche
7. d toutes ces réponses.
8. e a (centrés en bas de l’écran) ou c (regroupés dans le coin inférieur ou supérieur droit)
9. d six
10. a en premier
11. d La légende d’un bouton de commande se termine toujours par un deux-points (:).
12. b Posséder une majuscule uniquement au début du premier mot.
13. c Les légendes associées à des zones de texte doivent présenter des majuscules au début de chaque
mot.
14. b emploi d’une majuscule en début de phrase
15. a emploi de majuscules pour les grands titres
16. 2 Identification des objets auxquels seront affectées les tâches.
4 Réalisation d’une esquisse de l’interface utilisateur.
1 Identification des tâches devant être accomplies par l’application.
3 Identification des événements déclenchant les tâches affectées à un objet.
17. 5 Tester et déboguer l’application.
3 Construire l’interface utilisateur.
4 Rédiger le code de l’application.
6 Assembler la documentation.
2 Réaliser la conception générale de l’application.
1 Rencontrer et discuter avec le client.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 6
Exercices
1. Les diagrammes TOE et les esquisses peuvent varier.
Tâche
Demander à l’utilisateur :
nom
territoire
chiffre
Calculer la commission
Afficher :
nom
territoire
chiffre
commission
Terminer l’application
Effacer l’écran
Tâche
1. Calculer la commission
2. Afficher la commission
dans le contrôle
CommissionLabel
Effacer l’écran
Terminer l’application
Afficher la commission (par
CalculerButton)
Demander et afficher le
nom, le territoire et le
chiffre de ventes
Objet
Événement
NomTextBox
TerritoireTextBox
VentesTextBox
CalculerButton
Aucun
Aucun
Aucun
Click
NomTextBox
TerritoireTextBox
VentesTextBox
CalculerButton,
CommissionLabel
QuitterButton
EffacerButton
Aucun
Aucun
Aucun
Click, Aucun
Click
Click
Objet
CalculerButton
Événement
Click
EffacerButton
QuitterButton
CommissionLabel
Click
Click
Aucun
NomTextBox, TerritoireTextBox,
VentesTextBox
Aucun
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 7
Aperçu suivant une organisation horizontale :
Aperçu suivant un agencement vertical :
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 8
2. Les diagrammes TOE et les esquisses peuvent varier.
Tâche
Demander à l’utilisateur :
- Les chiffres de vente de
l’année courante pour chaque
région
- L’augmentation prévue en %
pour chaque région
Calculer les ventes prévues pour
chaque région
Afficher :
- Les ventes de cette année pour
chaque région
- L’augmentation prévue en %
pour chaque région
- Les ventes prévues pour
chaque région
Terminer l’application
Effacer l’écran
Tâche
1. Calculer les ventes prévues
pour chaque région
2. Afficher les ventes prévues
dans les contrôles
NventesLabel,
SventesLabel, EventesLabel
et OventesLabel
Effacer l’écran
Terminer l’application
Afficher les ventes prévues (par
CalculerButton)
Demander et afficher le
pourcentage d’augmentation
prévu pour chaque région
Demander et afficher les ventes
de cette année pour chaque
région
Objet
Événement
NventesTextBox, SventesTextBox,
EventesTextBox, OventesTextBox
NaugTextBox, SaugTextBox,
EaugTextBox, OaugTextBox
Aucun
Aucun
CalculerButton
Click
NventesTextBox, SventesTextBox,
EventesTextBox, OventesTextBox
NaugTextBox, SaugTextBox,
EaugTextBox, OaugTextBox
CalculerButton,
NventesLabel, SventesLabel,
EventesLabel, OventesLabel
QuitterButton
EffacerButton
Aucun
Objet
CalculerButton
Événement
Click
EffacerButton
QuitterButton
NventesLabel, SventesLabel,
EventesLabel, OventesLabel
NaugTextBox, SaugTextBox,
EaugTextBox, OaugTextBox
Click
Click
Aucun
NventesTextBox, SventesTextBox,
EventesTextBox, OventesTextBox
Aucun
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Aucun
Click,
Aucun, Aucun,
Aucun, Aucun
Click
Click
Aucun
Page 9
Aperçu suivant une organisation horizontale :
Aperçu suivant un agencement vertical :
3. Voir les fichiers de VBNET\Tut02\LA Exo3 Solution Temps dans le Disque des solutions. Les
réponses peuvent varier.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 10
Tutoriel 2 – Leçon B
Questions
1. c TabIndex
2. b deux ou trois
3. a la même hauteur
4. c la même hauteur et la même largeur
5. e b (la couleur par rapport au noir et blanc) et c (les graphismes par rapport au texte)
6. b du texte sombre sur un fond clair
7. b 8, 9, 10, 11 ou 12 points
8. a une ou deux
9. a sans empattement (sans serif)
10. a une
11. d BorderStyle
12. a &
13. e Text
14. Le tout premier choix d’une touche d’accès rapide réside dans la première lettre de la légende ou de
l’étiquette d’identification, à moins qu’une autre lettre offre une association plus naturelle ou plus
explicite. S’il n’est pas possible d’utiliser la première lettre ou si aucune autre lettre n’assure une
association naturelle, alors vous pouvez utiliser une consonne distincte de la légende ou de l’étiquette.
Ce n’est qu’en tout dernier ressort que vous pouvez utiliser une voyelle ou un chiffre de la légende ou
de l’étiquette.
15. Pour donner accès à une zone de texte à l’aide d’une touche d’accès rapide, attribuez une touche
d’accès rapide à son contrôle étiquette d’identification. Ensuite, ajustez la propriété TabIndex de
l’étiquette à une valeur inférieure d’une unité à celle de la zone de texte.
Exercices
1. Voir les fichiers de VBNET\Tut02\LB Solution Papier dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut02\LB Solution Diffusion RM dans le Disque des solutions.
3. Voir les fichiers de VBNET\Tut02\LB Solution Temps dans le Disque des solutions.
Tutoriel 2 – Leçon C
Questions
1. d Me.NomTextBox.Text = "Girard"
2. e Toutes ces réponses sont valides
3. c Format
4. e Val
5. 6 Assembler la documentation.
2 Planifier l’application.
4 Écrire le code de l’application.
3 Construire l’interface utilisateur.
5 Tester et déboguer l’application.
1 Rencontrer le client.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 11
6. a erreur de logique
7. b erreur de syntaxe
8. 2,92
9. 2
10. 23
Exercices
1. Voir les fichiers de VBNET\Tut02\LC Solution Papier dans le Disque des solutions. Réponse obtenue
pour les données de test : commission de 250,00 $.
2. Voir les fichiers de VBNET\Tut02\LC Solution Diffusion RM dans le Disque des solutions. Les
réponses obtenues pour les données de test : les ventes prévues pour le nord sont de 26 250,00; celles
du sud, de 32 100,00; celles de l’est, de 10 400,00; et celles de l’ouest, de 16 650,00.
3. Voir les fichiers de VBNET\Tut02\LC Solution Temps dans le Disque des solutions. Les réponses
obtenues pour les données de test sont 30 heures pour les jours de semaine et 2 heures pour les jours
de fin de semaine.
4. Voir les fichiers de VBNET\Tut02\LC Solution Twips dans le Disque des solutions. (La solution
proposée affiche le nombre de pouces comme valeur intermédiaire. La solution peut éluder la valeur
en pouces. L’interface peut également comporter un bouton Effacer.) Les réponses obtenues par la
première donnée de test sont 2 pouces ou 5,08 cm. Les réponses obtenues pour la seconde donnée de
test sont 0 pouce et 0 cm.
Tâche
1. Convertir les twips en pouces, puis
les twips en centimètres
2. Afficher le nombre de pouces et de
centimètres dans les contrôles
PoucesLabel et CmLabel
Terminer l’application
Afficher le nombre de pouces et de
centimètres (par CalculerButton)
Demander et afficher le nombre de twips
Objet
CalculerButton
Événement
Click
QuitterButton
PoucesLabel,
CmLabel
TwipsTextBox
Click
Aucun
Aucun
Pseudocode :
CalculerButton
Calculer le nombre de pouces = nombre de twips / 1440
calculer le nombre de centimètres = nombre de twips * 2.54 / 1440
Afficher le nombre de pouces dans le contrôle PoucesLabel.
Afficher le nombre de centimètres dans le contrôle CmLabel.
Donner le focus au contrôle TwipsTextBox.
QuitterButton
Terminer l’application.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 12
5. Voir les fichiers de VBNET\Tut02\LC Solution Solde dans le Disque des solutions. (L’interface peut
ne pas comporter de bouton Effacer.)
La réponse obtenue pour le premier ensemble de données est de 4 500 pour le solde final. La réponse
obtenue pour le second ensemble de données de test est de 0 pour le solde final.
Tâche
1. Calculer le solde final
2. Afficher le solde final dans le contrôle
FinalLabel
Effacer l’écran
Terminer l’application
Afficher le solde final (par CalculerButton)
Demander et afficher le solde initial, les
gains du mois, les dépenses du mois
Objet
CalculerButton
Événement
Click
EffacerButton
QuitterButton
FinalLabel
InitialTextBox,
GainsTextBox,
DépensesTextBox
Click
Click
Aucun
Aucun
Pseudocode :
CalculerButton
Calculer le solde final = solde initial + gains du mois – dépenses du mois.
Afficher le solde final dans le contrôle FinalLabel.
Donner le focus au bouton EffacerButton.
EffacerButton
Vider le contenu de la propriété Text des contrôles InitialTextBox, GainsTextBox,
DépensesTextBox.
Vider le contenu de la propriété Text du contrôle FinalLabel.
Donner le focus au contrôle InitialTextBox.
QuitterButton
Terminer l’application.
6. Voir les fichiers de VBNET\Tut02\LC Solution Moyenne dans le Disque des solutions. (L’interface
peut ne pas comporter de bouton Effacer.)
La réponse obtenue pour le premier ensemble de données de test est de 18.
La réponse obtenue pour le deuxième ensemble de données de test est de 0.
Tâche
1. Calculer la moyenne de trois nombres
2. Afficher la moyenne dans le contrôle
MoyenneLabel
Effacer l’écran
Terminer l’application
Afficher la moyenne (par CalculerButton)
Demander et afficher les premier,
deuxième et troisième nombres
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Objet
CalculerButton
Événement
Click
EffacerButton
QuitterButton
MoyenneLabel
Nbre1TextBox,
Nbre2TextBox,
Nbre3TextBox
Click
Click
Aucun
Aucun
Page 13
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 14
Pseudocode :
CalculerButton
Calculer la moyenne = (premier nombre + deuxième nombre + troisième nombre) / 3
Afficher la moyenne dans le contrôle MoyenneLabel.
Donner le focus au bouton Effacer.
EffacerButton
Vider le contenu de la propriété Text des contrôles Nbre1TextBox, Nbre2TextBox,
Nbre3TextBox.
Vider la propriété Text du contrôle MoyenneLabel.
Donner le focus au contrôle Nbre1TextBox.
QuitterButton
Terminer l’application
7. Voir les fichiers de VBNET\Tut02\LC Solution Rats de Bibliothèque dans le Disque des solutions.
(L’interface peut ne pas comporter de bouton Effacer.)
Les réponses obtenues avec les données de l’exemple 1 sont : 4 000,00 $ pour la valeur des éditions
de poche, 3 750,00 $ pour la valeur des éditions brochées, un total de 150 versions et une valeur
totale de 7 750,00 $.
Les réponses obtenues avec les données de l’exemple 2 sont : 0,00 $ pour la valeur des éditions de
poche, 0,00 $ pour la valeur des éditions brochées, un total de 0 versions et une valeur totale de
0,00 $.
Tâche
1. Calculer la valeur des éditions de
poche, la valeur des éditions
brochées, le nombre total des éditions
de poche et des éditions brochées,
ainsi que la valeur totale des éditions
de poche et des éditions brochées
2. Afficher les montants calculés dans
les contrôles ValeurPocheLabel,
ValeurBrochéLabel,
NombreTotalLabel et
ValeurTotaleLabel
Effacer l’écran
Terminer l’application
Afficher la valeur des éditions de poche,
la valeur des éditions brochées, le nombre
total d’éditions de poches et d’éditions
brochées, ainsi que la valeur totale des
éditions de poche et des éditions brochées
versions (par CalculerButton)
Demander et afficher le titre, le nombre
de versions en édition de poche, le
nombre de versions en édition brochée, le
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Objet
CalculerButton
Événement
Click
EffacerButton
QuitterButton
ValeurPocheLabel,
ValeurBrochéLabel,
NombreTotalLabel,
ValeurTotaleLabel
Click
Click
Aucun
TitreTextBox,
NombrePocheTextBox,
NombreBrochéTextBox,
Aucun
Page 15
prix de la version en édition de poche et
le prix de la version en édition brochée
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
PrixPocheTextBox,
PrixBrochéTextBox
Page 16
Pseudocode :
CalculerButton
Calculer la valeur des éditions de poche = nombre d’éditions de poche * prix de l’édition de
poche.
Calculer la valeur des éditions brochées = nombre d’éditions brochées * prix de l’édition
brochée.
Calculer le nombre total d’éditions de poche et d’éditions brochées = nombre d’éditions de
poche + nombre d’éditions brochées.
Calculer la valeur totale des éditions de poche et des éditions brochées = la valeur des
éditions de poche + la valeur des éditions brochées.
Afficher la valeur des éditions de poche, la valeur des éditions brochées, le nombre total
d’éditions de poche et d’éditions brochées, ainsi que la valeur totale des éditions de
poche et des éditions brochées, respectivement dans les contrôles ValeurPocheLabel,
ValeurBrochéLabel, NombreTotalLabel et ValeurTotaleLabel.
Donner le focus au bouton EffacerButton.
EffacerButton
Effacer le contenu de la propriété Text des contrôles TitreTextBox, NombrePocheTextBox,
NombreBrochéTextBox, PrixPocheTextBox et PrixBrochéTextBox.
Effacer le contenu de la propriété Text des contrôles ValeurPocheLabel, ValeurBrochéLabel,
NombreTotalLabel et ValeurTotaleLabel.
Donner le focus au contrôle TitreTextBox.
QuitterButton
Terminer l’application
8. Voir les fichiers de VBNET\Tut02\LC Solution Aux Mille Chemises dans le Disque des solutions.
(L’interface peut comporter aussi un bouton Effacer.)
Attention : ici, il est important d’insister sur le fait que Val rejette la virgule en tant que séparateur
décimal. En effet, pour la première donnée de test, prix normal = 50, la remise est de 12,50, mise au
format standard. Ensuite, Val(RemiseLabel) donne 12 et non 12.50. Par conséquent, le nouveau prix
devient 50 – 12 = 38, au lieu des 37,50 attendus.
Pour éviter cet écueil, il est capital d’utiliser la fonction CDbl qui tient compte du séparateur décimal
indiqué dans les options régionales. CDbl("12,50") donne 12.50 et le nouveau prix devient 50 – 12.50
= 37.50, ce qui donne, mis au format Standard, 12,50.
Enfin, l’emploi impératif de CDbl est dicté par le fait que la valeur que cette fonction reçoit a une
virgule comme séparateur décimal, issue de la mise au format Standard du contenu de RemiseLabel.
Si nous affichions la remise telle qu’elle est issue du calcul Val(PrixNormalTextBox.Text), et à
condition que cette propriété contienne une valeur sans décimale et (ou) sans virgule décimale, le
résultat de l’opération de calcul de remise s’afficherait sous la forme décimale, avec point décimal,
auquel cas, CDbl provoquerait une erreur.
En effet, si Val élude sans autre forme de procès la virgule décimale et la partie décimale d’un
nombre, CDbl provoque une erreur si elle rencontre un point inattendu.
Les réponses obtenues pour le premier ensemble de données de test : une remise de 12,50 et un
nouveau prix de 37,50.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 17
Les réponses obtenues pour le deuxième ensemble de données de test : une remise de 0,00 et un
nouveau prix de 0,00.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 18
Tâche
1. Calculer la remise et le nouveau prix
2. Afficher la remise et le nouveau prix
dans les contrôles RemiseLabel et
NouveauPrixLabel
Terminer l’application
Afficher la remise et le nouveau prix (par
CalculerButton)
Demander et afficher le prix normal
Objet
CalculerButton
Événement
Click
QuitterButton
RemiseLabel,
NouveauPrixLabel
PrixNormalTextBox
Click
Aucun
Aucun
Pseudocode :
CalculerButton
Calculer la remise = prix normal * 25%
Calculer le nouveau prix = prix normal – remise
Afficher la remise dans le contrôle RemiseLabel.
Afficher le nouveau prix dans le contrôle NouveauPrixLabel
Donner le focus au contrôle PrixNormalTextBox.
QuitterButton
Terminer l’application.
9. Voir les fichiers de VBNET\Tut02\LC Solution Pre-textes dans le Disque des solutions. (L’interface
peut ne pas comporter de bouton Effacer.)
Les réponses obtenues pour le premier ensemble de données de test : le total dû est de 75,00 $.
Les réponses obtenues pour le deuxième ensemble de données de test : le total dû est de 0,00 $.
Tâche
1. Calculer le total dû
2. Afficher le total dû dans le contrôle
TotalLabel
Effacer l’écran
Terminer l’application
Afficher le total dû (par CalculerButton)
Demander et afficher le nom, le nombre
d’enveloppes imprimées et le nombre de
pages imprimées
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Objet
CalculerButton
Événement
Click
EffacerButton
QuitterButton
TotalLabel
NomTextBox,
EnveloppesTextBox,
PagesTextBox
Click
Click
Aucun
Aucun
Page 19
Pseudocode :
CalculerButton
Calculer total dû = nombre d’enveloppes imprimées * .10 + nombre de pages imprimées * .25.
Afficher le total dû dans le contrôle TotalLabel.
Donner le focus au bouton EffacerButton.
EffacerButton
Effacer le contenu de la propriété Text des contrôles NomTextBox, EnveloppesTextBox et
PagesTextBox.
Effacer le contenu de la propriété Text du contrôle TotalLabel.
Donner le focus au contrôle NomTextBox.
QuitterButton
Terminer l’application.
10. Voir les fichiers de VBNET\Tut02\LC Solution Formaction dans le Disque des solutions. (L’interface
peut ne pas comporter de bouton Effacer.)
Les réponses obtenues pour le premier ensemble de données de test : 15 inscrits et un montant total
de 3 000,00 $.
Les réponses obtenues pour le deuxième ensemble de données de test : 0 inscrit et un montant total de
0.00 $.
Tâche
1. Calculer le nombre total de
participants et le montant total
2. Afficher le nombre total de
participants et le montant total dans
les contrôles NombreTotalLabel et
MontantTotalLabel
Effacer l’écran
Terminer l’application
Afficher le nombre total de participants et
le montant total (par CalculerButton)
Demander et afficher le nom, l’adresse, la
ville, le code postal, le pays (ou province)
le nombre de participants inscrits au
séminaire "Être un gestionnaire
efficace" et le nombre de participants
inscrits au séminaire "Gérer une petite
entreprise"
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Objet
CalculerButton
Événement
Click
EffacerButton
QuitterButton
NombreTotalLabel,
MontantTotalLabel
NomTextBox,
AdresseTextBox,
VilleTextBox, PaysTextBox,
CPTextBox, EfficaceTextBox,
GérerTextBox
Click
Click
Aucun
Aucun
Page 20
Pseudocode :
CalculerButton
Calculer le nombre total de participants = nombre de participants inscrits au séminaire
"Être un gestionnaire efficace" + nombre de participants inscrits au séminaire "Gérer
une petite entreprise".
Calculer le montant total = nombre total de participants * 200.
Afficher le nombre total de participants dans le contrôle NombreTotalLabel.
Afficher le montant total dans le contrôle MontantTotalLabel.
Donner le focus au bouton EffacerButton.
EffacerButton
Effacer le contenu de la propriété Text des contrôles NomTextBox, AdresseTextBox,
VilleTextBox, PaysTextBox, CPTextBox, EfficaceTextBox et GérerTextBox.
Effacer le contenu de la propriété Text des contrôles NombreTotalLabel et
MontantTotalLabel.
Donner le focus au contrôle NomTextBox.
QuitterButton
Terminer l’application.
11. Voir les fichiers de VBNET\Tut02\LC Projets solaires dans le Disque des solutions. (L’interface peut
ne pas comporter de bouton Effacer.)
Les réponses obtenues pour le premier ensemble de données de test : salaire brut de 480.00, assurance
maladie de 96.00, cotisation de retraite de 38.40, assurance chômage de 9.60 et salaire net de 336.00.
Les réponses obtenues pour le deuxième ensemble de données de test : salaire brut de 0.00, assurance
maladie de 0.00, cotisation de retraite de 0.00, assurance chômage de 0.00 et salaire net de 0.00.
Tâche
1. Calculer le salaire brut, la cotisation
d’assurance maladie, la cotisation de
retraite, la cotisation d’assurance
chômage et le salaire net
2. Afficher les montants calculés dans
les contrôles BrutLabel,
MaladieLabel, RetraiteLabel,
ChômageLabel et NetLabel
Effacer l’écran
Terminer l’application
Afficher le salaire brut, la cotisation
d’assurance maladie, la cotisation de
retraite, la cotisation d’assurance
chômage et le salaire net (par
CalculerButton)
Demander et afficher le nom, les heures
travaillées et le tarif horaire du salaire
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Objet
CalculerButton
Événement
Click
EffacerButton
QuitterButton
BrutLabel, MaladieLabel,
RetraiteLabel, ChômageLabel,
NetLabel
Click
Click
Aucun
NomTextBox, HeuresTextBox, Aucun
TarifTextBox
Page 21
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 22
Pseudocode :
CalculerButton
Calculer le salaire brut = heures travaillées * tarif horaire du salaire.
Calculer la cotisation d’assurance maladie = salaire brut * 20%
Calculer la cotisation de retraite = salaire brut * 8%
Calculer la cotisation d’assurance chômage = salaire brut * 2%
Calculer le salaire net = salaire brut – Maladie – Retraite – Chômage.
Afficher le salaire brut dans le contrôle BrutLabel.
Afficher la cotisation d’assurance maladie dans le contrôle MaladieLabel.
Afficher la cotisation de retraite dans le contrôle RetraiteLabel.
Afficher la cotisation d’assurance chômage dans le contrôle ChômageLabel.
Afficher le salaire net dans le contrôle NetLabel.
Donner le focus au bouton EffacerButton.
EffacerButton
Effacer le contenu de la propriété Text des contrôles NomTextBox, HeuresTextBox et
TarifTextBox.
Effacer le contenu de la propriété Text des contrôles BrutLabel, MaladieLabel,
RetraiteLabel, ChômageLabel et NetLabel.
Donner le focus au contrôle NomTextBox.
QuitterButton
Terminer l’application.
12. (Découverte) Voir les fichiers de VBNET\Tut02\LC Solution Commande Exo12 dans le Disque des
solutions.
13. (Découverte) Voir les fichiers de VBNET\Tut02\LC Solution Colfax dans le Disque des solutions.
(L’interface peut comporter aussi un bouton Effacer.) La réponse obtenue pour les données de test est
de : 7 caisses pleines et 3 pièces restantes.
Tâche
1. Calculer le nombre de caisses pleines
et le nombre d’articles restants
2. Afficher le nombre de caisses pleines
et le nombre d’articles restants dans
les contrôles dans les contrôles
PleinesLabel et RestantsLabel
Terminer l’application
Afficher le nombre de caisses pleines et
le nombre d’articles restants (par
CalculerButton)
Demander et afficher la quantité
d’inventaire et le nombre d’articles
qu’une caisse peut contenir
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Objet
CalculerButton
Événement
Click
QuitterButton
PleinesLabel, RestantsLabel
Click
Aucun
QuantitéTextBox,
QtéParCaisseTextBox
Aucun
Page 23
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 24
Pseudocode :
CalculerButton
Calculer le nombre de caisses pleines = quantité d’inventaire \ nombre d’articles qu’une
caisse peut contenir.
Calculer le nombre d’articles restants = quantité d’inventaire Mod nombre d’articles qu’une
caisse peut contenir. (Note : l’étudiant peut aussi exploiter la formule suivante :
quantité d’inventaire – nombre de caisses pleines * nombre d’articles qu’une caisse
peut contenir.)
Afficher le nombre de caisses pleines dans le contrôle PleinesLabel.
Afficher le nombre d’articles restants dans le contrôle RestantsLabel.
Donner le focus au contrôle QuantitéTextBox.
QuitterButton
Terminer l’application.
14. (Découverte) Voir les fichiers de VBNET\Tut02\LC Solution Quadrilatère dans le Disque des
solutions. (L’interface peut comporter aussi un bouton Effacer.) La réponse obtenue pour les
données de test est de : 4 500 m.
Tâche
1. Calculer le périmètre d’un polygone
2. Afficher le périmètre dans le contrôle
PérimètreLabel
Terminer l’application
Afficher le périmètre (par
CalculerButton)
Demander et afficher la longueur des
quatre côtés du polygone
Objet
CalculerButton
Événement
Click
QuitterButton
PérimètreLabel
Click
Aucun
Côté1TextBox,
Côté2TextBox,
Côté3TextBox,
Côté4TextBox
Aucun
Pseudocode :
CalculerButton
Calculer le périmètre du polygone = longueur du côté 1 + longueur du côté 2 + longueur du
côté 3 + longueur du côté 4.
Afficher le périmètre dans le contrôle PérimètreLabel.
Donner le focus au contrôle Côté1TextBox.
QuitterButton
Terminer l’application.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 25
15. (Découverte) Voir les fichiers de VBNET\Tut02\LC Solution Palissades dans le Disque des solutions.
(L’interface peut comporter aussi un bouton Effacer.) Réponses pour les données de test : 113,04 de
circonférence et 226,08 $ pour le prix total.
Tâche
1. Calculer la circonférence d’un cercle
et le prix total de la clôture
2. Afficher la circonférence et le prix
total dans les contrôles
CirconférenceLabel et
MontantTotalLabel
Terminer l’application
Afficher la circonférence et le prix total
(par CalculerButton)
Demander et afficher le diamètre d’un
cercle et le prix par mètre de clôture
Objet
CalculerButton
Événement
Click
QuitterButton
CirconférenceLabel,
MontantTotalLabel
DiamètreTextBox,
PrixParMètreTextBox
Click
Aucun
Aucun
Pseudocode :
CalculerButton
Calculer la circonférence d’un cercle = diamètre du cercle * 3.14
Calculer le prix total de la clôture = circonférence d’un cercle * le prix par mètre de clôture.
Afficher la circonférence dans le contrôle CirconférenceLabel.
Afficher le prix total de la clôture dans le contrôle MontantTotalLabel.
Donner le focus au contrôle DiamètreTextBox.
QuitterButton
Terminer l’application.
16. (Découverte) Voir les fichiers de VBNET\Tut02\LC Solution Travailleurs intemporels dans le Disque
des solutions. (L’interface peut comporter aussi un bouton Effacer.)
Réponses pour le premier ensemble de données : 2 semaines, 1 jour, 0 heures.
Réponses pour le deuxième ensemble de données : 2 semaines, 3 jours, 7 heures.
Réponses pour le troisième ensemble de données : 0 semaines, 1 jour, 4 heures.
Tâche
1. Calculer le nombre de semaines, jours
et heures travaillés
2. Afficher le nombre de semaines, jours
et heures travaillés dans les contrôles
SemainesLabel, JoursLabel et
HeuresLabel
Terminer l’application
Afficher le nombre de semaines, jours et
heures travaillés (par CalculerButton)
Demander et afficher le nombre d’heures
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Objet
CalculerButton
Événement
Click
QuitterButton
SemainesLabel, JoursLabel,
HeuresLabel
HeuresTextBox
Click
Aucun
Aucun
Page 26
Pseudocode :
CalculerButton
Calculer le nombre de semaines travaillées = nombre d’heures \ 40.
Calculer le nombre de jours travaillés = (nombre d’heures mod 40) \ 8.
Calculer le nombre d’heures travaillées = nombre d’heures mod 40 mod 8.
Afficher le nombre de semaines travaillées dans le contrôle SemainesLabel.
Afficher le nombre de jours travaillés dans le contrôle JoursLabel.
Afficher le nombre d’heures travaillées dans le contrôle HeuresLabel.
Donner le focus au contrôle HeuresTextBox.
QuitterButton
Terminer l’application.
17. (Découverte) Voir les fichiers de VBNET\Tut02\LC Solution Surface au Sol dans le Disque des
solutions. (L’interface peut comporter aussi un bouton Effacer.) Réponses pour les données de test :
l’aire est de 168 m², le prix total est de 267,12 $.
Tâche
1. Calculer l’aire d’un rectangle et le
prix total du carrelage
2. Afficher l’aire et le prix total dans les
contrôles AireLabel et
MontantTotalLabel
Terminer l’application
Afficher l’aire et le prix total (par
CalculerButton)
Demander et afficher la longueur d’un
rectangle, la largeur d’un rectangle et le
prix par mètre carré du carrelage
Objet
CalculerButton
Événement
Click
QuitterButton
AireLabel, MontantTotalLabel
Click
Aucun
LongueurTextBox,
LargeurTextBox,
PrixParMètreTextBox
Aucun
Pseudocode :
CalculerButton
Calculer l’aire d’un rectangle = longueur du rectangle * largeur du rectangle.
Calculer le prix total du carrelage = l’aire du rectangle * le prix par mètre carré du
carrelage.
Afficher l’aire dans le contrôle AireLabel.
Afficher le prix total du carrelage dans le contrôle MontantTotalLabel.
Donner le focus au contrôle LongueurTextBox.
QuitterButton
Terminer l’application.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 27
18. (Découverte) Voir les fichiers de VBNET\Tut02\LC Solution Piscines les Saules dans le Disque des
solutions. (L’interface peut comporter aussi un bouton Effacer.) La réponse obtenue pour les données
de test est de : 462 m³.
Tâche
1. Calculer le volume d’un
parallélépipède
2. Afficher le volume dans le contrôle
VolumeLabel
Terminer l’application
Afficher le volume (par CalculerButton)
Demander et afficher la longueur, la
largeur et la hauteur du parallélépipède
rectangle
Objet
CalculerButton
Événement
Click
QuitterButton
VolumeLabel
LongueurTextBox,
LargeurTextBox,
HauteurTextBox
Click
Aucun
Aucun
Pseudocode :
CalculerButton
Calculer le volume d’un rectangle = longueur * largeur * hauteur du parallélépipède
rectangle.
Afficher le volume dans le contrôle VolumeLabel.
Donner le focus au contrôle LongueurTextBox.
QuitterButton
Terminer l’application.
19. (Découverte) Voir les fichiers de VBNET\Tut02\LC Solution Argent Express dans le Disque des
solutions. (L’interface peut ne pas comporter de bouton Effacer.) Réponses pour les données de test :
le total des intérêts vaut 1 761,44 et le coût total du prêt est de 10 761,44.
Tâche
1. Calculer le montant total des intérêts
et le coût total du prêt
2. Afficher les intérêts et les montants à
rembourser dans les contrôles
IntérêtLabel et CoûtLabel
Effacer l’écran
Terminer l’application
Afficher les intérêts et le montant total à
rembourser (par CalculerButton)
Demander et afficher le capital prêté, le
taux d’intérêt et la durée du prêt
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Objet
CalculerButton
Événement
Click
EffacerButton
QuitterButton
IntérêtLabel, CoûtLabel
Click
Click
Aucun
PrêtTextBox, TauxTextBox,
DuréeTextBox
Aucun
Page 28
Pseudocode :
CalculerButton
Calculer le coût total du prêt = - (durée * 12 * pmt(taux/12, durée * 12, capital prêté, 0, 0)).
Calculer le montant total des intérêts = montant total à rembourser – capital prêté.
Afficher le coût total du prêt dans le contrôle CoûtLabel.
Afficher le montant total des intérêts dans le contrôle IntérêtLabel.
Donner le focus au bouton EffacerButton.
EffacerButton
Effacer le contenu de la propriété Text des contrôles PrêtTextBox, TauxTextBox et
DuréeTextBox
Effacer le contenu de la propriété Text des contrôles IntérêtLabel et CoûtLabel.
Donner le focus au contrôle PrêtTextBox.
QuitterButton
Terminer l’application.
20. (Débogage) Voir les fichiers de VBNET\Tut02\LC Solution Débogage dans le Disque des solutions.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 29
Tutoriel 3 – Leçon A
Questions
1. e c (constantes symboliques) et d (variables)
2. e Toutes ces réponses.
3. b Integer
4. d locale
5. a constante littérale
6. e variable
7. c constante symbolique
8. c Object
9. b la lettre m
10. a Vrai
Exercices
Pour les exercices 1 à 5, le nom de la variable et le type de donnée peuvent varier.
1. Dim strArticle As String, sngPrix As Single
2. Dim strArticle As String, sngTaille As Single, intPoids As Integer
3. Dim strArticle As String, intDébut, intAcquis, intVendus, intFin As
Integer
4. Dim strVille As String, intPopulation As Integer
5. Private mstrNuméroPièce As String, msngCoût As Single
6. strVille = "Montréal"
7. strNuméroPièce = "AB103"
8. strNom = "Bureau"
intStockInitial = 40
intSurCommande = 20
9. decVentesTotales = decVentesReg1 + decVentesReg2
10. sngSalaire = sngSalaire * 1.5
11. Private mstrNomEmployé As String
L’instruction doit être entrée dans la section Déclarations du formulaire. La variable doit avoir une
portée de module.
12. Dim sngVentesOuest As Single
L’instruction doit être entrée dans la procédure événementielle Click d’OuestButton. La variable est
une variable locale.
Dim sngVentesSud As Single
L’instruction doit être entrée dans la procédure événementielle Click de SudButton. La variable est
une variable locale.
Dim msngVentesSociété As Single
L’instruction doit être entrée dans la section Déclarations du formulaire. La variable doit avoir une
portée de module.
13. Const conTauxTaxe As Single = .05
14. Const mconAge As Integer = 21
L’instruction doit être entrée dans la section Déclarations du formulaire. La constante doit avoir une
portée de module.
15. (Découverte) Voir les fichiers de VBNET\Tut03\LA Solution Statique dans le Disque des solutions.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 30
Tutoriel 3 – Leçon B
Questions
1. e Toutes ces réponses.
2. d &
3. a Me.MotLabel.Text = strMot1 & strMot2
4. d Me.AdresseLabel.Text = strVille & ", " & strCode
5. d vbNewLine
6. a AcceptButton
7. d de l’Explorateur d’objets
8. e sngNombre = Val(InputBox("Entrez un nombre :", "Nombre"))
9. c strVille = Inputbox("Entrez le nom de votre ville :", "Ville")
Exercices
1. Voir les fichiers de VBNET\Tut03\LB Solution Commission dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut03\LB Solution Racine carrée dans le Disque des solutions.
3. Voir les fichiers de VBNET\Tut03\LB Solution Mingo dans le Disque des solutions.
4. Voir les fichiers de VBNET\Tut03\LB Exo4 Solution IMY dans le Disque des solutions.
5. Voir les fichiers de VBNET\Tut03\LB Exo5 Solution IMY dans le Disque des solutions.
6. Me.AdresseLabel.Text = strVille & ", " & strPays
7. Me.AdresseLabel.Text = conInvite & " " & strPays & " est " &
strVille & "."
8. Me.AddressLabel.Text = "Mon code postal est " & strCode & "."
9. (Découverte) Voir les fichiers de VBNET\Tut03\LB Solution Annuler dans le Disque des solutions.
10. (Découverte) La valeur affectée à la constante symbolique E est 2,71828. La valeur affectée à la
constante symbolique PI est 3,14159.
Tutoriel 3 – Leçon C
Questions
1. c statique
2. d Static intCompteur as Integer
3. e TextChanged
4. a Private Sub GetNombre(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Nombre1TextBox.Click, Nombre2TextBox.Click
Exercices
1. Voir les fichiers de VBNET\Tut03\LC Solution Nom dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut03\LC Solution Sous dans le Disque des solutions.
3. Voir les fichiers de VBNET\Tut03\LC Solution Monnaie dans le Disque des solutions.
4. (Découverte) Voir les fichiers de VBNET\Tut03\LC Solution Fonction dans le Disque des solutions.
Val("") et Val("A") renvoient le nombre 0. CType("", Integer) et CType("A", Integer) provoquent
l’affichage d’un message d’erreur (c’est pourquoi ces lignes de code se retrouvent inscrites sous
forme de commentaires dans le programme).
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 31
5. (Débogage) Voir les fichiers de VBNET\Tut03\LC Solution Débogage dans le Disque des solutions.
Pour déboguer cette solution, l’étudiant(e) doit inclure la fonction Val dans les deux fonctions
InputBox.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 32
Tutoriel 4 – Leçon A
Questions
1. d sngCoût > 100 AndAlso sngCoût <= 1000
2. d UCase
3. e UCase(Me.NomTextBox.Text) = "BOB"
4. a Me.NomTextBox.Text = UCase(Me.NomTextBox.Text)
5. 4 Xor
2 And
1 Not
3 Or
2 AndAlso
3 OrElse
6. 1 Mathématique
3 Logique
2 Relationnel
7. b False
8. a True
9. a True
10. a True
11. b False
12. a True
13. b False
14. a True
15. a True
16. a True
17. a True
18. c 180
19. d 3 000
20. a losange
21. b exécution
22. a entrée-sortie
23. d rectangle
24. c parallélogramme
25. a losange
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 33
Exercices
1.
2. If UCase(Me.AutoTextBox.Text) = "GRAND AM" Then
Me.FabricantAutoLabel.Text = "Pontiac"
End If
3. If intUnités < 0 Then
Me.MessageLabel.Text = "Erreur d’entrée"
Else
Me.MessageLabel.Text = "Nombre valable"
End If
4. If sngPrix < 10 Then
Me.MessageLabel.Text = "Commander"
Else
Me.MessageLabel.Text = "OK"
End If
5. If sngVentes <= 250 Then
sngPrime = 10
Else
sngPrime = 15
End If
6. If UCase(strContinent) = "EUROPE" Then
Me.EnvoiLabel.Text = 25
Else
Me.EnvoiLabel.Text = 50
End If
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 34
7.
If UCase(strÉtat) = "COLORADO" Then
Me.TaxeVenteLabel.Text = .03 * sngVentes
Else
Me.TaxeVenteLabel.Text = .04 * sngVentes
End If
8. Si le nombre d’heures travaillées est supérieur à 40
Calculer le salaire brut = heures travaillées * taux horaire + (heures travaillées - 40) * taux
horaire/2
Sinon
Calculer le salaire brut = heures travaillées * taux horaire
Fin Si
Afficher le salaire brut
Si sngHeures > 40 Then
sngBrut = sngHeures * sngTaux + (sngHeures – 40) * sngTaux/2
Else
sngBrut = sngHeures * sngTaux
End If
Me.BrutLabel.Text = sngBrut
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 35
9.
If UCase(strAnimal) = "C" Then
Me.AnimalLabel.Text = "Chien"
Else
Me.AnimalLabel.Text = "Mouton"
End If
10. Si l’élément est un bureau et si le pays est la France
Calculer la remise = ventes * .1
Afficher la remise
Fin Si
If UCase(strElément) = "BUREAU" AndAlso UCase(strPays) = "FRANCE"
Then
sngRemise = sngVentes * .1
Me.RemiseLabel.Text = Format(sngRemise, "Standard")
End If
11. If UCase(strCouleur) = "ROUGE" AndAlso UCase(strElément) = "CHEMISE"
Then
sngAugmentation = .02 * sngPrixOrigine
Else
sngAugmentation = .01 * sngPrixOrigine
End If
sngNouveauPrix = sngPrixOrigine + sngAugmentation
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 36
Me.OrigineLabel.Text = Format(sngPrixOrigine, "Standard")
Me.AugmentationLabel.Text = Format(sngAugmentation, "Standard")
Me.NouveauLabel.Text = Format(sngNouveauPrix, "Standard")
12. If sngVentesMarie < sngVentesJeff Then
Dim sngTemp As Single
sngTemp = sngVentesMarie
sngVentesMarie = sngVentesJeff
sngVentesJeff = sngTemp
End If
Tutoriel 4 – Leçon B
Questions
1. a Lorsque vous supprimez une zone de groupe, les contrôles compris dans cette zone de groupe
demeurent sur le formulaire.
2. d 5,0
3. e Toutes ces réponses.
4. b Pmt(.09/4, 3 * 4, 6000, 0, DueDate.BegOfPeriod)
5. b -Pmt(.03/12, 10 * 12, 0, 50000, DueDate.BegOfPeriod)
6. c icône
7. c MessageBoxIcon.Exclamation
8. a un bouton OK et l’icône
9. e Aucune de ces réponses.
10. a DialogResult.OK
Exercices
1. Voir les fichiers de VBNET\Tut04\LB Solution Épargne Hebdomadaire dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut04\LB Solution Remise dans le Disque des solutions.
3. En plus de la constante MessageBoxIcon.Exclamation, la constante
MessageBoxIcon.Warning permet d’afficher une icône de message d’avertissement. Les
constantes MessageBoxIcon.Asterisk et MessageBoxIcon.Information affichent une
icône de message d’information. Par ailleurs, les constantes MessageBoxIcon.Error,
MessageBoxIcon.Hand et MessageBoxIcon.Stop permettent d’afficher une icône de
message d’arrêt. Enfin, la constante MessageBoxIcon.Question affiche un symbole
représentant un point d’interrogation dans un cercle.
Tutoriel 4 – Leçon C
Questions
1. b KeyPress
2. c e.Handled = True
3. e Aucune de ces réponses.
4. b If e.KeyChar = "$" Then
5. e TextAlign
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 37
Exercices
1. Voir les fichiers de VBNET\Tut04\LC Solution Permutation dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut04\LC Solution Mathématiques dans le Disque des solutions.
3. Voir les fichiers de VBNET\Tut04\LC Solution Séminaire dans le Disque des solutions.
4. Voir les fichiers de VBNET\Tut04\LC Solution Province dans le Disque des solutions.
5. Voir les fichiers de VBNET\Tut04\LC Solution Eau dans le Disque des solutions.
6. (Découverte) Voir les fichiers de VBNET\Tut04\LC Solution Prime dans le Disque des solutions.
7. (Découverte) Voir les fichiers de VBNET\Tut04\LC Solution Code Postal dans le Disque des
solutions. (L’étudiant doit régler la propriété MaxLength du contrôle zone de texte.)
8. (Débogage) Voir les fichiers de VBNET\Tut04\LC Solution Débogage dans le Disque des solutions.
Pour déboguer cette solution, l’étudiant doit inclure des parenthèses autour de e.KeyChar < "0"
OrElse e.KeyChar > "9" dans la procédure OmettreTouches, ainsi qu’autour de intCode =
1 OrElse intCode = 2 dans la procédure événementielle Click de CalculerButton.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 38
Tutoriel 5 – Leçon A
Questions
1. c 180
2. d 3 000
3. b 200
4. c Paul
5. b Gérard
6. c Paul
7. d Suzanne
8. c peut apparaître soit dans le chemin Vrai, soit dans le chemin Faux
9. a losange
10. e Toutes ces réponses.
11. b Paul
12. b Paul
13. c Suzanne
14. a If sender Is NomTextBox Then
15. e If TypeOf sender Is Label Then
16. e Aucune de ces réponses.
17. e a (If UCase(strArticle) = "BALLE" OrElse UCase(strArticle) =
"BILLE" Then) et c If UCase(strArticle) Like "B[AI]LLE" Then)
18. d If Me.TauxTextBox.Text Like "*%" Then
19. a #
20. b *
21. La décision relative au statut du membre est la décision primaire, tandis que celle liée aux jours de la
semaine est la décision secondaire, puisque cette dernière dépend du résultat de la décision relative au
statut du membre.
22. Les trois erreurs les plus répandues liées à la rédaction de structures de décision sont :
1. L’emploi d’un opérateur logique au lieu d’une structure de décision imbriquée;
2. L’inversion des décisions primaire et secondaire;
3. L’utilisation d’une structure de décision imbriquée inutile.
L’utilisation d’une structure de décision imbriquée inutile est une erreur qui produit des résultats
exacts, mais implique une exécution moins efficace.
23. Le contrôle de programmation, également appelé contrôle de comportement ou simulation manuelle,
désigne l’utilisation d’échantillons de données pour vérifier manuellement chacune des étapes d’un
algorithme, exactement comme si vous étiez l’ordinateur.
24. Une référence à un objet désigne une adresse mémoire spécifique à l’intérieur de la mémoire interne d’un
ordinateur, c’est-à-dire une référence qui indique l’emplacement précis où est stocké un objet en mémoire.
25. Un algorithme est un ensemble d’étapes exécutées pas à pas pour accomplir une tâche spécifique.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 39
Exercices
1. Dim strStatut As String, intAnnées As Integer
strStatut = UCase(Me.StatutTextBox.Text)
intAnnées = Val(Me.AnnéesTextBox.Text)
If strStatut = "A" Then
If intAnnées > 5 Then
Me.MessageLabel.Text = "Trois semaines de vacances"
Else
Me.MessageLabel.Text = "Deux semaines de vacances"
End If
End If
2. Dim strStatut As String, intAnnées As Integer
strStatut = UCase(Me.StatutTextBox.Text)
intAnnées = Val(Me.AnnéesTextBox.Text)
If strStatut = "A" Then
If intAnnées > 5 Then
Me.MessageLabel.Text = "Trois semaines de vacances"
Else
Me.MessageLabel.Text = "Deux semaines de vacances"
End If
Else
Me.MessageLabel.Text = "Pas de vacances"
End If
3. If intRésultat >= 90 Then
Me.MessageLabel.Text = "Vous méritez le prix d’excellence!"
ElseIf intRésultat >= 70 Then
Me.MessageLabel.Text = "Bon travail!"
Else
Me.MessageLabel.Text = "Vous devez reprendre l’examen."
End If
4. If intQuantité = 10 Then
Me.MessageLabel.Text = "Égal"
ElseIf intQuantité > 10 Then
Me.MessageLabel.Text = "Supérieur à 10"
Else
Me.MessageLabel.Text = "Inférieur à 10"
End If
5. Dim intCode As Integer, sngVentes As Single
intCode = Val(Me.CodeTextBox.Text)
sngVentes = Val(Me.VentesTextBox.Text)
If intCode = 1 OrElse intCode = 2 Then
Me.MessageLabel.Text = sngVentes * .12
ElseIf intCode = 3 Then
Me.MessageLabel.Text = sngVentes * .15
ElseIf intCode = 4 Then
Me.MessageLabel.Text = sngVentes * .2
Else
Me.MessageLabel.Text = "Erreur"
End If
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 40
6. Dim intCode As Integer, sngVentes As Single
intCode = Val(Me.CodeTextBox.Text)
sngVentes = Val(Me.VentesTextBox.Text)
Select Case intCode
Case 1
Me.MessageLabel.Text = sngVentes * .02
Case 2 To 4
Me.MessageLabel.Text = sngVentes * .05
Case 5
Me.MessageLabel.Text = sngVentes * .1
Case 6 To 7
Me.MessageLabel.Text = sngVentes * .15
Case Else
Me.MessageLabel.Text = "Erreur"
End Select
7. Select Case strProvince
Case "ALBERTA"
sngTransport = 25
Case "MANITOBA"
sngTransport = 30
Case "SASKATCHEWAN"
sngTransport = 32.5
Case Else
sngTransport = 0
Me.MessageLabel.Text = "Nom de province incorrect"
End Select
8. If strProvince = "ALBERTA" Then
sngTransport = 25
ElseIf strProvince = "MANITOBA" Then
sngTransport = 30
ElseIf strProvince = "SASKATCHEWAN" Then
sngTransport = 32.5
Else
sngTransport = 0
Me.MessageLabel.Text = "Nom de province incorrect."
End If
9. Select Case strSiège
Case "LOGES"
Me.PrixLabel.Text = "75,00 $"
Case "PARTERRE"
Me.PrixLabel.Text = "30,00 $"
Case "BALCON"
Me.PrixLabel.Text = "21,00 $"
Case Else
Me.PrixLabel.Text = "Emplacement de siège non valide."
End Select
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 41
10. If strSiège = "LOGES" Then
Me.PrixLabel.Text = "75,00 $"
ElseIf strSiège = "PARTERRE" Then
Me.PrixLabel.Text = "30,00 $"
ElseIf strSiège = "BALCON" Then
Me.PrixLabel.Text = "21,00 $"
Else
Me.PrixLabel.Text = "Emplacement de siège non valide."
End If
11. If strCode Like "G5Z #?#" Then
sngTransport = 25
ElseIf strCode Like "H2R #?#" Then
sngTransport = 30
Else
sngTransport = 35
End If
12. Select Case True
Case strCode Like "G5Z #?#"
sngTransport = 25
Case strCode Like "H2R #?#"
sngTransport = 30
Case Else
sngTransport = 35
End Select
13. If sender Is AlbertaButton Then
Me.CapitaleLabel.Text = "Edmonton"
ElseIf sender Is SaskatchewanButton Then
Me.CapitaleLabel.Text = "Regina"
ElseIf sender Is ManitobaButton Then
Me.CapitaleLabel.Text = "Winnipeg"
Else
Me.CapitaleLabel.Text = "Québec"
End If
14. Select Case True
Case sender Is AlbertaButton
Me.CapitaleLabel.Text = "Edmonton"
Case sender Is SaskatchewanButton
Me.CapitaleLabel.Text = "Regina"
Case sender Is ManitobaButton
Me.CapitaleLabel.Text = "Winnipeg"
Case Else
Me.CapitaleLabel.Text = "Québec"
End Select
15. Voir les fichiers de VBNET\Tut05\LA Solution Animal dans le Disque des solutions.
16. Voir les fichiers de VBNET\Tut05\LA Solution Mois dans le Disque des solutions.
17. Voir les fichiers de VBNET\Tut05\LA Solution Prime dans le Disque des solutions.
18. Voir les fichiers de VBNET\Tut05\LA Solution Séminaire dans le Disque des solutions.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 42
Tutoriel 5 – Leçon B
Questions
1. b deux
2. a un
3. b comporter une première lettre majuscule en début de phrase
4. b Faux
5. c deux
6. a zéro
7. b deux
8. e six
9. a Checked
10. a Vrai
11. a Vrai
12. c Dim NombreRandom As New Random()
13. d intNombre = GénérateurRandom.Next(1, 26)
14. a Call
15. c Load
16. e Aucune de ces réponses.
Exercices
1. Voir les fichiers de VBNET\Tut05\LB Solution Pratique dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut05\LB Solution Capitales dans le Disque des solutions.
3. Voir les fichiers de VBNET\Tut05\LB Solution Note dans le Disque des solutions.
4. Voir les fichiers de VBNET\Tut05\LB Solution Virgule Flottante dans le Disque des solutions.
5. Voir les fichiers de VBNET\Tut05\LB Solution Randomize dans le Disque des solutions.
Tutoriel 5 – Leçon C
Questions
1. b Me.NomTextBox.SelectAll()
2. e Aucune de ces réponses.
3. a Checked
4. a Vrai
5. b Faux
Exercices
1. Voir les fichiers de VBNET\Tut05\LC Solution Math2 dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut05\LC Solution Santé dans le Disque des solutions.
3. Voir les fichiers de VBNET\Tut05\LC Solution Washington dans le Disque des solutions.
4. Voir les fichiers de VBNET\Tut05\LC Solution Barreau dans le Disque des solutions.
5. Voir les fichiers de VBNET\Tut05\LC Solution Golf Pro dans le Disque des solutions.
6. Voir les fichiers de VBNET\Tut05\LC Solution Martial dans le Disque des solutions.
7. Voir les fichiers de VBNET\Tut05\LC Solution Jasmin dans le Disque des solutions.
8. Voir les fichiers de VBNET\Tut05\LC Solution Calories dans le Disque des solutions.
9. Voir les fichiers de VBNET\Tut05\LC Solution Johnson dans le Disque des solutions.
10. Voir les fichiers de VBNET\Tut05\LC Solution Loterie dans le Disque des solutions.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 43
11. Voir les fichiers de VBNET\Tut05\LC Solution Ferré dans le Disque des solutions.
12. Voir les fichiers de VBNET\Tut05\LC Solution Clinique dans le Disque des solutions.
13. Voir les fichiers de VBNET\Tut05\LC Solution Facturation dans le Disque des solutions.
14. (Découverte) Voir les fichiers de VBNET\Tut05\LC Solution Nom dans le Disque des solutions.
15. (Débogage) Voir les fichiers de VBNET\Tut05\LC Solution Débogage dans le Disque des solutions.
Pour déboguer cette solution, l’étudiant(e) doit modifier l’instruction Select Case.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 44
Tutoriel 6 – Leçon A
Questions
1. b hexagone
2. a losange
3. d 6
4. d 7
5. c 4
6. e 12
7. e inférieure ou égale
8. e For intTemp = 1 To 10
9. 3 Additionne la valeur_de_saut au compteur.
1 Initialise le compteur à la valeur_de_départ.
2 Détermine si la valeur stockée dans le compteur est supérieure ou inférieure à la
valeur_de_fin.
10. a Do…Loop
11. c a (Do…Loop) ou b (For…Next).
12. a post-test, pré-test
13. e mis à jour
14. e intNombre = intNombre + 1
15. d sngTotal = sngTotal + sngVentes
16. e Toutes ces réponses.
17. a 0
18. b 1
19. a (séquence) et b (décision)
20. a (séquence) et c (répétition)
21. a (séquence) et b (décision)
22. a (séquence), b (décision) et c (répétition)
23. c d’amorçage
24. e c [Me.NomLabel.SetBounds(0, 0, 50, 60, BoundsSpecified.Width Or
BoundsSpecified.Height)] et d [Me.NomLabel.SetBounds(0, 0, 50, 60,
BoundsSpecified.Size)]
25. e Aucune de ces réponses.
Exercices
1. Do While intQuantité > 0
2. Do Until intQuantité <= 0
3. Do Until intStock <= intSeuilCommande
4. Do While intStock > intSeuilCommande
5. Do While UCase(strLettre) = "O"
6. Do Until UCase(strLettre) <> "O"
7. Do While UCase(strNom) <> "TERMINÉ"
8. Do Until UCase(strNom) = "TERMINÉ"
9. intQuantité = intQuantité + 2
10. intTotal = intTotal – 3
11. intTotalAchats = intTotalAchats + intAchats
12. sngVentes = sngVentes – 100
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 45
13. For intNombrePair = 2 To 8 Step 2
Debug.WriteLine(intNombrePair)
Next intNombrePair
14. Do While intNombrePair <= 8
Debug.WriteLine(intNombrePair)
intNombrePair = intNombrePair + 2
Loop
15. Do
Debug.WriteLine(intNombrePair)
intNombrePair = intNombrePair + 2
Loop While intNombrePair <= 8
16. Dim intCompteur As Integer = 10
Do While intCompteur < 100
Debug.WriteLine(intCompteur * 2)
intCompteur = intCompteur + 10
Loop
17. For intX = 0 To 117 Step 9
Debug.WriteLine(intX)
Next intX
18. For intX = 2 To 12 Step 2
Debug.WriteLine(intX ^ 2)
Next intX
19. While intCompteur <= 10 (ou Until intCompteur > 10)
20. While intCompteur <= 10 (ou Until intCompteur > 10)
21. 0, 1, 2, 3, 4.
22. 0, 1, 2, 3, 4, 5.
23. L’instruction intNombre = intNombre + 1 est manquante et doit être entrée après
l’instruction Debug.WriteLine.
24. L’instruction intNombre = intNombre - 1 est manquante et doit être entrée après
l’instruction Debug.WriteLine.
25. L’instruction sngVentes = Val(InputBox("Entrez un montant de ventes",
"Ventes")) est manquante et doit être entrée après l’instruction Debug.WriteLine.
26. L’instruction sngVentes = Val(InputBox("Entrez un montant de ventes",
"Ventes")) est manquante et doit être entrée après l’instruction Debug.WriteLine.
27. 0, 2, 4.
28. 1
29. Me.VisagePictureBox.SetBounds(10, 0, 35, 50, BoundsSpecified.X Or
BoundsSpecified.Size)
30. (Découverte) La méthode Debug.WriteLine permet d’avancer à la ligne suivante dans la fenêtre de
Sortie avant d’afficher l’argument message, tandis que la méthode Debug.Write affiche l’argument
message sur la ligne en cours.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 46
Tutoriel 6 – Leçon B
Questions
1. b hexagone
2. d 8
3. d 8
4. c 2
5. c For intX = 1 To BoutonsCollection.Count
6. a For Each objEtiquette In EtiquettesCollection
7. c ZonesDeTexteCollection.Add(Me.NomTextBox)
8. e ZonesDeTexteCollection.Remove(1)
9. d ZonesDeTexteCollection.Add(Me.PrénomTextBox, "IdNomLabel")
10. e indice
11. a 0
12. b 1
13. e parallèles
14. a Enabled
15. e b (BoutonsCollection.Item(1)) et c
(BoutonsCollection.Item("Calculer"))
Exercices
1. Voir les fichiers de VBNET\Tut06\LB Solution Eléments dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut06\LB Solution Couleur dans le Disque des solutions.
3. Voir les fichiers de VBNET\Tut06\LB Solution Visages dans le Disque des solutions.
4. (Découverte) Voir les fichiers de VBNET\Tut06\LB Solution GroupBox dans le Disque des
solutions. La boîte de message montre que la collection Controls contient cinq contrôles (au lieu de
sept). Ceci indique donc que les contrôles faisant partie d’une zone de groupe ne sont pas inclus dans
la collection Controls.
5. (Découverte) Voir les fichiers de VBNET\Tut06\LB Solution Tag dans le Disque des solutions.
Tutoriel 6 – Leçon C
Questions
1. b Closing
2. b Closing
3. a Enter
4. b e.Cancel = True
5. e Aucune de ces réponses.
Exercices
1. Voir les fichiers de VBNET\Tut06\LC Solution Colfax dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut06\LC Solution Capitales dans le Disque des solutions.
3. Voir les fichiers de VBNET\Tut06\LC Solution Rinfret dans le Disque des solutions.
4. Voir les fichiers de VBNET\Tut06\LC Solution Papiers dans le Disque des solutions.
5. (Découverte) Voir les fichiers de VBNET\Tut06\LC Solution TicTacToe dans le Disque des
solutions.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 47
6. (Débogage) Voir les fichiers de VBNET\Tut06\LC Solution Débogage dans le Disque des solutions.
Pour déboguer cette solution, l’étudiant(e) doit modifier les procédures événementielles des contrôles
Exemple1Button et Exemple2Button. Dans la procédure événementielle Click d’Exemple1Button,
ajouter If TypeOf Controls.Item(intX) Is Label Then au-dessus de l’instruction
Controls.Item(intX).Text = "Collection Controls" et ajouter End If après
l’instruction. Dans la procédure événementielle Click d’Exemple2Button, changer l’instruction For
intX = 0 To EtiquettesCollection.Count –1 en For intX = 1 To
EtiquettesCollection.Count.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 48
Tutoriel 7 – Leçon A
Questions
1. a Une procédure Function peut retourner une ou plusieurs valeurs à l’instruction qui l’a appelée.
2. e sender
3. a arguments
4. d un paramètre
5. b l’en-tête de la procédure
6. a Call CalcArea(intLength, intWidth)
7. e Aucune de ces réponses.
8. c Private Sub CalcCommission(ByVal intBase As Integer, ByVal
sngTaux As Single)
9. a une seule valeur
10. e Toutes ces réponses.
11. c Le nom de chaque argument doit être identique au nom du paramètre correspondant.
12. c Return sngTVA
13. c Private Sub CalcCommission(ByVal intBase As Integer, ByRef
sngTaux As Single)
14. e a (Private Function CalcTaxes(ByVal sngTaux As Single) As Single) et
c (Private Sub CalcTaxes(ByVal sngTaux As Single)).
15. c par référence
16. d Pour passer une variable par référence en Visual Basic .NET, il suffit d’inclure le mot-clé ByRef
avant le nom de la variable dans l’instruction Call.
17. a Private Sub CalcInventaireAnnuel(ByVal intD As Integer, ByVal
intV As Integer, ByVal intA As Integer, ByRef intF As Integer)
18. a Call CalcInventaireAnnuel(intDébut, intVentes, intAchats, intFin)
19. a Vrai
20. Contrairement à une procédure Sub, la procédure Function renvoie une valeur lorsqu’elle a achevé sa
tâche.
Exercices
1. Private Sub DiviserNombreParDeux(ByVal intNombre As Integer)
Debug.WriteLine(intNombre / 2)
End Sub
2. Private Sub ObtenirVille(ByRef strVille As String)
strVille = InputBox("Entrez le nom de la ville :", "Nom ville")
End Sub
3. Private Sub CalcSommeEtDiff(ByVal intNombre1 As Integer, ByVal
intNombre2 As Integer, ByRef intSomme As Integer, ByRef intDiff As
Integer)
intSomme = intNombre1 + intNombre2
intDiff = intNombre1 – intNombre2
End Sub
4. Private Sub CalcQuotient(ByVal sngNombre1 As Single, ByVal
sngNombre2 As Single, ByRef sngQuotient As Single)
sngQuotient = sngNombre1 / sngNombre2
End Sub
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 49
5. Private Function DiviserNombre(ByVal intNombre As Integer) As Single
Return intNombre / 2
End Function
6. sngRéponse = DiviserNombre(intNombre)
7. Private Function ObtenirEtat() As String
Dim strEtat As String
strEtat = InputBox(“Nom du pays :", "Nom pays")
Return strEtat
End Function
8. Private Function CalcMoyenne(ByVal intNombre1 As Integer, _
ByVal intNombre2 As Integer, ByVal intNombre3 As Integer, _
ByVal intNombre4 As Integer) As Single
Return (intNombre1 + intNombre2 + intNombre3 + intNombre4) / 4
End Function
9. Private Function CalcQuotient(ByVal sngNombre1 As Single, _
ByVal sngNombre2 As Single) As Single
Return sngNombre1 / sngNombre2
End Function
10. (Découverte) Voir les fichiers de VBNET\Tut07\LA Solution Passage dans le Disque des solutions.
À l’étape c, la procédure d’événement Click du contrôle AfficherButton n’affiche pas le nom saisi
dans la boîte de dialogue, parce que la variable strNom était passée par valeur. À l’étape e, la
procédure d’événement Click du contrôle AfficherButton affiche le nom du fait que la variable
strNom est passée par référence.
11. (Découverte) Voir les fichiers de VBNET\Tut07\LA Solution Optionnels dans le Disque des
solutions.
Tutoriel 7 – Leçon B
Questions
1. a Add
2. d SelectionMode
3. a Items
4. b SelectedIndex
5. b SelectedItem
6. e Aucune de ces réponses.
7. a 1
8. e a (Me.TermeListBox.SelectedIndex = 0) et d
(Me.TermeListBox.SelectedItem = 3).
9. e Sorted
10. e Aucune de ces réponses.
Exercices
1. Voir les fichiers de VBNET\Tut07\LB Solution Nelson dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut07\LB Solution Téléphone dans le Disque des solutions.
3. Voir les fichiers de VBNET\Tut07\LB Solution Téléphone2 dans le Disque des solutions.
4. Voir les fichiers de VBNET\Tut07\LB Solution Image dans le Disque des solutions.
5. Voir les fichiers de VBNET\Tut07\LB Solution CalcGrade dans le Disque des solutions.
6. Voir les fichiers de VBNET\Tut07\LB Solution CalcGrade2 dans le Disque des solutions.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 50
7. (Découverte) Voir les fichiers de VBNET\Tut07\LB Solution Multi dans le Disque des solutions.
Tutoriel 7 – Leçon C
Questions
1. d Sub Main
2. c module
3. a Vrai
4. b Dim objInventaireForm As New InventaireForm()
5. d objInventaireForm.ShowDialog()
Exercices
1. Voir les fichiers de VBNET\Tut07\LC Solution MonGrade et VBNET\Tut07\Solution Copyright
dans le Disque des solutions.
2. (Découverte) Voir les fichiers de VBNET\Tut07\LC Solution Hoover et VBNET\Tut07\Solution
PremierEcran dans le Disque des solutions.
3. (Débogage) Voir les fichiers de VBNET\Tut07\LC Solution Débogage dans le Disque des solutions.
Pour déboguer cette solution, l’étudiant doit ajouter As Single à l’en-tête de la fonction
DéterminerAire et l’instruction Return intRésultat au corps de la fonction DéterminerAire,
juste après le calcul d’aire.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 51
Tutoriel 8 – Leçon A
Questions
1. b la propriété Length
2. e b (strMontant = strMontant.Remove(0, 1)) et d (strMontant =
strMontant.TrimStart("$"))
3. a strPays
= strPays.Remove(2, 3)
4. a strMontant = strMontant.Trim("$", "%")
5. b Faux
6. a 0 (zéro)
7. d strNumPièce.StartsWith("A")
8. d UCase(strNumPièce).EndsWith("B")
9. c strCode = strNumPièce.Substring(0, 3)
10. e Toutes ces réponses.
11. c strCodePostal = strCodePostal.Replace("1", "3")
12. e Aucune de ces réponses.
13. b Mid(strCodePostal, 4, "6")
14. c 12
15. a -1
16. c 12
17. d Bonsoirès-midi
Exercices
1. Debug.WriteLine(strMsg.Length)
2. strVille = strVille.TrimStart
3. strNum = strNum.Trim
4. strMontant = strMontant.TrimEnd(" ", ",", ".")
5. strNom = strNom.Remove(0, 2)
6. If strTaux.EndsWith("%") Then
strTaux = strTaux.TrimEnd("%")
End If
7. strCode = strNumPièce.Substring(4, 2)
8. sngMontant = Val(strMontant.Replace(",",""))
9. Mid(strMot, 3) = "éti"
10. strMot = strMot.Insert(0, "p")
11. Ici, pour garantir la capture du caractère avec accent circonflexe, nous pouvons passer par la fonction
LCase au lieu de UCase.
intIndex = LCase(strAdresse).IndexOf("rue des châtaigniers")
12. (Découverte)
Debug.WriteLine(Len(strNom))
Do While Len(strTéléphone) = 10
If Len(strNumPièce) >= 4 Then
13. (Découverte)
a. strNom = LTrim(Me.NomTextBox.Text)
b. strCodePostal = RTrim(strCodePostal)
c. sngNombre = Val(Trim(strNombre))
14. (Découverte)
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 52
a.
1) Jan
2) er
3) Visual
4) Basic .NET
5) a
6) ie
7) B
8) Basic .NET
b. Left(strNumPièce, 3)
c. Right(strNumPièce, 1)
d. Mid(strNumPièce, 2, 4)
15. (Découverte)
a.
1) 0
2) 18
3) 18
4) 0
Tutoriel 8 – Leçon B
Questions
1. e Toutes ces réponses.
2. d un trait de séparation
3. a touche d'accès rapide
4. e de raccourci clavier
5. d Vous devez attribuer une touche de raccourci clavier aux éléments de menu communément
utilisés.
6. La touche d'accès rapide d'un élément de menu ne peut être utilisée que lorsque le menu est ouvert,
tandis que le raccourci clavier n'est utilisable que lorsque le menu est fermé.
Exercices
1. Voir les fichiers de VBNET\Tut08\LB Solution Menu dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut08\LB Solution MenuGrade dans le Disque des solutions.
3. Voir les fichiers de VBNET\Tut08\LB Solution MenuMensualités dans le Disque des solutions.
4. (Découverte) Voir les fichiers de VBNET\Tut08\LB Solution Check1 et de VBNET\Tut08\LB
Solution Check2 dans le Disque des solutions.
Tutoriel 8 – Leçon C
Questions
1. c For intIndex = 0 To strNom.Length - 1
2. d If strMontant.IndexOf(“,”) > -1
3. d Mid(strNom, 1) = “C”
4. e Aucune de ces réponses.
5. e Aucune de ces réponses.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 53
Exercices
1. Voir les fichiers de VBNET\Tut08\LC Solution Pendu Révisée dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut08\LC Solution Couleur dans le Disque des solutions.
3. Voir les fichiers de VBNET\Tut08\LC Solution Nom dans le Disque des solutions.
4. Voir les fichiers de VBNET\Tut08\LC Solution Téléphone dans le Disque des solutions.
5. Voir les fichiers de VBNET\Tut08\LC Solution Aléatoire dans le Disque des solutions.
6. (Découverte) Voir les fichiers de VBNET\Tut08\LC Solution Chaîne dans le Disque des solutions.
7. (Découverte) Voir les fichiers de VBNET\Tut08\LC Solution Dialogue dans le Disque des solutions.
8. (Débogage) Voir les fichiers de VBNET\Tut08\LC Solution Débogage dans le Disque des solutions.
Pour déboguer cette solution, l’étudiant doit apporter au code les modifications mises en évidence cidessous :
Dim strAdresse, strVille As String, intIndex As Integer
strAdresse = Me.AdresseTextBox.Text
intIndex = strAdresse.IndexOf(",")
strVille = strAdresse.Remove(intIndex, strAdresse.Length - intIndex)
MessageBox.Show(strVille, "Nom de ville", _
MessageBoxButtons.OK, MessageBoxIcon.Information)
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 54
Tutoriel 9 – Leçon A
Questions
1. e Dim objStreamReader As System.IO.StreamReader
2. b System.IO.File.AppendText("noms.txt")
3. a objet StreamReader
4. c CreateText
5. e OpenText
6. a If System.IO.File.Exists("emploi.txt") = True Then
7. e Toutes ces réponses.
8. d objStreamWriter.WriteLine(Space(15))
9. d a (strProvince = Space(6) & strProvince) et b (strProvince =
strProvince.PadLeft(13))
10. e Aucune de ces réponses.
11. d strNouvMsg = strMsg.PadRight(13, "!").
12. a strAge = intAge.ToString
13. c strText = objStreamReader.ReadLine()
14. a -1
15. d Toutes ces réponses.
Exercices
1. Dim objStreamReader As System.IO.StreamReader
2. objStreamReader = System.IO.File.OpenText("ventesjan.txt")
3. objStreamWriter = System.IO.File.AppendText("premierTrim.txt")
4. objStreamWriter = System.IO.File.CreateText("ventesfév.txt")
5. If System.IO.File.Exists("jansales.txt") = True Then
Debug.WriteLine("Le fichier existe")
Else
Debug.WriteLine("Le fichier n’existe pas")
End If
6. objStreamWriter.WriteLine("Employé")
objStreamWriter.WriteLine("Nom")
7. objStreamWriter.WriteLine(strCapitale & Space(20) & strProvince)
8. strVentes = Format(sngVentes, "currency").PadLeft(15)
9. strRécompense = strRécompense.PadLeft(10, "*")
10. strNom = strNom.PadRight(30)
11. strTexte = objStreamReader.ReadLine()
12. Do Until objStreamReader.Peek = -1
Debug.WriteLine(objStreamReader.ReadLine())
Loop
13. objStreamWriter.Close()
14. Voir les fichiers de VBNET\Tut09\LA Solution Fichier Modifiée dans le Disque des solutions.
15. (Découverte) Voir les fichiers de VBNET\Tut09\LA Solution Fichier Imports dans le Disque des
solutions.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 55
Tutoriel 9 – Leçon B
Questions
1. a Lorsqu’un contrôle DateTimePicker est ajouté à un formulaire, la date et l’heure courantes sont
affectées à la propriété Text du contrôle.
2. a If Me.PaiementDateTimePicker.Value.Month = 7 Then
3. b Format
4. e Aucune de ces réponses.
5. d Me.PaiementDateTimePicker.Value = New DateTime(2004, 10, 2)
6. c Me.PaiementDateTimePicker.Value = New DateTime(2005, 6, 5, 4, 40,
0)
7. e Debug.WriteLine(Today.ToShortDateString)
8. d Debug.WriteLine(TimeOfDay.ToLongTimeString)
9. d Debug.WriteLine(Today.DayOfWeek.ToString)
10. d Debug.WriteLine(TimeOfDay.Minute)
Exercices
1. Voir les fichiers de VBNET\Tut09\LB Solution Anniversaire dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut09\LB Solution Facture dans le Disque des solutions.
3. Voir les fichiers de VBNET\Tut09\LB Solution Rendez-Vous dans le Disque des solutions.
4. Voir les fichiers de VBNET\Tut09\LB Solution Date dans le Disque des solutions.
5. Voir les fichiers de VBNET\Tut09\LB Solution Noms dans le Disque des solutions.
6. Voir les fichiers de VBNET\Tut09\LB Solution Noms Modifiée dans le Disque des solutions.
7. Voir les fichiers de VBNET\Tut09\LB Solution Expédition dans le Disque des solutions.
8. (Découverte) Voir les fichiers de VBNET\Tut09\LB Solution Sur Mesure dans le Disque des
solutions.
d1)
dd MMM – dddd
d2)
M-dd-aa
d3)
dd-MM-aaaa
d4)
MMMM’,’ dd
(note : un espace inévitable apparaît entre le mois et la virgule)
d5)
ddd
d6)
‘Jour : ’ dddd
e1)
h:mm tt
e2)
h:mm:ss t
e3)
HH:mm
e4)
hh:mm
e5)
‘Heure : ’ h:mm tt
9. (Découverte) Voir les fichiers de VBNET\Tut09\LB Solution MaxMin dans le Disque des solutions.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 56
Tutoriel 9 – Leçon C
Questions
1. d Print
2. a e.Graphics.DrawString
3. a Vrai
4. d à espacement proportionnel
5. b à espacement fixe
Exercices
1. Voir les fichiers de VBNET\Tut09\LC Solution Anniversaire dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut09\LC Solution Facture dans le Disque des solutions.
3. Voir les fichiers de VBNET\Tut09\LC Solution Rendez-vous dans le Disque des solutions.
4. Voir les fichiers de VBNET\Tut09\LC Solution Date dans le Disque des solutions.
5. Voir les fichiers de VBNET\Tut09\LC Solution Noms dans le Disque des solutions.
6. Voir les fichiers de VBNET\Tut09\LC Solution Promenades Modifiée dans le Disque des solutions.
7. Voir les fichiers de VBNET\Tut09\LC Solution Multiplication dans le Disque des solutions.
8. Voir les fichiers de VBNET\Tut09\LC Solution Province dans le Disque des solutions.
9. (Découverte) Voir les fichiers de VBNET\Tut09\LC Solution Promenades EndPrint dans le Disque
des solutions.
10. (Débogage) Voir les fichiers de VBNET\Tut09\LC Solution Débogage dans le Disque des solutions.
Pour déboguer cette solution, l’étudiant doit insérer l’instruction objStreamWriter.Close()
dans la procédure d’événement Click du bouton EcrireButton.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 57
Tutoriel 10 – Leçon A
Questions
1. d Structure
2. e <VBFixedString(15)> Public strVille As String
3. d La chaîne "Chicago", suivie de huit espaces.
4. b FileOpen
5. a FileOpen
6. a FilePut
7. a FileGet
8. e a (FileOpen(1, "item.data", OpenMode.Random, OpenAccess.ReadWrite,
OpenShare.Shared, 100)) et c (FileOpen(1, "item.data", OpenMode.Random,
OpenAccess.ReadWrite, OpenShare.Shared, Len(udtItem)))
9. a FilePut(1, udtEtudiant, intNumEnregistrement)
10. e FileClose(3)
11. a Len(udtEtudiant)
12. d udtMagasin.strRégion = Space(5)
13. e Toutes ces réponses.
14. e udtClient
15. b de 4 octets
16. b de 41 octets
17. e udtClient.strTél
18. b FileGet(1, udtClient, intNum)
Exercices
1. Structure LivreStruc
<VBFixedString(20)>Public strTitre As String
<VBFixedString(20)>Public strAuteur As String
Public sngPrix As Single
End Structure
2. Structure CassetteStruc
<VBFixedString(25)>Public strNom As String
<VBFixedString(20)>Public strArtiste As String
Public intChanson As Integer
<VBFixedString(6)>Public strDurée As String
End Structure
3. Dim udtLivre As LivreStruc
4. Dim udtCassette As CassetteStruc
5. FileOpen(1, "livres.data", OpenMode.Random, OpenAccess.ReadWrite,
OpenShare.Shared, Len(udtLivre))
6. FileOpen(1, "cassettes.data", OpenMode.Random, OpenAccess.ReadWrite,
OpenShare.Shared, Len(udtCassette))
7. FilePut(1, udtLivre, intNumEnreg)
8. FilePut(1, udtCassette, intNumEnreg)
9. FileGet(1, udtLivre, intNumEnreg)
10. FileGet(1, udtCassette, intNumEnreg)
11. FileClose(1)
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 58
12.
a. Dim udtOrdinateur As OrdinateurStruc
b. FileOpen(1, "ordinateur.data", OpenMode.Random,
OpenAccess.ReadWrite, OpenShare.Shared, Len(udtOrdinateur))
c. udtOrdinateur.strNom = Space(5)
udtOrdinateur.sngPrix = 0
For intX = 1 To 10
FilePut(1, udtOrdinateur, intX)
Next intX
d. udtOrdinateur.strNom = "IB-50"
e. udtOrdinateur.sngPrix = 2400
f. FilePut(1, udtOrdinateur, intNumEnreg)
g. FileGet(1, udtOrdinateur, intNumEnreg)
h. Me.NomLabel.Text = udtOrdinateur.strNom
Me.PrixLabel.Text = udtOrdinateur.sngPrix
i. FileClose(1)
13.
a. Dim udtAmi As AmiStruc
b. FileOpen(1, "amis.data", OpenMode.Random, OpenAccess.ReadWrite,
OpenShare.Shared, Len(udtAmi))
c. udtAmi.strNom = Space(10)
udtAmi.strPrénom = Space(10)
For intX = 1 To 5
FilePut(1, udtAmi, intX)
Next intX
d. udtAmi.strPrénom = Me.PrénomTextBox.Text
e. udtAmi.strNom = Me.NomTextBox.Text
f. FilePut(1, udtAmi, intNumEnreg)
g. FileGet(1, udtAmi, intNumEnreg)
h. Me.NomLabel.Text = udtAmi.strNom
Me.PrénomLabel.Text = udtAmi.strPrénom
i. FileClose(1)
14. (Découverte) La fonction FreeFile renvoie le numéro de fichier disponible suivant.
Tutoriel 10 – Leçon B
Questions
1. b FileOpen(1, "ventes.data", OpenMode.Random, OpenAccess.ReadWrite,
OpenShare.Shared, Len(udtVendeur))
2. b L’instruction Structure crée une variable d’enregistrement.
3. c udtVentes.strProvince
4. d FileGet(1, udtVentes, 4)
5. b If intNuméro > 0 AndAlso intNuméro < 11 Then
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 59
Exercices
1. Voir les fichiers de VBNET\Tut10\LB Solution Séminaire1 dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut10\LB Solution Séminaire2 dans le Disque des solutions.
3. Voir les fichiers de VBNET\Tut10\LB Solution CD dans le Disque des solutions.
4. Voir les fichiers de VBNET\Tut10\LB Solution Ventes dans le Disque des solutions.
5. Voir les fichiers de VBNET\Tut10\LB Solution Séminaire3 dans le Disque des solutions.
6. (Découverte) Voir les fichiers de VBNET\Tut10\LB Solution Epargne dans le Disque des solutions.
Tutoriel 10 – Leçon C
Questions
1. a Vrai
2. d a et c
3. e Aucune de ces réponses.
Exercices
1. Voir les fichiers de VBNET\Tut10\LC Solution Séminaire Effacer dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut10\LC Solution Séminaire DoLoop dans le Disque des solutions.
3. Voir les fichiers de VBNET\Tut10\LC Solution Séminaire Impression dans le Disque des solutions.
4. Voir les fichiers de VBNET\Tut10\LC Solution Séminaire Doublon dans le Disque des solutions.
5. Voir les fichiers de VBNET\Tut10\LC Solution Séminaire Doublon Modifiée dans le Disque des
solutions.
6. Voir les fichiers de VBNET\Tut10\LC Solution Noms dans le Disque des solutions.
7. (Découverte) Voir les fichiers de VBNET\Tut10\LC Solution Séminaire NomFichier dans le Disque
des solutions.
8. (Débogage) Voir les fichiers de VBNET\Tut10\LC Solution Débogage dans le Disque des solutions.
Pour déboguer cette solution, l’étudiant doit changer les « Private » en « Public » dans la définition
de la Structure. Ensuite, dans la procédure d’événement Click du bouton Enregistrer, il doit changer
la partie « intNuméro As Integer » de la déclaration Dim en « intNuméro As Integer = 1 », puis
ajouter la ligne « intNuméro = Val(Me.NuméroTextBox.Text) » juste avant l’instruction FileOpen.
Enfin, dans la procédure Click du bouton Afficher, l’étudiant doit changer le « OpenAccess.Write »
en « OpenAccess.ReadWrite » dans la fonction FileOpen.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 60
Tutoriel 11 – Leçon A
Questions
1. c Tous les éléments d’un tableau ont le même type de donnée.
2. d indice
3. a Dim sngPrix(4) As Single
4. d Do While intX <= 20
5. b permet de remplacer le montant de 500 par la valeur 510.
6. a permet de remplacer le montant de 20 000 par la valeur 900.
7. b affiche 22 000.
8. d If intX >= 0 AndAlso intX <= 4 Then
9. d Do While intX <= 4
intVentes(intX) = intVentes(intX) + 100
intX = intX + 1
Loop
10. a Array.Sort(intVentes)
11. b Do While intX < 4
intTotal = intTotal + intNbres(intX)
intX = intX + 1
Loop
sngMoyenne = intTotal / intX
Debug.WriteLine(sngMoyenne)
12. a 0
13. c 6
14. b 5
15. d 8
16. d Debug.WriteLine(intNbres.Length)
17. e Visual Basic .NET permet au programmeur de créer seulement des tableaux unidimensionnels et
bidimensionnels.
18. 0
19. 24
20. intQuantité, indice sept
Exercices
1. Dim intNombres(19) As Integer
2. intNombres(1) = 7
3. Private mstrProduits(9) As String
4. mstrProduits(2) = "Papier"
5. Dim sngTaux As Single = {6.5, 8.3, 4, 2, 10.5}
6. For intX = 0 To 4
Debug.WriteLine(sngTaux(intX))
Next intX
7. Do While intX <= 4
Debug.WriteLine(sngTaux(intX))
intX = intX + 1
Loop
8. Array.Sort(sngTaux)
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 61
9. Array.Reverse(sngTaux)
10. For intX = 0 To 4
sngTotal = sngTotal + sngTaux(intX)
Next intX
sngMoyenne = sngTotal / intX
Debug.WriteLine(sngMoyenne)
11. Do While intX <= 4
sngTotal = sngTotal + sngTaux(intX)
intX = intX + 1
Loop
sngMoyenne = sngTotal / intX
Debug.WriteLine(sngMoyenne)
12. Dim intX As Integer = 1
Dim sngPlusGrand As Single = sngTaux(0)
Do While intX < sngTaux.Length
If sngTaux(intX) > sngPlusGrand Then
sngPlusGrand = sngTaux(intX)
End If
intX = intX + 1
Loop
Debug.WriteLine(sngPlusGrand)
13. Dim intX As Integer
Dim sngPlusGrand As Single = sngTaux(0)
For intX = 1 To sngTaux.Length - 1
If sngTaux(intX) > sngPlusGrand Then
sngPlusGrand = sngTaux(intX)
End If
Next intX
Debug.WriteLine(sngPlusGrand)
14. Do While intX < sngTaux.Length
sngTaux(intX) = sngTaux(intX) – 1
intX = intX + 1
Loop
15. For intX = 0 To sngTaux.Length - 1
sngTaux(intX) = sngTaux(intX) – 1
Next intX
16. intDouble = intNbres(0) * 2
17. Debug.WriteLine(intNbres(0) + intNbres(1))
18. Voir les fichiers de VBNET\Tut11\LA Solution Mois dans le Disque des solutions.
19. Voir les fichiers de VBNET\Tut11\LA Solution Plus Petit dans le Disque des solutions.
20. Voir les fichiers de VBNET\Tut11\LA Solution Prix dans le Disque des solutions.
21. Voir les fichiers de VBNET\Tut11\LA Solution Prix2 dans le Disque des solutions.
22. Voir les fichiers de VBNET\Tut11\LA Solution Scores dans le Disque des solutions.
d. 3 étudiants ont obtenu un score de 72.
4 étudiants ont obtenu un score de 88.
1 étudiant a obtenu un score de 20.
2 étudiants ont obtenu un score de 99.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 62
23. Voir les fichiers de VBNET\Tut11\LA Solution Scores2 dans le Disque des solutions.
d. 3 étudiants ont obtenu un score compris entre 70 et 79, inclus.
4 étudiants ont obtenu un score compris entre 65 et 85, inclus.
5 étudiants ont obtenu un score compris entre 0 et 50, inclus.
24. Voir les fichiers de VBNET\Tut11\LA Solution Loterie dans le Disque des solutions.
25. Voir les fichiers de VBNET\Tut11\LA Solution Tri dans le Disque des solutions.
26. Voir les fichiers de VBNET\Tut11\LA Solution Tri2 dans le Disque des solutions.
27. (Découverte)
a. La méthode Array.GetUpperBound présente l’intérêt de retourner l’indice le plus élevé applicable
à un tableau donné.
b. Debug.WriteLine(Array.GetUpperBound(strItems))
Tutoriel 11 – Leçon B
Questions
1. strCapitale(0)
2. a Vrai
3. d Structure
4. b Faux
5. b udtInventaire(0).strNuméro = "123XY"
Exercices
1. Voir les fichiers de VBNET\Tut11\LB Solution Carver dans le Disque des solutions.
2. Voir les fichiers de VBNET\Tut11\LB Solution Carver2 dans le Disque des solutions.
3. Voir les fichiers de VBNET\Tut11\LB Solution Laurie dans le Disque des solutions.
4. Voir les fichiers de VBNET\Tut11\LB Solution Carver3 dans le Disque des solutions.
5. Voir les fichiers de VBNET\Tut11\LB Solution Laurie2 dans le Disque des solutions.
6. (Découverte) Voir les fichiers de VBNET\Tut11\LB Solution ReDim dans le Disque des solutions.
a. L’instruction ReDim permet de réallouer l’espace de stockage d’une variable de type tableau. En
d’autres termes, elle permet de changer de manière dynamique la taille d’un tableau.
b. Cette réallocation se fait cependant avec la perte des données contenues dans le tableau avant
l’application de l’instruction ReDim. Toutefois, le mot-clé Preserve permet de conserver les données
présentes dans le tableau initial, à condition de ne changer que la taille de la dernière dimension.
Tutoriel 11 – Leçon C
Questions
1. a combinaison de deux indices
2. a Dim sngTemps(2, 3) As Single
3. d remplacer le montant de 800 par 810.
4. b remplacer le montant de 20 000 par 900.
5. a d’afficher 1 300 dans la fenêtre Sortie.
6. d If intRangée >= 0 AndAlso intRangée < 2 AndAlso intCol >= 0
AndAlso intCol < 5 Then
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 63
7. b
For intRangée = 0 To 1
For intCol = 0 To 2
FileGet(1, intNbres(intRangée, intCol))
Next intCol
Next intRangée
8. b remplit incorrectement le tableau.
25
10
50
200
300
30
9. a remplit correctement le tableau.
50
10
200
300
25
30
10. c produit une erreur.
10
200
50
300
11. c produit une erreur.
10
200
12. d strProvinces(4, 2) = "Québec"
Exercices
1. Dim decSoldes(3, 5) As Decimal
2. For intRangée = 0 To 3
For intCol = 0 To 5
decSoldes(intRangée, intCol) = 10
Next intCol
Next intRangée
3. Do While intRangée <= 3
Do While intCol <= 5
decSoldes(intRangée, intCol) = 10
intCol = intCol + 1
Loop
intRangée = intRangée + 1
Loop
4. blnRéponses(2, 0) = True
5. Voir les fichiers de VBNET\Tut11\LC Solution Inventaire dans le Disque des solutions.
6. Voir les fichiers de VBNET\Tut11\LC Solution Conway dans le Disque des solutions.
7. Voir les fichiers de VBNET\Tut11\LC Solution Comptage dans le Disque des solutions.
8. Voir les fichiers de VBNET\Tut11\LC Solution Plus Grand dans le Disque des solutions.
9. Voir les fichiers de VBNET\Tut11\LC Solution MJ dans le Disque des solutions.
10. (Découverte) Voir les fichiers de VBNET\Tut11\LC Solution Noms dans le Disque des solutions.
11. (Découverte) Voir les fichiers de VBNET\Tut11\LC Solution Perceville Modifiée dans le Disque des
solutions
12. (Débogage) Voir les fichiers de VBNET\Tut11\LC Solution Débogage dans le Disque des solutions.
Pour déboguer cette solution, l’étudiant doit insérer une virgule au sein des parenthèses de
l’instruction Dim qui déclare le tableau strNoms. Il doit ensuite changer la clause For de l’instruction
For…Next en For intRangée = 0 To 4.
© 2003 Éditions Reynald Goulet inc. Tous droits réservés.
Page 64

Documents pareils