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