• Aucun résultat trouvé

2) Dans la définition d'une classe, la procédure «New» est optionnelle, mais si elle s'y trouve, elle doit être unique

N/A
N/A
Protected

Academic year: 2022

Partager "2) Dans la définition d'une classe, la procédure «New» est optionnelle, mais si elle s'y trouve, elle doit être unique"

Copied!
9
0
0

Texte intégral

(1)

DIRECTION DE L'ENSEIGNEMENT DE SERVICE EN INFORMATIQUE

COURS: IFT 1175 EXAMEN FINAL

DATE: Jeudi, 20 avril 2005 DURÉE: Trois heures

TOUTE DOCUMENTATION PERMISE PAR: Francis Fournelle

PARTIE - I Connaissances générales (20 questions, 40 ou 20 points)

Si l’énoncé est une question, répondez-y brièvement. S'il s'agit d'un énoncé comportant une zone cachée, complétez l'énoncé. 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. Notez que «Auteur» désigne ici celui qui programme un projet, «Utilisateur» désigne celui qui utilise un projet.

1) La présence, dans la définition d'une classe, d'un énoncé «RaiseEvent XXX(25)» implique la présence ailleurs, dans le même bloc de programme, d'un énoncé ________________ .

2) Dans la définition d'une classe, la procédure «New» est optionnelle, mais si elle s'y trouve, elle doit être unique.

3) Dans la définition d'une chaîne de connexion d’un objet OleDbConnection, le type de base de données (Access, Oracle, OCDB, etc.) est indiqué par le suffixe du nom de fichier de la base que l’auteur inscrit dans l’onglet «Connection», par exemple «Mabase.mdb».

4) On peut placer la commande «Option Explicit» soit en début d’une feuille de travail ou d’un module, soit au début des procédures auxquelles on veut l’appliquer.

5) Si deux zones de textes «Txt1» et «Txt2» contiennent les valeurs numériques 8 et 12, que contiendra la zone de texte «Txt3» A) si on écrit «Txt3 = 0 + Txt1 + Txt2» ; B) si on écrit

«Txt3 = Txt1 + Txt2» ?

6) Lors de l'appel de la fonction «GetObject», le logiciel ouvert (Word, Access, Excel, etc.) est indiqué par le suffixe du nom de fichier que l’auteur inscrit dans l’énoncé, par exemple

«GetObject("nomfichier.xls")».

(2)

7) Un énoncé exécutable suivi immédiatement d'un énoncé «Catch Ex As Exception» ne s'exécutera que si une erreur a été détectée.

8) La méthode «Read()» d'un «DataReader» et la méthode «Peek» d'un «StreamReader»

fonctionnent toutes deux de la même manière, soit en retournant une valeur booléenne indiquant si la lecture a réussi.

9) Peu importe les énoncés de la procédure Sub Bidule(ByRef UneValeur As String) les deux appels suivants produiront nécessairement le même résultat.

Call Bidule(UneCh)

Call Bidule((UneCh))

10) On suppose qu'une année est nommée «centenaire» si sa valeur «Annee» est telle que

«Annee Mod 100» vaut «0». Une année dont la valeur «Annee2» est telle que «Annee2 Mod 300» vaut «0» n'est pas nécessairement centenaire.

11) Dans la définition d'une classe, on peut créer une propriété XXX en lecture seule soit en utilisant la procédure Public ReadOnly Property XXX() As Untype, soit en déclarant une simple variable publique en lecture seule.: Public ReadOnly XXX As Untype.

12) Les blocs d'énoncés suivants :

For K = MaColl.Count To 1

MaColl.Remove(K)

Next et

For K = MaColl.Count To 1

MaColl.Remove(1)

Next produiront le même résultat.

13) Dans la définition d'une sous-classe, on peut redéfinir une méthode de la classe de base en lui donnant la clause «Overloads» à condition de lui donner exactement la même signature.

(3)

14) La propriété ____________ du contrôle «OpenFileDialog» indique le nom du fichier sélectionné par l'utilisateur lors de son utilisation en mode «ShowDialog».

15) Toutes les valeurs des propriétés des Contrôles Utilisateurs doivent être stockées dans des variables, privées ou publiques.

16) Les trois énoncés successifs suivants dans le code d'une feuille : «Dim X As Classe»,

«Dim Y As Classe» et «Set Y = X» ne créeront qu'un seul objet de la classe Classe.

17) On doit écrire «Dim X WithEvents As New cY » et non pas «Dim WithEvents X As New cY ».

18) Soit un tableau de dimension variable «Dim UnTablo() As String». On peut définir les données de ce tableau dans une boucle contenant l'énoncé «ReDim UnTablo(K)» suivi de

«UnTablo(K) = ...».

