VB Net R Ponses Solutions

64
© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 1 Programmation avec Microsoft Visual Basic. NET Diane Zak Réponses aux questions Solutions des exercices ISBN 2-89377-273-0

description

Exercices sur Vb.net

Transcript of VB Net R Ponses Solutions

Page 1: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 1

Programmation avec Microsoft Visual Basic. NET

Diane Zak

Réponses aux questions Solutions des exercices

ISBN 2-89377-273-0

Page 2: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 2

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

Page 3: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 3

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.

Page 4: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 4

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.

Page 5: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 5

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.

Page 6: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 6

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.

Page 7: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 7

Exercices 1. Les diagrammes TOE et les esquisses peuvent varier. Tâche Objet Événement Demander à l’utilisateur : nom territoire chiffre

NomTextBox TerritoireTextBox VentesTextBox

Aucun Aucun Aucun

Calculer la commission CalculerButton Click Afficher : nom territoire chiffre commission

NomTextBox TerritoireTextBox VentesTextBox CalculerButton, CommissionLabel

Aucun Aucun Aucun Click, Aucun

Terminer l’application QuitterButton Click Effacer l’écran EffacerButton Click Tâche Objet Événement 1. Calculer la commission 2. Afficher la commission

dans le contrôle CommissionLabel

CalculerButton

Click

Effacer l’écran EffacerButton Click Terminer l’application QuitterButton Click Afficher la commission (par CalculerButton)

CommissionLabel Aucun

Demander et afficher le nom, le territoire et le chiffre de ventes

NomTextBox, TerritoireTextBox, VentesTextBox

Aucun

Page 8: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 8

Aperçu suivant une organisation horizontale :

Aperçu suivant un agencement vertical :

Page 9: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 9

2. Les diagrammes TOE et les esquisses peuvent varier. Tâche Objet Événement 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

NventesTextBox, SventesTextBox, EventesTextBox, OventesTextBox NaugTextBox, SaugTextBox, EaugTextBox, OaugTextBox

Aucun Aucun

Calculer les ventes prévues pour chaque région

CalculerButton Click

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

NventesTextBox, SventesTextBox, EventesTextBox, OventesTextBox NaugTextBox, SaugTextBox, EaugTextBox, OaugTextBox CalculerButton, NventesLabel, SventesLabel, EventesLabel, OventesLabel

Aucun Aucun Click, Aucun, Aucun, Aucun, Aucun

Terminer l’application QuitterButton Click Effacer l’écran EffacerButton Click Tâche Objet Événement 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

CalculerButton

Click

Effacer l’écran EffacerButton Click Terminer l’application QuitterButton Click Afficher les ventes prévues (par CalculerButton)

NventesLabel, SventesLabel, EventesLabel, OventesLabel

Aucun

Demander et afficher le pourcentage d’augmentation prévu pour chaque région

NaugTextBox, SaugTextBox, EaugTextBox, OaugTextBox

Aucun

Demander et afficher les ventes de cette année pour chaque région

NventesTextBox, SventesTextBox, EventesTextBox, OventesTextBox

Aucun

Page 10: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 10

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.

Page 11: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 11

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.

Page 12: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 12

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 Objet Événement 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

CalculerButton

Click

Terminer l’application QuitterButton Click Afficher le nombre de pouces et de centimètres (par CalculerButton)

PoucesLabel, CmLabel

Aucun

Demander et afficher le nombre de twips TwipsTextBox 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.

Page 13: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 13

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 Objet Événement 1. Calculer le solde final 2. Afficher le solde final dans le contrôle

FinalLabel

CalculerButton

Click

Effacer l’écran EffacerButton Click Terminer l’application QuitterButton Click Afficher le solde final (par CalculerButton) FinalLabel Aucun Demander et afficher le solde initial, les gains du mois, les dépenses du mois

InitialTextBox, GainsTextBox, DépensesTextBox

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 Objet Événement 1. Calculer la moyenne de trois nombres 2. Afficher la moyenne dans le contrôle

MoyenneLabel

CalculerButton

Click

Effacer l’écran EffacerButton Click Terminer l’application QuitterButton Click Afficher la moyenne (par CalculerButton) MoyenneLabel Aucun Demander et afficher les premier, deuxième et troisième nombres

Nbre1TextBox, Nbre2TextBox, Nbre3TextBox

Aucun

Page 14: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 14

Page 15: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 15

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 Objet Événement 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

CalculerButton

Click

Effacer l’écran EffacerButton Click Terminer l’application QuitterButton Click 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)

ValeurPocheLabel, ValeurBrochéLabel, NombreTotalLabel, ValeurTotaleLabel

Aucun

Demander et afficher le titre, le nombre de versions en édition de poche, le nombre de versions en édition brochée, le

TitreTextBox, NombrePocheTextBox, NombreBrochéTextBox,

Aucun

Page 16: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 16

prix de la version en édition de poche et le prix de la version en édition brochée

PrixPocheTextBox, PrixBrochéTextBox

Page 17: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 17

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.

Page 18: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 18

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.

Page 19: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 19

Tâche Objet Événement 1. Calculer la remise et le nouveau prix 2. Afficher la remise et le nouveau prix

dans les contrôles RemiseLabel et NouveauPrixLabel

CalculerButton

Click

Terminer l’application QuitterButton Click Afficher la remise et le nouveau prix (par CalculerButton)

RemiseLabel, NouveauPrixLabel

