NOM / PRÉNOM : ___________________/_______________
DIRECTION DE L'ENSEIGNEMENT DE SERVICE EN INFORMATIQUE
COURS: IFT 1175 EXAMEN INTRA
DATE: Jeudi, 24 février 2005 DURÉE: Deux heures
TOUTE DOCUMENTATION PERMISE PAR: Francis Fournelle
PARTIE - I Connaissances générales (20 questions, 40 points)
Si l’énoncé est une question, répondez-y brièvement. S’il s’agit d’une affirmation, répondez par
"Vrai" ou par "Faux" selon qu’elle est vraie ou fausse. Si elle est fausse, ou si elle n’est pas toujours vraie, expliquez brièvement et succinctement pourquoi.
1) L’expression «(15 MOD 10 = 5) Or ( 125 / 9.5 + 36.8 < 48 )» a la valeur «True».
Vrai
2) Chaque fois que l’utilisateur clique sur une barre de défilement (VBScroll), celle-ci change de valeur.
F pas si au maximum ou au minimum
3) Si la valeur de «Annee mod 4 > 0» est «False», on peut en conclure que l'année représentée par cette donnée n'est pas une année bissextile.
F contraire : si est True
4) Pour qu'une variable globale «XXX» soit «visible» à partir de toutes les procédures d'une feuille, elle doit être déclarée avec le mot-clé «Public XXX».
F peut être Dim ou Private au début de la feuille
5) La valeur de la propriété «Value» d'un contrôle «Barre de défilement» (ScrollBar) doit toujours être inférieure à sa propriété «Maximum».
F peut être égale
6) Si on veut placer une nouvelle image dans une zone d’image (PictureBox) on doit d’abord supprimer celle qui s’y trouve déjà, sinon les deux images seront superposées.
F remplacement automatique
7) Dans un projet VB, la variable redéfinie par «ReDim JourSem(6)» contiendra 7 éléments s'échelonnant de l'indice 0 à l'indice 7.
F de 0 à 6
8) Pour afficher du texte à l'utilisateur sans qu'il ne puisse le modifier, on peut le placer soit dans un contrôle étiquette «Label», soit dans un contrôle zone de texte muni d'une propriété __???__
mise à «True».
ReadOnly
NOM / PRÉNOM : ___________________/_______________
9) Dans une procédure d’un événement «KeyPress», la valeur «Handled» du paramètre «e» est généralement mise à True pour indiquer que le caractère doit être traité.
F mise (ou laissée) à False
10) Il suffit de nommer un bouton de commande «cmdQuit» et d'y placer le Text «Quitter» pour que l'utilisateur puisse mettre fin au programme en cliquant dessus.
F faut aussi le programmer
11) La valeur «Autosize» de la propriété «SizeMode» d'un contrôle afficheur d'image (Picture Box) permet de définir que l'image insérée dans le contrôle sera automatiquement redimensionnée pour occuper la même surface que celui-ci.
F Inverse : cadre ajusté `à la taille de l'image
12) La propriété «Color» d'une zone de texte (Textbox) détermine la couleur de sa police de caractères.
F ForeColor
13) La propriété «ToolTip» d’un contrôle possède une valeur de défaut qui est le nom du contrôle.
F = ""
14) La propriété StartupPosition d'un contrôle indique où, sur la feuille, le contrôle sera placé lors de l'affichage de la feuille.
F position de la feuille sur l'écran
15) Si une minuterie (Timer) a sa propriété «Enabled» fixée à Vrai (True) et sa propriété «Interval» à 5, son événement «Clickr» se produira au bout de 5 millisecondes puis elle sera désactivée.
F pa désactivée sans intervention du programme 16) On peut lire ou écrire dans un fichier ouvert en mode «Output».
F écrire seulement
17) Toute procédure «Main()» définie comme objet de démarrage d'un projet VB doit être la première procédure de son module.
F n'importe où dans le module
18) L'événement «TextChanged» d'un contrôle zone de texte (TextBox) ne survient qu'une fois que l'utilisateur a tapé tous les caractères de sa donnée.
F chaque touche qui change la valeur
19) On ne peut placer la commande «Option Explicit» qu’au début d’une feuille ou d’un module.
V
20) L’énoncé «Z = Replace("123.", ".",",")» placera dans Z la valeur "123".
F la valeur "123,"
NOM / PRÉNOM : ___________________/_______________
PARTIE - II Analyse et programmation (3 questions, 60 points)
La question 21 : 30 pts Parmi les 2 autres :
la meilleure réponse : 20 pts, la moins bonne : 10 pts.
21) A) Le jeu de Bridge se joue au moyen d'un jeu de cartes standard nord-américain qui est constitué de 52 cartes réparties en 4 couleurs «Pique», «Coeur», «Carreau» et «Trèfle». Pour chaque couleur, il y a 13 cartes qui sont : le «deux», le «trois», le «quatre», etc .. jusqu'au «dix», suivi du «valet», de la «dame», du «roi» et de l'«as» et ce, dans l'ordre croissant de puissance.
Nommons «P», «C», «K» et «T» les 4 couleurs et «2», «3», ... «9», «X», «V», «D», «R» et «A»
les cartes de chaque couleur. Ainsi on pourra nommer «5P» le cinq de pique, «RT» le roi de trèfle et «XK» le dix de carreau.
Créez une classe «clCarte» possédant les caractéristiques suivantes.
• Une propriété Force en lecture seule renvoie un entier entre 2 et 14 représentant la force de la carte : 2 à 9 pour «deux» à «neuf», 10 pour un «dix», 11 pour un «valet», 12 pour une «dame», 13 pour un «roi» et 14 pour un «as».
• Une propriété Couleur en lecture seule renvoie un simple caractère représentant la couleur de la carte ("P", "C", "K" ou "T").
• Une propriété Valeur en lecture seule renvoie une chaîne de caractères représentant la carte elle-même : "5P", "RT" ou XK" pour le cinq de pique, le roi de trèfle et le dix de carreau.
• Le constructeur New reçoit un paramètre entier compris entre 1 et 52 représentant une des 52 cartes du jeu : 1 à 13 pour le 2 de pique au roi de pique, 14 à 26 pour les 13 coeurs, 27 à 39 pour les 13 carreaux et 40 à 52 pour les 13 trèfles. Puis il détermine les valeurs de chacune des propriétés susmentionnées. Par exemple, UneCarte = New clCarte(8) produira une carte "8P" de force 8 et de couleur "P" alors que UneCarte = New clCarte(52) produira une carte "AT" de force 14 et de couleur
"T".
VOIR la classe «clCartes.vb» de l'application
B) Définissez une collection «JeuDeCartes» dans laquelle vous placerez l'ensemble d'un jeu complet de 52 cartes.
VOIR le bouton «Qst 21B» de l'application
NOM / PRÉNOM : ___________________/_______________
22) Indépendamment de la définition de la classe précédente, on suppose que la variable
«JeuDeCarte» désigne une collection de 52 cartes nouvellement créée. On suppose aussi que vous disposez (vous n'avez pas à l'écrire) d'une procédure «Sub» nommée «Brasser» avec comme paramètre quelconque une collection et ayant pour fonction de réordonner au hasard les items de la collection.
Écrivez le code (pas les entêtes) servant à programmer le «Clic» d'un bouton de commande
«btnDonner» pouvant répartir au hasard les 52 cartes dans 4 variables-collections «Main1»,
«Main2», «Main3» et «Main4» de 13 cartes chacune (vous POUVEZ aussi utiliser un tableau de 4 items)
VOIR le bouton «Qst 22» de l'application
23) Un fichier nommé «PartieEnreg.dta» contient une partie (4 mains de treize cartes), chaque main sur une ligne sous forme d'une suite de 13 valeurs de 2 chiffres (01 à 52). Créez la procédure
«Sub LireMain» capable de lire chaque ligne du fichier puis de les analyser pour placer les cartes correspondantes dans chacune des mais (collections) Main1 à Main4 déclarées au niveau du module.
VOIR le bouton «Qst 23» de l'application