19) L’énoncé «Z = Replace("(123,",",".")» placera dans Z la valeur "(123.".

20) Pour accéder simultanément de différentes manières à une même base de données, on peut définir une connexion OleDbConnexion, un objet OleDbataAdapter et un DataSet contenant plusieurs tables différentes.

PARTIE - II Programmation 1 (2 questions : une de 12 points, l'autre de 8 points)

21) Un contrôle nommé «txtCours» de type «TextBox» doit accepter un code alphanumérique représentant un sigle de cours formé de 3 caractères alphabétiques suivis de 4 caractères numériques. On désire exercer un contrôle sur les touches de clavier que peut presser l’utilisateur. Écrivez la procédure événementielle «txtCours_KeyPress» qui :

A) accepte tous les codes de contrôle (Tab, Recul, Échap, etc.) qui sont inférieurs à 32;

B) n'accepte que des lettres majuscules dans les 3 premiers caractères du texte et des chiffres dans les 4 derniers. De plus elle doit afficher un message pertinent si le caractère n'est pas accepté ;

(4)

C) n'accepte pas plus de 7 caractères.

Private Sub txtCours_KeyPress(ByVal sender As Object, _ ByVal e As System.Windows.Forms.KeyPressEventArgs) _ Handles txtCodeP.Cours

(5)

22) On suppose que dans le cadre du programme précédent, l'étudiant a fait un choix de cours dont la liste (sigle du cours) se trouve dans un tableau «TabloCours» et dont le nombre de cours sélectionnés est dans la variable «NbCours». On suppose aussi que les cours du tableau sont tous valides et donc apparaissent dans le ComboBox précédent (cours et nombre de crédits). Écrivez une fonction NombreDeCredits() sans paramètre qui analyse la liste des cours sélectionnés et, après consultation de la liste du combo, retourne le nombre total de crédits choisis par l'étudiant.

(6)

PARTIE - III Programmation 2 (2 questions: 48 points; 24/16/8 points)

23) Une base de données «MaBase.mdb» contient une table «Liste des cours» qui contient les champs «SigleCours» et «NbCredits» (entre autres) et produit les enregistrements en ordre croissant des sigles. Sur votre feuille de travail, vous avez déjà défini un contrôle

«OleDataCommand» nommé «MaListeComm» qui est déjà connecté avec cette table (vous n'avez donc pas à le faire).

A) (10 points) Écrivez la section du «Form_Load» qui placera dans un ComboBox «cboCours»

la liste des sigles de cours combiné au nombre de crédits sous forme d'une chaîne concaténée de format «Cours»/«Nb de crédits» (ex. "IFT1175/03").

Private Sub form_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _

Handles MyBase.Load

B) (6 points) Écrivez la procédure «txtCours_Validating» qui valide la valeur entrée dans le TextBox en s'assurant que le cours existe bel et bien dans le ComboBox et qui enverra au besoin un message approprié.

Private Sub txtCours_Validating( _ ByVal sender As Object, _

ByVal e As System.ComponentModel.CancelEventArgs) _ Handles txtCours.Validating

(7)

24) On désire créer un TextBox Spécial» disons de classe «CumulTexte» qui reprend les caractéristiques d'un TextBox avec, en plus, les propriétés et les méthodes suivantes.

- La propriété Lecture-seule «Archive» est une collection qui contient la liste de toutes les valeurs numériques déjà placées dans le contrôle.

- La méthode Add sans paramètre ajoute la valeur du contrôle dans la collection uniquement s'il s'agit d'une valeur numérique non négative (y compris 0) et envoie un message si ce n'est pas le cas.

- La propriété Lecture-seule «MaxArchive» retourne 0 ou bien la plus grande valeur de la collection.

- Si la valeur du TextBox est déjà présente dans la collection au moment de son placement dans celle-ci, l'événement «Doublon» est déclenché mais la valeur n'est pas placée dans la collection.

- La méthode «Vider» ... vide la collection

(8)

Reproduisez ci-dessous le contenu de la page de code de votre classe.

Public Class CumulTexte

Inherits System.Windows.Forms.TextBox

(9)

SIGNATURE : _________________________________

Références

Documents relatifs

• Le problème est: Calculer le factoriel d'un nombre entier donné en entrée.. • En entrée: Nous avons n nombre entiers qui sont plus grands ou égaux

Les meilleures notes sont attribuées aux candidats ayant manifesté toutes les qualités attendues pour entrer dans les écoles du concours : le cours est non

Cette classe (que vous n'avez pas à définir) comprend entre autres les propriétés entières NumMembre et NumParrain ainsi que la propriété Nom de type String. NumParrain est

Ce dernier voit en fait assez souvent un lien de cause à effet dans la simple occurrence simultanée de dettes, de violence et de souffrance humaines,

En effet, le fait que ces réserves soient cantonales – large- ment au-dessus de ce qui est nécessaire selon les dispositions légales en particulier dans les cantons de

The Nernst signal, which has not been measured in this compound so far, exhibits quite uncommon features and seems to be coupled to the antiferromagnetic phase, rather than to

8 Dans le même ordre d’idée, Jaravel (2018) documente que les innovations sur les produits, celles qui impliquent typiquement un taux de création destructrice à l’origine du

Autrement dit, au lieu de chercher à découvrir le secret de la valeur économique dans une substance spécifique, comme l’ont fait de très longue date les