Aucun

Demander et afficher le prix normal PrixNormalTextBox 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 Objet Événement 1. Calculer le total dû 2. Afficher le total dû dans le contrôle

TotalLabel

CalculerButton

Click

Effacer l’écran EffacerButton Click Terminer l’application QuitterButton Click Afficher le total dû (par CalculerButton) TotalLabel Aucun Demander et afficher le nom, le nombre d’enveloppes imprimées et le nombre de pages imprimées

NomTextBox, EnveloppesTextBox, PagesTextBox

Aucun

Page 20: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 20

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 Objet Événement 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

CalculerButton

Click

Effacer l’écran EffacerButton Click Terminer l’application QuitterButton Click Afficher le nombre total de participants et le montant total (par CalculerButton)

NombreTotalLabel, MontantTotalLabel

Aucun

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"

NomTextBox, AdresseTextBox, VilleTextBox, PaysTextBox, CPTextBox, EfficaceTextBox, GérerTextBox

Aucun

Page 21: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 21

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 Objet Événement 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

CalculerButton

Click

Effacer l’écran EffacerButton Click Terminer l’application QuitterButton Click 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)

BrutLabel, MaladieLabel, RetraiteLabel, ChômageLabel, NetLabel

Aucun

Demander et afficher le nom, les heures travaillées et le tarif horaire du salaire

NomTextBox, HeuresTextBox, TarifTextBox

Aucun

Page 22: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 22

Page 23: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 23

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 Objet Événement 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

CalculerButton

Click

Terminer l’application QuitterButton Click Afficher le nombre de caisses pleines et le nombre d’articles restants (par CalculerButton)

PleinesLabel, RestantsLabel Aucun

Demander et afficher la quantité d’inventaire et le nombre d’articles qu’une caisse peut contenir

QuantitéTextBox, QtéParCaisseTextBox

Aucun

Page 24: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 24

Page 25: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 25

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 Objet Événement 1. Calculer le périmètre d’un polygone 2. Afficher le périmètre dans le contrôle

PérimètreLabel

CalculerButton

Click

Terminer l’application QuitterButton Click Afficher le périmètre (par CalculerButton)

PérimètreLabel Aucun

Demander et afficher la longueur des quatre côtés du polygone

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.

Page 26: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 26

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 Objet Événement 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

CalculerButton

Click

Terminer l’application QuitterButton Click Afficher la circonférence et le prix total (par CalculerButton)

CirconférenceLabel, MontantTotalLabel

Aucun

Demander et afficher le diamètre d’un cercle et le prix par mètre de clôture

DiamètreTextBox, PrixParMètreTextBox

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 Objet Événement 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

CalculerButton

Click

Terminer l’application QuitterButton Click Afficher le nombre de semaines, jours et heures travaillés (par CalculerButton)

SemainesLabel, JoursLabel, HeuresLabel

Aucun

Demander et afficher le nombre d’heures HeuresTextBox Aucun

Page 27: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 27

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 Objet Événement 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

CalculerButton

Click

Terminer l’application QuitterButton Click Afficher l’aire et le prix total (par CalculerButton)

AireLabel, MontantTotalLabel Aucun

Demander et afficher la longueur d’un rectangle, la largeur d’un rectangle et le prix par mètre carré du carrelage

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.

Page 28: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 28

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 Objet Événement 1. Calculer le volume d’un

parallélépipède 2. Afficher le volume dans le contrôle

VolumeLabel

CalculerButton

Click

Terminer l’application QuitterButton Click Afficher le volume (par CalculerButton) VolumeLabel Aucun Demander et afficher la longueur, la largeur et la hauteur du parallélépipède rectangle

LongueurTextBox, LargeurTextBox, HauteurTextBox

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 Objet Événement 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

CalculerButton

Click

Effacer l’écran EffacerButton Click Terminer l’application QuitterButton Click Afficher les intérêts et le montant total à rembourser (par CalculerButton)

IntérêtLabel, CoûtLabel Aucun

Demander et afficher le capital prêté, le taux d’intérêt et la durée du prêt

PrêtTextBox, TauxTextBox, DuréeTextBox

Aucun

Page 29: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 29

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.

Page 30: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 30

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.

Page 31: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 31

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).

Page 32: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 32

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.

Page 33: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 33

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

Page 34: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 34

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

Page 35: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 35

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

Page 36: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 36

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

Page 37: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 37

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

Page 38: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 38

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.

Page 39: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 39

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.

Page 40: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 40

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

Page 41: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 41

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

Page 42: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 42

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.

Page 43: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 43

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.

Page 44: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 44

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.

Page 45: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 45

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

Page 46: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 46

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.

Page 47: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 47

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.

Page 48: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 48

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.

Page 49: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 49

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

Page 50: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 50

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.

Page 51: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 51

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.

Page 52: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 52

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)

Page 53: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 53

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.

Page 54: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 54

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 ci-dessous :

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)

Page 55: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 55

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.

Page 56: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 56

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.

Page 57: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 57

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.

Page 58: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 58

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)

Page 59: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 59

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

Page 60: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 60

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.

Page 61: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 61

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)

Page 62: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 62

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.

Page 63: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 63

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

Page 64: VB Net R Ponses Solutions

© 2003 Éditions Reynald Goulet inc. Tous droits réservés. Page 64

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.

10 50 25 200 300 30

9. a remplit correctement le tableau. 10 200 50 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.