Please enable JavaScript to access this page. Recherche :: Examens Fin Passage - Corrigés :: - Techniques de Développement Informatique
Showing posts with label Examens Fin Passage - Corrigés. Show all posts
Showing posts with label Examens Fin Passage - Corrigés. Show all posts

Correction de l'Examen de Passage - Théorie 2013

Correction de l'Examen de Passage - Théorie 2013 - TDI

Dossier 1  (13pts)
1. Il s’agit de vérifier les connaissances générales du stagiaire dans le domaine de l’informatique. Le correcteur saura apprécier la pertinence des réponses.    (2pts)
2.


Correction de l'Examen de Passage - Théorie 2013
Correction de l'Examen de Passage - Théorie 2013

    a. Représenter la fonction F sur une table de vérité. (1 ,5pt)


Correction de l'Examen de Passage - Théorie 2013
Correction de l'Examen de Passage - Théorie 2013

    b. Simplifier graphiquement la fonction F. (1,5pt)


Correction de l'Examen de Passage - Théorie 2013
Correction de l'Examen de Passage - Théorie 2013

Réunir les éléments de la première colonne et de la dernière colonne : ¯B. Puis réunir les éléments de la première ligne et de la dernière ligne :


Correction de l'Examen de Passage - Théorie 2013
Correction de l'Examen de Passage - Théorie 2013

3. Au parlement, il y a 300 représentants qui tentent de voter une loi. Un vote peut se traduire par l’un des trois cas suivants : Oui, Non et Abstention. Abstention signifie refus de participer au vote.
    a. Nombre de résultats coïncide avec le nombre d’applications d’un ensemble ayant 300 éléments (les votants) vers un ensemble de 3 éléments (Oui, Non, Abstention) puisque chaque votant choisira une de ces trois options. Donc le nombre de résultats est égal à 3300. (2pts)
    b. D’abord on va compter le nombre de cas favorables. Chaque fois que nous fixons un groupe de 120 représentants parmi les 300 votants qui vont choisir l’option « Oui », nous devrons choisir 120 autres représentants parmi les 180 (=300-120) restants qui vont choisir l’option « Non ». Nous avons donc fixé 240 (=120+120) représentants et donc il nous reste à choisir 60 représentants parmi les 60 (=300-240) restants qui vont « s’abstenir ».


Correction de l'Examen de Passage - Théorie 2013
Correction de l'Examen de Passage - Théorie 2013

Tous les cas sont équiprobables. Donc, la probabilité est égale au résultat de la division du nombre des cas favorables par le nombre des cas possibles. Donc le résultat cherché est : (2pts)


Correction de l'Examen de Passage - Théorie 2013
Correction de l'Examen de Passage - Théorie 2013

4. Convertir en octal et en décimal les nombres suivants : il est plus simple de passer de la base 16 à la base 2 et puis de cette dernière vers la base 8 :
    a. (1001,1)16 = (1 0000 0000 0001,0001 0000)2  = (001 000 000 000 001,000 100)2 = (10001,04)8. (2pt)
        (1001,1)16 = (1 * 163 + 1 * 160 + 1 * 16-1)10 = (4097,0625)10
    b. (1000)16 = (10000)8 : il suffit de soustraire un du résultat précédent. (2pts)
        (0,01)16 = (0,0000 0001)2  = (0,000 000 010)2 = (0,002)8
        Donc (1000,01)16 = (10000,002)8
        De même, (1000)16 = (4096)10
        (0,01)16 = 1 * 16-2 = (0,00390625)10
        (1000,01)16 = (4096, 00390625)10
Rappel : le stagiaire doit fournir plus de détails au niveau des calculs. Attribuez la note Zéro (0) si un résultat est fourni directement sans détails.

Dossier 2  (12pts)

Soon...

Dossier 3  (6pts)
a. MCD


Correction de l'Examen de Passage - Théorie 2013
Correction de l'Examen de Passage - Théorie 2013

b. MLD


Correction de l'Examen de Passage - Théorie 2013
Correction de l'Examen de Passage - Théorie 2013

Dossier 4  (9pts)
La solution proposée plus bas, vise surtout à montrer le caractère « récursif » de la méthode ToString.

class Personne
{
    public string Nom, Prenom;
    public Personne Père, Mère;
    public Personne(string Nom, string Prenom) {
      this.Nom = Nom;
      this.Prenom = Prenom;
     // Les deux instructions ci-dessous ne sont pas vraiment nécessaires :
      Pere = null;
      Mere = null;
    }
    public Personne(string Nom, string Prénom, Personne P, Personne M) {
      this.Nom = Nom;
      this.Prenom = Prenom;
      Pere = P;
      Mere = M;
    }
    public string NomComplet() { return Nom + "\t" + Prenom; }
    public override string ToString() {
      if (Pere != null)
       return Pere.ToString() +   Environment.NewLine + Pere.NomComplet();
      else
       return "";
    }
    public void affiche() {
      string ch=ToString();
      Console.WriteLine("Cette personne se nomme : " + NomComplet());
      if(ch!="") Console.WriteLine("Liste des ancêtres à partir du plus ancien :" + Environment.NewLine + "Nom\tPrénom" +  ch);
    }
}

Télécharger la correction de l'examen de passage - Théorie 2013 :
Soon ...
Lire la suite

Examens Passage 2013 - TDI - Ep Pratique - J3 - Variantes (7, 8, 9)

Examens Passage 2013 - TDI - Ep Pratique - J3 - Variantes (7, 8, 9)

Variante 1

Exercice 1 : Techniques de programmation : (16Pts)

La séquence de mots de Fibonacci Binaire (chaînes de bits représentés par le caractère ‘0’ ou ‘1’) est définie comme suit:
F(0)= ‘0’
F(1)= ‘1’
F(N)=F(N-1)+F(N-2)
Ici + représente la concaténation de chaînes. Les premiers éléments sont les suivants :

Examen de Passage Theorie 2013
Examen de Passage Theorie 2013

1- Ecrire une fonction en C qui reçoit comme paramètre une chaine de caractères S et retourne vrai si la chaine S est composée que des caractères ‘0’ ou ‘1’, retourne faux dans le cas contraire. (6pts)
2- Ecrire une fonction C qui reçoit comme paramètres  un entier N et une chaine de caractère S composée que des 0 et des 1 et qui retourne le nombre  de fois S se trouve dans F(N). (6pts)
3- Créer un programme principal qui saisit un entier N et une chaine S et affiche le nombre d’occurrence de S dans F(N). Le programme doit utiliser les deux fonctions précédentes. (4pts)

Exercice 2 : Programmation orientée objet :

On souhaite développer une application en C# qui permet de gérer la matière d’œuvre et le petit outillage utilisés et consommés par les groupes des stagiaires en formation lors de la réalisation de leurs travaux pratiques. Les articles sont soient de la matière d’œuvre (papier, stylo, câble, …) ou le petit outillage (pince, marteau, scie …) demandé par les formateurs pour la réalisation des Travaux Pratiques dans le cadre de la formation des stagiaires.
A- La classe Article est caractérisée par un code, une désignation, un prix unitaire d’achat et une quantité en stock. (12pts)
    1- Créer la classe virtuelle Article avec un constructeur sans paramètre et un constructeur avec paramètres. (2pts)
    2- Écrire les méthodes d’accès (accesseurs) pour toutes les propriétés de cette classe ainsi que la méthode toString() qui renvoie toutes les propriétés  séparées par un point-virgule. (2pts)
    3- Implémenter la méthode polymorphique  CalculerValue() qui calcule et affiche la valeur de l’article qui est le produit de la quantité en stock par le prix unitaire d’achat. (2pts)
    4- Créer la classe MyDate caractérisée par le jour, le mois et l’année de type entier avec un constructeur par défaut et d’initialisation et les accesseurs pour  les trois propriétés de la classe. (3pts)
    5- Gérer une exception pour cette classe (MyDate) au moment de l’initialisation de l’objet ou de sa modification de manière à excepter que des valeurs pour des dates valides. Seulement les dates supérieures à 01/01/1971 qui doivent être acceptées. (3pts)
B- La Classe MatiereOeuvre représente la famille d’articles consommés par les stagiaires lors de leur Travaux Pratiques qui sont caractérisés par une date de péremption. Cette classe hérite de la classe Article. (7pts)
    6- Implémenter la classe dérivée MatiereOeuvre en dotant cette classe par les constructeurs par défaut et d’initialisation. (3pts)
    7- Doter cette classe par les accesseurs et la méthode toString() ; (2pts)
    8- Surdéfinir la méthode CalculerValue() pour afficher la date de péremption de l’article. (2pts)
C- Afin de pouvoir gérer les consommations en matière d’œuvre des groupes en formation par établissement, une classe appelée PointConsommation regroupe toutes les consommations en matière d’œuvre sous forme de collection utilisées par un groupe en formation appartenant à un établissement donné durant une année de formation. (19pts)
    9- Créer la classe PointConsommation caractérisée par le nom d’établissement de formation, le nom du groupe de formation, l’année de formation et une liste des articles de type Matière d’ouvre consommés. La classe doit être implémentée avec un constructeur et les accesseurs. (3pts)
    10- Ajouter à cette classe la méthode AjouterMo permettant d’ajouter un objet de la classe MatiereOeuvre à la collection (3pts)
    11- Doter la classe PointConsommation par une méthode pour sauvegarder l’objet dans un fichier dont le chemin d’accès est passé comme argument. (5pts)
    12- Doter la classe PointConsommation par une méthode pour restaurer l’objet à partir d’un fichier dont le chemin d’accès est passé comme argument. (5pts)
    13- Créer une classe programme principal permettant d’instancier deux objets P1 et P2 de la classe  PointConsommation pour le groupe de formation «TDI»  de  «L’ISTA NTIC». Le code de la fonction principale doit saisir l’objet P1 et insérer dans la collection trois objets de la classe MatiereOeuvre à créer et enfin l’objet P1 doit être sérialisé dans un fichier externe. A la fin le code doit restaurer le contenu de ce fichier dans l’objet P2 et puis l’afficher sur écran pour vérification. (3pts)

Exercice 3 : Programmation Événementielle : (26pts)


Examen de Passage Theorie 2013
Examen de Passage Theorie 2013

1- Créer la feuille selon le modèle présenté ci-dessus. Ajouter le code qui permet sur clique du bouton d’option Petit Outillage de changer le texte de l’étiquette « Matière d’œuvre » en « Durée de Vie »  (3pts)
2- Créer le code qui permet sur clic du bouton Enregistrer de sauvegarder l’article dans le fichier binaire MatireOeuvre.dat ou dans le fichier binaire PetitOutillage.dat en fonction du bouton d’option choisi par l’utilisateur. L’article doit être enregistré sans écraser l’ancien contenu des fichiers.  (8pts)

Examen de Passage Theorie 2013
Examen de Passage Theorie 2013

Les Examens de Passage 2013 - TDI - Épreuve Pratique - Jour 3 - Variantes (7, 8, 9)

Variante2


Exercice 1 : Techniques de programmation :

Un Triplet d’entier (A,B,C) est dit carré de Pythagore si et seulement si A2 + B2 = C2
Exemple : 32 + 42 = 52
(3, 4, 5) est un Triplet de carré de Pythagore
1- Écrire une fonction qui reçoit comme paramètre trois entiers positifs (A,B,C) et retourne vrai si les trois entiers vérifient l’équation du carré de Pythagore, dans le cas contraire la fonction doit retourner faux. (6pts)
2- Écrire une procédure qui reçoit comme paramètre un entier N et qui affiche tous les Triplets (A,B,C) de Pythagore tels que A<=N, B<=N et C<=N. (6pts)
3-Créer un programme principal qui saisit un entier N et affiche tous les Triplets (A,B,C) de Pythagore vérifiant la condition A<=N, B<=N et C<=N. Le programme doit utiliser la fonction et la procédure précédentes. (4pts)

Exercice 2 : Programmation orientée objet :

Le but de cet exercice est de développer une application en C# ou Java qui permet de gérer les consommations des articles pendant les travaux pratiques réalisés par les groupes des stagiaires en formation. Les articles sont soient de la matière d’œuvre (papier, stylo, câble, …) ou le petit outillage (pince, marteau, scie …) demandés par les formateurs pour la réalisation des Travaux Pratiques dans le cadre de la formation des stagiaires.
A- La classe Article est caractérisée par un code, une désignation, un prix unitaire de vente et une quantité en stock.
    1- Créer la classe virtuelle Article avec un constructeur sans paramètre et un constructeur avec paramètres.  (2pts)
    2- Écrire les méthodes d’accès (accesseurs) pour toutes les propriétés de cette classe ainsi que la méthode toString() qui renvoie toutes les propriétés  séparées par un point-virgule. (2pts)
    3- Écrire la méthode Equal qui permet de tester l’égalité de l’objet courant avec l’objet passé comme paramètre de la même classe. Les deux objets ne sont égaux que s’ils ont les mêmes propriétés. (2pts)
    4- Implémenter la méthode polymorphique  CalculerValue() qui calcule et affiche la valeur de l’article qui est le produit de la quantité en stock par le prix unitaire d’achat. (2pts)
B- La Classe PetitOutillage représente la famille d’articles utilisés par les stagiaires lors de leur Travaux Pratiques qui sont caractérisés par une durée de vie (entier) et un numéro de série (chaine). Cette classe hérite de la classe Article.
    5- Implémenter la classe dérivée PetitOutillage en dotant cette classe par les constructeurs par défaut et d’initialisation. (2pts)
    6- Créer pour la classe les accesseurs et la méthode toString() ; (2pts)
    7- Surdéfinir la méthode polymorphique CalculerValue() pour afficher la durée de vie de l’article et la méthode Equal pour cette classe (2pts)
    8- Ajouter une exception pour la classe PetitOutillage de manière que le numéro de série possède le format suivant XX-XXXXXX-XXXXXX ou X représente un chiffre de 0 à 9. (4pts)
C- Les articles sont stockés dans un magasin. Chaque Magasin est caractérisé par un code, un libellé et la liste (collection) d’articles qui y sont stockés.
    9- Créer la classe Magasin avec un constructeur et les accesseurs. (2pts)
    10- Ajouter à cette classe la méthode AjouterArticle permettant d’ajouter un objet de la classe Article dans la collection. (4pts)
    11- Ajouter à cette classe la méthode SupprimerArticle qui permet de supprimer un article du Magasin connaissant son code. (5pts)
    12- Doter la classe Magasin par une méthode pour sauvegarder l’objet dans un fichier dont le chemin d’accès est passé comme argument. (5pts)
    13- Créer une classe programme principal permettant d’instancier trois articles P1, P2 et P3 de la classe PetitOutillage et un objet M1 de la classe Magasin. Vous devez insérer les trois objets P1, P2 et P3 dans la collection M1 et sérialiser  M1 dans un fichier externe. (4pts) 

Exercice 3 : Programmation Événementielle :

1- Créer la feuille selon le modèle présenté ci-dessous. Ajouter le code qui permet de remplir la liste code groupe sur chargement de la feuille à partir du fichier groupe.dat comportant les codes et les intitulés des groupes en formation. Sur sélection du code du groupe vous devez rechercher son intitulé et de l’afficher dans la zone correspondante. Idem pour la liste de sélection «Code Article».  (8pts)
2- Créer le code qui permet sur clique du bouton Enregistrer de sauvegarder la consommation dans le fichier binaire consommation.dat composée du code du groupe, code de l’article et l’année de formation. L’enregistrement doit être effectué sans écraser le contenu du fichier.  (6pts)

Examen de Passage Theorie 2013
Examen de Passage Theorie 2013

3- Créer le code qui permet  de remplir la liste des codes d’article à partir du fichier PetitOutillage.dat sur chargement de la feuille et sur choix du code d’un article dans la liste de le rechercher à partir du fichier et de l’afficher sur la feuille ci-dessous. (6pts)
4- Écrire le code qui permet de supprimer l’article sélectionné du fichier sur clic du bouton « supprimer » (6pts)

Examen de Passage Theorie 2013
Examen de Passage Theorie 2013

Examens Passage 2013 - TDI - Épreuve Pratique - Jour 3 - Variantes (7, 8, 9)

Variante 3


Exercice 1 : Techniques de programmation :

Les diviseurs propres d’un entier N sont tous les entiers autres que N qui le divisent.
Exemple les diviseurs propres de 10 sont 1, 2 et 5
Un Triplet d’entiers (A, B, C) est dit amiables si et seulement si la somme des diviseurs propres de l’un est égale à la somme des diviseurs propres des deux autres.
Exemple : Le Triplet (5, 8, 10) est un Triplet d’entier amiables, en effet :

Examen de Passage Theorie 2013
Examen de Passage Theorie 2013

1- Ecrire une fonction qui reçoit comme paramètre trois entiers positifs (A,B,C) et retourne vrai si les trois entiers forment un Triplet d’entiers Amiables, dans le cas contraire la fonction doit retourner faux. (6pts)
2- Ecrire une procédure qui reçoit comme paramètre un entier N et qui affiche tous les Triplets (A,B,C) d’entiers Amiables tels que A<=N, B<=N et C<=N. (6pts)
3- Créer un programme principal qui saisit un entier N et qui affiche tous les Triplets (A,B,C) d’entiers amiables vérifiant la condition A<=N, B<=N et C<=N. Le programme doit utiliser la fonction et la procédure précédentes. (4pts)

Exercice 2 : Programmation orientée objet :

Une grande entreprise de bâtiment et de génie civil souhaite automatiser la gestion de son parc auto. Les véhicules sont répartis en deux catégories : les véhicules destinés pour le transport du personnel et les engins destinés pour les chantiers (Camion, bulldozer, ..).
A- Chaque véhicule possède un numéro d’immatriculation, une marque, date de mise en service et le kilométrage parcouru.
    1- Créer la classe virtuelle Vehicule avec un constructeur sans paramètre et un constructeur avec paramètres.  (2pts)
    2- Écrire les méthodes d’accès (accesseurs) pour toutes les propriétés de cette classe ainsi que la méthode toString() qui renvoie toutes les propriétés  séparées par un point-virgule. (2pts)
    3- Écrire la méthode Equal qui permet de tester l’égalité de l’objet courant avec l’objet passé comme paramètre de la même classe. Les deux objets ne sont égaux que s’ils ont les mêmes propriétés. (2pts)
    4- Ajouter une exception pour la classe Vehicule de manière que numéro de série possède le format suivant XXXXX-XX-XX ou X représente un chiffre de 0 à 9. (4pts)
B- La Classe Engin représente les véhicules destinés pour les chantiers comme les camions les bulldozers …etc. Ces engins sont caractérisés par le chantier d’affectation (chaine) et le matricule du chauffeur chargé de leur conduite (entier). Cette classe hérite de la classe Véhicule.
    5- Implémenter la classe dérivée Engin en dotant cette classe par les constructeurs par défaut et d’initialisation. (2pts)
    6- Créer pour la classe les accesseurs et la méthode toString(); (2pts)
    7- Surdéfinir  la méthode Equal pour cette classe (2pts)
C- L’entreprise possède plusieurs sites répartis sur plusieurs régions. Chaque site gère son parc de véhicules et d’engins. La classe ParcVehicule est caractérisée par le code du site, son nom et la liste de véhicules gérés par le site.
    8- Créer la classe ParcVehicule avec un constructeur et les accesseurs. (3pts)
    9- Ajouter à cette classe la méthode InsererVehicule permettant d’ajouter un objet de la classe Vehicule dans la collection. (3pts)
    10- Ajouter à cette classe la méthode RechercherVehicule qui permet de rechercher un Véhicule du parc connaissant son code. (4pts)
    11- Doter la classe ParcVehicule par la méthode CalculKilometrage qui permet de calculer la somme du kilométrage de tous les véhicules et engins du parc. (3pts)
    12- Doter la classe ParcVehicule par une méthode pour sauvegarder l’objet dans un fichier dont le chemin d’accès est passé comme argument. (5pts)
    13- Créer une classe programme principal permettant d’instancier un objet P1 de la classe ParcVehicule et d’y insérer  trois objets V1, V2 et V3 de la classe Vehicule puis le sérialiser dans un fichier externe.  Enfin afficher le total du kilométrage des trois véhicules. (4pts)

Exercice 3 : Programmation Événementielle :

1- Créer la feuille selon le modèle présenté ci-dessus. Ajouter le code qui permet de :
    - Sur clic du bouton ”>” la valeur saisie dans la zone de texte N° Immatriculation doit être ajoutée à la liste ”Véhicules à supprimer”.
    - Sur clic du bouton ”<” la valeur sélectionnée dans la liste ”Véhicules à supprimer” doit être retirée de cette liste.
    - Sur clic du bouton ”<<” la liste ”Véhicules à supprimer” doit être vidée.
    - Sur clic du bouton la liste ”Véhicules à supprimer” doit être complétement vidée. (10pts)

Examen de Passage Theorie 2013
Examen de Passage Theorie 2013

2- Créer le code qui permet sur clique du bouton Supprimer de supprimer du fichier vehicules.txt tous les véhicules dont leur N° d’immatriculation figurent sur la liste ”Véhicules à supprimer”. Le fichier est en format texte composé des infos des véhicules séparées par des points virgules, véhicule par ligne :
            12540-12-7 ; Renault Megane ; 12/01/2005 ; 38450
            24876-96-7 ; Citroën C15 ; 02/04/2008 ; 45620
            45782-15-8 ; Renault Logane ; 04/08/2009 ; 40120
            24587-69-1 ; Citroën C15 ; 12/08/2007 ; 37850
            21478-25-1 ; Renault Logane ; 14/12/2006 ; 60820
            35416-14-4 ; Renault Logane ; 24/02/2004 ; 55780  (6pts)

Examen de Passage Theorie 2013
Examen de Passage Theorie 2013

3- Créer le code qui permet  de sur clic du bouton Rechercher de sélectionner à partir du fichier Vehicules.txt tous les véhicules qui sont de même Marque que la valeur saisie dans la zone de texte Marque. La 1ere occurrence trouvée doit être affichée à la feuille. (6pts)
4- Créer le code relatif aux boutons Précédent et Suivant qui permet de naviguer entre les occurrences trouvées. (4pts)
Télécharger Les Examens Passage 2013 - TDI - Ep Pratique - J3 - Variantes (7, 8, 9) :
en format .pdf sur le lien suivant :

Lire la suite

Les Examens de Passage - Pratique 2013 - Les Variantes (4, 5, 6)

Les Examens de Passage - Pratique 2013 - Les Variantes (3, 4, 6)

Variante 4 :

Partie 1 : Programmation Structurée : (20pts)

Exercice 1 : (6 points)
    Ecrivez une fonction qui calcul le nième terme de la suite suivante :
        U0 = 1 ; U1 = 1 ;   Un +1 = (Un  + (n+1))  /  Un-1
    Exploiter cette fonction dans un programme pour placer les dix premiers termes de la suite précédente dans un tableau.
Exercice 2 : (6 points)
    Soit T un tableau d’entiers. Ecrivez un sous-programme qui permet de créer un deuxième tableau S ou chaque case S[i] est la somme des éléments de T [0] à T[i]. Créer un programme de test.
Exemple :
Examen Passage Pratique Session 2013 Variante 4
Examen Passage Pratique Session 2013 Variante 4

Exercice 3 : (8 points)
a. Ecrire la fonction   int  EstFacteurGauche(chat * f, char *s) qui vérifie si le mot f est un facteur gauche de s.
    Par exemple « poly » est un facteur gauche de « polycopie ». Tester cette fonction dans un programme. (4points)
b. Ecrire la fonction   int EstFacteur(char *f, char *s)  qui vérifier si le mot f est un facteur de s.
    Par exemple « poly », « cop », « polycop » sont des facteurs de « polycopie ». Tester cette fonction dans un programme. (4points)

Partie 2 : Programmation Orientée Objet : (30 pts)

L’objet de cette application est la gestion informatisée d’une agence de location de voiture.
L’agence possède un parc de voiture, chaque voiture est caractérisée par un numéro de châssis, matricule, la marque, le carburant utilisé, nombre de chevaux, et la puissance fiscale.
1. Créer la classe voiture. Prévoir un constructeur sans paramètre et un constructeur qui reçoit tous les paramètres. Créer les méthodes d’accès (les get et les set) pour l’ensemble des propriétés. (2pts)
2. Le carburant ne peut prendre pour valeur que « essence » ou « diesel». Créer une exception ExpIllegalleCarburant qui sera déclenchée si on veut affecter à la propriété carburant une valeur autre que « essence » ou « diesel». (1,5pts)
3. Le numéro de matricule est composé de six chiffres au maximum suivies d’ espace, suivi d’une lettre majuscule suivi d’espace suivi de deux chiffres au maximum (exp 333333 A 11,  666 B 2). Créer une expression régulière qui permet de vérifier si le matricule d’une voiture respecte ce modèle dans ce cas on accepte la valeur sinon une exception ExpIllegalleMatricule (que vous devez créer) doit être déclenchée. (2pts)
4. Prévoir une méthode toString() pour afficher l’ensemble des propriétés d’une voiture. (0,5pt)
        Un client est identifié par son téléphone, adresse et adresse mail. Dans le cas d’un client particulier on ajoute CIN, nom et prénom. Pour le cas d’une entreprise on ajoute le numéro de registre de commerce.
5. Créer une classe abstraite client. Prévoir un constructeur sans paramètres, un autre qui reçoit tous les paramètres. Ajouter la méthode toString(). (2pt)
6. Créer les deux classes ClientParticulier et ClientEntreprise par héritage de la classe client. Ajouter toString() a ces deux classes. (1,5pts)
7. Créer une expression régulière pour vérifier que le champ AdresseMail vérifier le modèle d’une adresse mail  (exemple : aaaaaaa@bbbbb.ccc ). (1pt)
        Une location est effectuée par un client (particulier ou entreprise) elle concerne une voiture. Chaque location est identifiée par un numéro (un champ compteur qui s’incrémente automatiquement), le client ayant effectué la location, la voiture concernée, date début et  date fin de la location, le montant journalier de la location ainsi qu’un champ retour de type booléen qui prend true lorsque le client retourne la voiture auprès de l’agence de location, par défaut ce champ est initialisé a false.
8. Créer la classe location. Prévoir un constructeur sans paramètre et un autre avec tous les paramètres. Ajouter toString() (2pts)
9. Créer une exception qui sera déclenchée si la durée de la location ne dépasse pas une journée. (1,5pts)
10. Créer une méthode qui permet de calculer le montant d’une location. (2pts)
11. Créer une méthode qui permet de faire passer la valeur de champ retour à true lorsque la voiture est retournée par le client. (1pt)
        Pour gérer les locations on propose de créer  la classe EnsembleLocation qui contient une liste des locations L.
12. Créer la classe EnsembleLocation. (1pt)
13. Prévoir une méthode pour ajouter une location a la liste L, vérifié que la voiture est disponible pour la période demandée, sinon il faut refuser l’ajout. (3pts)
14. Créer une méthode qui permet d’ afficher, pour un client donné, les locations qu’il a effectuées, le montant de chaque location ainsi que le montant global. (3pts)
15. Créer une méthode qui permet de sérialiser dans un fichier les clients n’ayant pas encore retourné les voitures loues malgré que la date fin de location est expire. (3pts)
16. Créer le main de test prévoir une liste de 5 voitures, une liste de 3 clients, effectuer un ensemble de location. Vérifier le cas de la question 15. (3pts)

Partie 3 : Programmation Événementielle : (30pts)

Dans cette partie on va exploiter les classes de la partie II, on va créer une interface graphique pour l’application.
1. Créer une feuille MDI avec un menu qui contient un élément pour chacune des questions suivantes. (3pts)
2. Créer une feuille qui permet d’ajouter une voiture a la liste des voitures. (3pts)
3. Créer une feuille qui permet d’ajouter un client a la liste des clients. (3pts)
4. Créer une feuille qui permet d’effectuer une location. L’utilisateur effectuera les tâches suivantes : (8pts)
    a. Sélectionner le client dans une liste déroulante.
    b. Choisir date début de location et date fin de location.
    c. Le programme va remplir une liste des voitures disponibles pour la période choisie.
    d. Une fois la voiture est sélectionnée un bouton « confirmer » s’active  sur lequel on peut cliquer pour valider la location.
5. Créer une feuille contenant une dataGridView dans laquelle on peut charger le contenu de fichier de la question 15 de la partie II. (5pts)
6. Créer une interface pour effectuer des recherches multicritères sur des voitures en respectant le modèle suivant (8pts)
Examen de Passage Pratique Session 2013 Variante 4 - TDI
Examen de Passage Pratique Session 2013 Variante 4 - TDI

    L’utilisateur peut activer un ou plusieurs critères de recherches dans la zone « critères de recherche ». Une fois un critère activé sa zone de texte pour saisir la valeur ou la liste déroulante pour le cas de carburant doit être activé.
    Le contrôle dataGridView contient le résultat de recherche, ce résultat change chaque fois qu’on modifie la valeur d’un critère.


Les Examens de Passage - Pratique 2013 - Les Variantes (3, 4, 6)

Variante 5 :

Partie 1 : Programmation Structurée : (20pts)

Exercice 1 : (6 points)
    Ecrivez une fonction qui calcul le nième terme de la suite suivante :
        U0 = 1 ; U1 = 1 ;   Un +1 =  3*Un  -  2*Un-1
Exploiter cette fonction dans un programme pour placer les dix premiers termes de la suite précédente dans un tableau.
Exercice 2 : (8 points)
    Ecrire une fonction qui reçoit un tableau d’ entiers strictement positifs de taille n et vérifie que chaque élément sauf le premier est la somme d’un certain nombre d’éléments consécutifs de t qui le précèdent immédiatement.
Exemple :
Pour le tableau suivant :

Examen  Passage Pratique 2013 Variante 5 - Tech Dev Info


La fonction retourne 1 car.
3=3 ;   6 = 3 + 3 ;  9 = 6 + 3 ;  15 = 9 + 6 ; 36 = 15 + 9 + 6 + 3 + 3 ; 51 = 36 + 15 ; 51 = 51
Pour le tableau suivant :

Examen  Passage Pratique 2013 Variante 5 - TDI


La fonction retourne 0. La condition n’est pas vérifier pour 28.
28 ≠ 15 ;  28 ≠ 15 + 9 ;  28 ≠ (15 + 9 + 6 = 30)    >  28 on peut arrêter la vérification.
Exercice 3 : (6 points)
    Le javanais était une « langue » parlée, par certains jeunes qui voulaient utiliser un langage secret entre eux. Pour parler javanais on rajoute   « av » après une consonne lorsque elle est suivie d’une voyelle.
Exemple :
Le mot bonjour  devient  bavonjavour.
    Ecrire la fonction   void Javanais(char *m)   qui permet de traduire le mot m en javanais. Tester la fonction.

Partie 2 : Programmation Orientée Objet : (30pts)

L’objet de cette application est la gestion informatisée d’une bibliothèque universitaire qui emprunte des documents à des étudiants. Les Documents sont soit des livres, ou des Revues spécialisés (Médecine, Mathématiques, Informatiques, ….).
Chaque document est identifié par un numéro d’exemplaire et une date d’achat. En plus pour les livres on mémorise le numéro d’ISBN le nom de l’auteur, la maison d’édition, et le nombre de pages. Pour le cas d’une revue on mémorise le nom de la revue la spécialité et le numéro d’édition.
1. Créer la classe Abstraite « Document ». Prévoir un constructeur sans paramètres, un constructeur avec tous les paramètres, les méthodes d’ accès (les get et set ) ainsi que la méthode toString()  (2pts)
2. Créer les deux classes Livre et Revue par héritage de la classe document. Ajouter toString() a ces deux classes. (1,5pt)
3. Créer une nouvelle exception ExpIllegalleSpecialite qui sera déclenchée si on veut affecter à la propriété spécialité une valeur autre que Médecine, Mathématique ou  Informatique. (1pts)
4. L’ISBN est un numéro à 10 chiffres ou 13 chiffres. Créer une expression régulière qui permet de vérifier si L’ISBN d’un livre respecte ce modèle dans ce cas on accepte la valeur sinon une exception ExpIllegalleISBN (que vous devez créer) doit être déclenchée. (2pts)
        Un emprunteur est identifié par son CIN, téléphone, adresse, adresse mail. Dans le cas d’un étudiant on ajoute le niveau d’étude et spécialité étudier. Pour le cas d’un professeur on ajoute la spécialité enseignée.
5. Créer une classe abstraite emprunteur. Prévoir un constructeur sans paramètres, un autre qui reçoit tous les paramètres. Ajouter la méthode toString(). (2pt)
6. Créer les deux classes Etudiant et Professeur par héritage de la classe emprunteur. Ajouter toString() a ces deux classes. (1,5pts)
7. Créer une expression régulière pour vérifier que le champ CIN commence par une ou deux lettres majuscules suivie de six chiffres au maximum. (1pt)
        Un Emprunt est effectuée par un emprunteur (étudiant  ou professeur) il concerne un Document. Chaque emprunt est identifiée par un numéro (un champ compteur qui s’incrémente automatiquement), l’emprunteur, le document concerne, date début, date fin, un montant symbolique de 2Dh par jour pour le cas d’un étudiant et de 5Dh par jour pour le cas d’un professeur et un champ retour de type booléen qui prend true lorsque l’emprunteur retourne le document, par défaut ce champ est initialiser a false.
8. Créer la classe Emprunt. Prévoir un constructeur sans paramètre et un autre avec tous les paramètres. Ajouter toString(). (2 pts)
9. Créer une exception qui sera déclenchée si la durée de l’emprunt dépasse cinq jours pour le cas d’un livre. (1pts)
10. Créer une méthode qui permet de calculer le montant d’un emprunt. (2pts)
11. Créer une méthode qui permet de faire passer la valeur de champ retour à true lorsque le document est retourné par l’ emprunteur. (1pt)
        Pour gérer les emprunts on propose de créer  la classe EnsembleEmprunt qui contient une liste des emprunts L.
12. Créer la classe EnsembleEmprunt. (1pt)
13. Prévoir une méthode pour ajouter un emprunt a la liste L, vérifié que le document est disponible pour la période demandée, sinon il faut refuser l’ajout. (3pts)
14. Créer une méthode qui permet d’afficher, pour un emprunteur donné, les emprunts qu’il a effectués le montant de chaque emprunt ainsi que le montant global. (3pts)
15. Créer une méthode qui permet de sérialiser dans un fichier les emprunteurs n’ayant pas encore retourné les documents empruntés malgré que la date fin d’ emprunt est expire. (3pts)
16. Créer un main de test prévoir une liste de 8 documents, une liste de 3 emprunteurs, effectuer un ensemble d’emprunt. Vérifier le cas de la question 15. (3pts).

Partie 3 : Programmation Événementielle : (30pts)

Dans cette partie on va exploiter les classes de la partie II, on va créer une interface graphique pour l’application.
1. Créer une feuille MDI avec un menu qui contient un élément pour chacune des questions suivantes (3pts)
2. Créer une feuille qui permet d’ajouter un document a la liste des documents. (3pts)
3. Créer une feuille qui permet d’ajouter un emprunteur a la liste des emprunteurs. (3pts)
4. Créer une feuille qui permet d’effectuer un emprunt. L’utilisateur doit effectuer les tâches suivantes : (8pts)
    a. Sélectionner l’emprunteur dans une liste déroulante.
    b. Choisir date début et date fin de l’emprunt.
    c. Le programme va remplir une liste des documents disponible pour la période choisie.
    d. Une fois le document est sélectionné un bouton « confirmer » s’active  sur lequel on peut cliquer pour valider l’emprunt.
5. Créer une feuille contenant une dataGridView dans laquelle on peut charger le contenu de fichier de la question 15 de la partie II. (5pts)
6. Créer une interface pour effectuer des recherches multicritères sur des documents en respectant le modèle suivant  (8pts)
Pratique 2013 Examen Passage Variante 5 - TDI
Pratique 2013 Examen Passage Variante 5 - TDI

    L’utilisateur peut activer un ou plusieurs critères de recherches dans la zone « critères de recherche ». Une fois un critère activé sa zone de texte pour saisir la valeur ou la liste déroulante pour le cas de Spécialité doit être activé.
    Le contrôle dataGridView contient le résultat de recherche, ce résultat change chaque fois qu’on modifier la valeur d’un critère.


Les Examens de Passage - Pratique 2013 - Les Variantes (3, 4, 6)

Variante 6 :

Partie 1 : Programmation Structurée : (20pts)

Exercice 1 : (6 points)
    Ecrivez une fonction qui calcul le nième terme de la suite suivante :
        U0 = 1 ; U1 = 1 ;   Un +1 =  Un  + (Un-1)/n
    Exploiter cette fonction dans un programme pour placer les dix premiers termes de la suite précédente dans un tableau.

Exercice 2 : (6 points)   
    Ecrire une fonction qui remplace dans un tableau  chaque entier par la plus grande valeur qui le précède dans le tableau, si cette valeur existe. Si ce n’ est pas le cas, la nouvelle valeur sera la même que l’ancienne. Par exemple si la fonction reçoit le tableau suivant :
Pratique 2013 Examen Passage Variante 6 - TDI
Pratique 2013 Examen Passage Variante 6 - TDI

Exercice 3 : (8 points)
    Rot13 est une technique de cryptage dont le principe consiste à exercer une rotation de l’alphabet de 13 positions vers l’avant. Cette transformation ne concerne que les majuscules et minuscules non accentuées. Les lettres accentuées, les nombres et tous les autres signes demeurent inchangés.
Par exemple ‘a’ est transformé en ‘n’, ‘g’ en ‘t’,  ‘z’ en ‘m’  etc …
Une transformation similaire s’applique aux majuscules : ‘A’ en ‘N’ etc…
1. Ecrire la fonction    char *  Crypter(char  *s) qui permet de  retourner le résultat de cryptage de la chaine s selon le principe de Rot13. Tester cette fonction.
2. Ecrire la fonction   char *  Decrypter(char  *s) qui permet de décrypter un message s. Tester cette fonction.

Partie 2 : Programmation Orientée Objet : (30pts)

L’objet de cette application est la gestion informatisée d’une entreprise de location de matériels informatiques. La location concerne soit des Ordinateurs ou des imprimantes.
Chaque matériel est identifié par une référence, marque et une date d’achat. En plus pour les Ordinateurs on mémorise type de microprocesseur, capacité de disque dur, et la capacité de la RAM. Pour le cas d’une imprimante on mémorise la vitesse d’impression, technique d’impression utilise (jet d’encre, laser, …)
1. Créer la classe Abstraite « Materiel ». Prévoir un constructeur sans paramètres, un constructeur avec tous les paramètres, les méthodes d’accès (les get et set ) ainsi que la méthode toString(). (2pts)
2. Créer les deux classes Ordinateur et Imprimante par héritage de la classe Materiel . Ajouter toString() a ces deux classes. (1,5pt)
3. Créer une nouvelle exception ExpIllegalleMicroPro qui sera déclenchée si on veut affecter à la propriété microprocesseur une valeur autre que  i3, i5 ou i7. (1pts)
4. La référence d’un matériel contient deux lettres (PC : pour ordinateur et PR pour imprimante) suivi de huit chiffres. Créer une expression régulière qui permet de vérifier si la référence respecte ce modèle dans ce cas on accepte la valeur sinon une exception ExpIllegalleReference (que vous devez créer) doit être déclenchée. (2pts)
        Un organisme  qui loue le matériel informatique est identifié par son téléphone, adresse, adresse mail.
        Dans le cas d’un organisme à but non lucratif comme des écoles ou des associations on ajoute une propriété qui indique l’activité de l’organisme. Pour le cas d’une entreprise on ajoute le numéro de registre de commerce.
5. Créer une classe abstraite Organisme. Prévoir un constructeur sans paramètres, un autre qui reçoit tous les paramètres. Ajouter la méthode toString(). (2pt)
6. Créer les deux classes OrganismeNonLucratif et OrganismeEntreprise par héritage de la classe Organisme. Ajouter toString() a ces deux classes. (1,5pts)
7. Créer une expression régulière pour vérifier que le champ numero de regitre de commerce commence par une lettre majuscule suivie d’exactement neuf chiffres. (1pt)
        Une location est effectuée par un organisme elle concerne un matériel. Chaque location est identifiée par un numéro (un champ compteur qui s’incrémente automatiquement), l’organisme ayant effectué la location, le matériel concerne, date début, date fin, le montant de location par jour, et un champ retour de type booléen qui prend true lorsque l’organisme retourne la matériel, par défaut ce champ est initialiser a false.
8. Créer la classe location. Prévoir un constructeur sans paramètre et un autre avec tous les paramètres. Ajouter toString(). (2pts)
9. Créer une exception qui sera déclenchée si la durée de la location ne dépasse pas sept jours. (1pts)
10. Créer une méthode qui permet de calculer le montant d’une location. (2pts)
11. Créer une méthode qui permet de faire passer la valeur de champ retour à true lorsque le materiel est retournée par l’organisme. (1pt)
        Pour gérer les locations on propose de créer  la classe EnsembleLocation qui contient une liste des locations L.
12. Créer la classe EnsembleLocation. (1pt)
13. Prévoir une méthode pour ajouter une location a la liste L, vérifié que le matériel objet de la location est disponible pour la période demandée, sinon il faut refuser l’ajout. (3pts)
14. Créer une méthode qui permet d’afficher, pour un organisme donné, les locations qu’il a effectuées, le montant de chaque location ainsi que le montant global. (3pts)
15. Créer une méthode qui permet de sérialiser dans un fichier les organismes n’ayant pas encore retourné le matériel loues malgré que la date fin de location est expire. (3pts)
16. Créer un main de test prévoir une liste de 6 ordinateurs, 3 imprimantes une liste de 3 organismes, effectuer un ensemble de location. Vérifier le cas de la question 15. (3pts).

Partie 3 : Programmation Événementielle : (30pts)

Dans cette partie on va exploiter les classes de la partie II, on va créer une interface graphique pour l’application.
1. Créer une feuille MDI avec un menu qui contient un élément pour chacune des questions suivantes.(3pts)
2. Créer une feuille qui permet d’ajouter un matériel à la liste du matériel. (3pts)
3. Créer une feuille qui permet d’ajouter un organisme à la liste des organismes. (3 pts)
4. Créer une feuille qui permet d’effectuer une location. L’utilisateur effectuer les tâches suivantes : (8pts)
    a. Sélectionner l’organisme dans une liste déroulante.
    b. Choisir date début et date fin de la location.
    c. Le programme va remplir une liste du matériel disponible pour la période choisie.
    d. Une fois le matériel est sélectionné un bouton « confirmer » s’active  sur lequel on peut cliquer pour valider la location.
5. Créer une feuille contenant une dataGridView dans laquelle on peut charger le contenu de fichier de la question 15 de la partie II. (5pts)
6. Créer une interface pour effectuer des recherches multicritères sur du matériel en respectant le modèle suivant. (8pts)
Pratique 2013 Examen Passage Variante 5 - TDI
Pratique 2013 Examen Passage Variante 6 - TDI

Categories peut prendre soit ordinateur ou imprimante.
    L’utilisateur peut activer un ou plusieurs critères de recherches dans la zone « critères de recherche ». Une fois un critère activé sa zone de texte pour saisir la valeur ou la liste déroulante pour le cas de Categories doit être activé.
    Le contrôle dataGridView contient le résultat de recherche, ce résultat change chaque fois qu’on modifier la valeur d’un critère.
Télécharger Les Examens de Passage - Pratique 2013 - Les Variantes (4, 5, 6) :
en format .pdf sur le lien suivant :

Les Examens de Passage - Pratique 2013 - Les Variantes (4, 5, 6)
Lire la suite

Examens Passage 2013 Épreuve : Pratique Variantes 1-2-3

Examen Passage 2013 Épreuve : Pratique Variante 1

Dossier 1 : Programmations Structurée: (16 Pts)

On souhaite développer un programme de gestion des comptes bancaires, pour cela on vous demande d’écrire un programme dans un langage structuré qui permet de créer:

1. la structure suivante : (1pt)
struct ComptClient { int numCmpt, char nom[30] ; char prenom[30] ;  float solde ; }
2. la procédure SaisirCompt( struct ComptClient TabCompt[ ], int  n )  qui permet de remplir le tableau  de structure ComptClient «TabCompt » passé en paramètre. (4pts)
3. la procédure  TrierCompt( struct ComptClient TabCompt[ ], int  n )  qui permet de trier, le tableau de structure ComptClient «TabCompt » passé en paramètre, selon le solde du compte client. (4pts)
4. la procédure AfficherCompt( struct ComptClient TabCompt[ ], int  n ) qui permet d'afficher les comptes clients du tableau de structure ComptClient «TabCompt » passé en paramètre. (3 pts)
5. Le programme principal dans lequel on déclare un tableau ( struct ComptClient TabCompt[10] ; ) et on fait appel aux procédures SaisirCompt(TabCompt, 4) ; TrierCompt(TabCompt, 4) ;  AfficherCompt(TabCompt, 4);  (4pts)

Dossier 2 : Programmations Orientée Objet : (38Pts)

En 2012 l’OFPPT a signé un contrat de partenariat avec Microsoft, parmi les services intégrés dans cet accord figure l’instauration des centres des examens de certifications. Dans l’objectif de faire le suivi de ces centres il vous est demandé de développer une application orientée objet afin de satisfaire cet objectif.
NB : les classes seront définis dans une application console. 
1- Classe Etablissement : (6pts)
    a. Définir une classe Etablissement dont les caractéristiques sont : (1pt)
        codeEtablissement de type entier,
        désignationEtablissement de type chaine de caractère,
        nombreStagiaires de type entier.
    b. Écrire un constructeur avec tous les paramètres. (1pt)
    c. Écrire les accesseurs et modificateurs des champs. (1pt)
    d. Ajouter au modificateur précédent du champ nombreStagiaires, et au constructeur le test nécessaire pour  lever une exception lorsque le champ et inferieur ou égale à 0. Dans ce cas, un message adéquat doit être affiché. Il doit signaler que le nombre doit être strictement positif. (2pts)
    e. Écrire la méthode AfficherInformation( ) qui permet d’afficher les informations de l’objet concerné (1pt)
2- Classe Région : (5pts)
    a. Définir une classe Région dont les caractéristiques sont : (1pt)
        codeRégion  un champ de type entier
        désignationRégion de type chaine de caractère,
        nombreEtablissements de type entier,
        listEtablissement qui est une collection générique de type (classe) Etablissement et qui représente les établissements de la région concernée, ce champ est public.
    b. Écrire un constructeur avec tous les paramètres à l’exception de nombreEtablissements qui est initialisé à 0 et listEtablissement qu’on doit instancier à l’intérieur du constructeur. (1pt)
    c. Écrire les accesseurs et modificateurs de tous les  champs à l’exception du champ listEtablissement qui est public et le champ nombreEtablissements
Pour le champ nombreEtablissements, qui s’alimente automatiquement (voir la question suivante), on doit écrire que son accesseur (en lecture seul). (1pt)
    d. Écrire la méthode AjouterEtablissement( ) qui permet d’ajouter à la listEtablissement de l’objet concerné,  un objet Etablissement passé comme paramètre, et d’incrémenter le champ nombreEtablissements. (2pts)
3- Classe CentreExamen : (4pts)
    a. Définir une classe CentreExamen dont les caractéristiques sont :
        codeCentre de type entier,
        etablissementDuCentre qui est un champ public de type (classe) Etablissement. Il s'agit de l’établissement qui hébergé le centre d’examen concerné. (1pt)
    b. Écrire un constructeur avec tous les paramètres. (1pt)
    c. Écrire les accesseurs et modificateurs de tous les  champs à l’exception du champ etablissementDuCentre qui est public. (1pt)
    d. Écrire la méthode AfficherInformation( ) qui permet d’afficher les informations de l’objet concerné. (1pt)
4- Classe Prometric : (7pts)
    a. Définir une classe Prometric, qui hérite de la classe  précédente CentreExamen, et  qui possède les caractéristiques supplémentaires suivantes :
        nombreDePoste de type entier,
        administrateurPrometric ce champ est une chaine de caractère formée par la concaténation du nom et prénom de l’administrateur concerné, séparés par un tiret «-». (1pt)
    b. Écrire un constructeur avec tous les paramètres à l’exception de administrateurPrometric, et au lieu de passé ce champ comme paramètre on passe le nom et prénom de l’administrateur comme paramètres, on doit respecter la contrainte de la question précédente  (la concaténation du nom et prénom séparés par un tiret «-»). (2pts)
        NB : vous devez utiliser le constructeur de la classe mère
    c. Écrire les accesseurs et modificateurs des champs. (1pt)
    d. Ajouter au modificateur précédent du champ administrateurPrometric le test nécessaire pour  lever une exception lorsque la contrainte de la question «a» n’est pas respectée. Dans ce cas, un message adéquat doit être affiché. Il doit signaler que le nom et prénom doivent être séparés par un tiret «-». (2pts)
    e. Redéfinir la méthode AfficherInformation( ) de la classe mère qui permet d’afficher les informations de l’objet concerné. (1pt)
5- Programme principal: (16pts)
N.B. : vous aurez à sauvegarder et à récupérer, une liste de régions et une liste de centres prometric, dans et à partir de deux fichiers différents (sérialisations).
    a. Déclarer une collection  ListeRégion et une collection ListePrometric, accessibles par toutes les méthodes du programme principal, utiliser la collection ou table de votre choix. (1pt)
    b. Ajouter une méthode AfficherEtablissement() qui recherche, dans la collection ListeRégion, l’objet région passé comme paramètre et affiche tous ses établissements après avoir affiché le code et la désignation de la région, dans le cas où la région n’existe pas afficher un message d’erreur. Utiliser la méthode AfficherInformation() de la classe établissement. (3pts)
    c. Ajouter une méthode InformationPrometric()  qui recherche, dans la collection ListePrometric, un  objet prometric dont l’établissement est passé comme paramètre et qui affiche le nom et prénom de l’administrateur ainsi que le nombre de poste du centre prometric concerné, dans le cas où le centre n’existe pas afficher un message d’erreur. (3pts)
    d. Concevoir le menu suivant :
        1- Récupérer les données : il s’agit de remplir les 2 listes ListeRégion  et ListePrometric à partir des deux fichiers. (1,5pt)
        2- Ajouter une région à la ListeRégion. (1pt)
        3- Ajouter un centre prometric a la ListePrometric. (1pt)
        4- Ajouter un établissement à une région de la ListeRégion. (1pt)
        5- Sauvegarder les données : il s’agit d’enregistre les 2 listes dans les 2 fichiers (de sauvegarde). (1,5pt)
        6- Rechercher et afficher les établissement d’une région donnée, utiliser AfficherEtablissement() (1pts)
        7- Rechercher et afficher les informations du centre prometric d’un établissement donné, utiliser InformationPrometric() (1pts)
        8- Fin. (1pt)


Dossier 3 : Programmations Evénémentielle: (26Pts)

Après avoir développé les classes du dossier2 vous devez compléter ce travail par la réalisation d’une application de type Windows (programmation événementielle) qui contient un ensemble de formulaires pour la mise à jour et la consultation de différentes informations concernant le suivi des centres prométric.
a. Déclarer une collection  ListeRégion et une collection ListePrometric, dans le programme principale, faites le nécessaire pour qu’elles soient accessibles par tous les Formulaires de cet application, utiliser la collection ou table de votre choix. (1pts)
b. Créer une feuille MDI qui vous permet d’accéder aux autres formulaires de cette application en lui ajoutant un menu dont la dernière commande est « Quitter ». Un message de confirmation pour la fermeture de l’application s’affiche avant de quitter l’application (voulez-vous vraiment quitter cette application) dans le cas affirmatif les données des 2 listes seront automatiquement enregistrées dans les 2 fichiers de sauvegardes de la partie Dossier2. (4pts)
c. Au chargement de la feuille MDI, les 2 listes doivent être automatiquement remplies à partir des données des 2 fichiers de sauvegardes de la partie Dossier2. (2pts)
d. Concevoir un formulaire (interface et code) qui comportera toutes les étiquettes (les labels) et les zones de texte nécessaires pour la mise à jour et la consultation de la liste des centres prométric. Il contiendra aussi les boutons suivants : Nouveau, Ajouter, Modifier, Supprimer, les 4 boutons de navigation (suivant, précédent, début et fin), et Fermer.
    - Interface. (2pts)
    - Les 4 boutons de navigation. (2pts)
    - Les boutons Nouveau et Ajouter. L'ajout dans la ListePrometric sera effectué que si toutes les données sont remplies. (2pts)
    - Le bouton Modifier. La modification d'un ou plusieurs champs du centre prometric (2pts)
    - Le bouton Supprimer. Prévoir un message de confirmation. (2pts)
    - Le bouton Fermer. (0,5pt)
e. Ajouter un formulaire,  contenant une liste déroulante (ComboBox ou autre), les zones de texte(TextBox) et les étiquètes (Label) nécessaires,  et une grille (objet contenant des lignes et des colonnes avec une ligne d’entête) qui affiche la liste des établissements d’une région sélectionnée à partir de la liste déroulante.
Au chargement du formulaire la liste déroulante sera remplie automatiquement par les codes des régions à partir de la liste ListeRégion. Ensuite les informations de la région s’afficheront automatiquement dans les zones de texte précités et en fin les établissement de la région s’afficheront dans la grille.
    - Interface. (2pts)
    - Le remplissage du Combo Box. (2pts)  
    - Le remplissage des zones de texte. (2pts)  
    - Le remplissage de la grille  (2pts)
    - Le bouton Fermer. (0,5pt)

Examen Passage Épreuve : Pratique 2013 Variante 2


Dossier 1 : Programmations Structurée: (16Pts)

On souhaite développer un programme de gestion des notes stagiaires (Moyenne des notes), pour cela on vous demande d’écrire un programme dans un langage structuré qui permet de créer:
1. la structure suivante : (1pt)
struct MoyenneStagiaire { int matricule , char nom[30] ; char prenom[30] ;  float moyenne ; }
2. la procédure SaisirMoyenne( struct MoyenneStagiaire TabMoyen[ ], int  n )  qui permet de remplir le tableau «TabMoyen » passé en paramètre. (4pts)
3. la procédure  TrierMoyenne( struct MoyenneStagiaire TabMoyen[ ], int  n )  qui permet de trier, le tableau «TabMoyen » passé en paramètre, selon la moyenne du stagiaire  (4pts)
4. la procédure AfficherMoyenne( struct MoyenneStagiaire TabMoyen[ ], int  n ) qui permet d'afficher le tableau « TabMoyen » passé en paramètre. (3pts)
5. Le programme principal dans lequel on déclare un tableau (struct MoyenneStagiaire TabMoyen[10] ; ) et on fait appel aux procédures :  SaisirMoyenne(TabMoyen, 4) ; TrierMoyenne(TabMoyen, 4) ;  et  AfficherMoyenne(TabMoyen, 4) ;.(4pts)

Dossier 2 : Programmations Orientée Objet: (38Pts)

Après l’instauration des centres des examens de certifications au sein des établissements de la formation professionnelle, votre région souhaite informatisée le suivi des examens de certification (MCP et MOS) elle vous a demandé de développer une application orientée objet afin de satisfaire cet objectif.

NB : les classes seront définis dans une application console.
1- Classe Efp : Etablissement de Formation Professionnelle. (4  pts)
    a. Définir une classe Efp dont les caractéristiques sont : (1pt)
        codEfp de type entier. Il s'agit du code d’un établissement
        désEfp de type chaine de caractère. Il s'agit de la désignation  d’un établissement
        nbStag de type entier.  Il s'agit du nombre des stagiaires d’un établissement
    b. Écrire un constructeur avec tous les paramètres. (1pt)
    c. Écrire les accesseurs et modificateurs des champs. (1pt)
    d. Écrire la méthode InformationEfp( ) qui permet d’afficher les informations, séparées par des tabulation, de l’objet concerné. (1pt)
2- Classe SuiviStat : Le suivi des statistiques des certifications. (7pts)
    a. Définir une classe SuiviStat dont les caractéristiques sont : (1pt)
       codExam de type chaine de caractère. Il s'agit du code d’un examen de certification
        nbrMcp de type entier. Il s'agit du nombre des examens MCP passés par les stagiaires d’un établissement.
        etabOrg qui est un champ public de type (classe) Efp. Il s'agit de l’établissement d’origine des stagiaires qui ont passé l’examen MCP.
    b. Écrire un constructeur avec tous les paramètres. (1pt)
    c. Écrire les accesseurs et modificateurs des champs à l’exception du champ etabOrg qui est public. (1pt)
    d. Ajouter aux modificateurs précédents des champs nbrMcp et codExam, et au constructeur :
       le test nécessaire pour  lever une exception lorsque le champ et inferieur strictement à 0. Dans ce cas, un message adéquat doit être affiché. Il doit signaler que le nombre doit être  positif ou nul.
        le test nécessaire pour  lever une exception lorsque le champ codExam ne respecte pas le format suivant  (le code doit commencer par 73-  suivi de 3 chiffres : exemple 73-640 ou   73-433). Dans ce cas, un message adéquat doit être affiché. Il doit signaler que le code ne respecte pas la norme. (3pts)
Remarque : utiliser les fonctions prédéfinis de string
    e. Écrire la méthode AfficherLeSuivi( ) qui permet d’afficher les informations, séparées par des espaces, de l’objet concerné. (1pt)
3- Classe CentreExamen : (4pts)
    a. Définir une classe CentreExamen dont les caractéristiques sont : (1pt)
        codCentre de type entier. Il s'agit du code du centre d’examen
        etabCentre qui est un champ public de type (classe) Efp. Il s'agit de l’établissement qui hébergé le centre d’examen concerné.
        listEtabAservi qui est une collection générique de type (classe) Efp et qui représente les établissements de la région qui sont affectés à ce centre pour passer les examens de certification, ce champ est public.
    b. Écrire un constructeur avec tous les paramètres. (1pt)
    c. Écrire les accesseurs et modificateurs de tous les  champs à l’exception du champ etabCentre qui est public. (1pt)
    d. Écrire la méthode Afficher( ) qui permet d’afficher les informations de l’objet concerné. (1pt)
4- Classe Prometric : (7pts)
    a. Définir une classe Prometric, qui hérite de la classe  précédente CentreExamen, et  qui possède les caractéristiques supplémentaires suivantes : (1pt)
        nbMcpEffectif de type entier initialisé à 0. Il s'agit du nombre des certifications MCP passé réellement dans le centre concerné.
        nbMcpPrévu de type entier  initialisé à 10. Il s'agit du nombre des certifications MCP prévue annuellement dans le centre concerné.
        listSuiviStat qui est une collection générique de type (classe) SuiviStat et qui représente les statistiques par établissement du centre concerné, ce champ est public.
    b. Écrire un constructeur avec tous les paramètres à l’exception de listSuiviStat cette collection doit être  instanciée à l’intérieur du constructeur en lui ajoutant l’établissement du centre (etabCentre). (1pt)
        NB : vous devez utiliser le constructeur de la classe mère
    c. Écrire les accesseurs et modificateurs des champs à l’exception de listSuiviStat qui est public. (1pt)
    d. Ajouter aux modificateurs précédents des champs nbMcpPrévu et nbMcpEffectif  et au constructeur le test nécessaire pour  lever une exception lorsque nbMcpEffectif  est supérieur au nbMcpPrévu. Dans ce cas, un message adéquat doit être affiché. Il doit signaler que le nombre des examens MCP effectif doit être inferieur ou égale au nombre des examens MCP prévu. (2pts)
    e. Créer la méthode AjouterStat() qui permet d’ajouter un objet SuiviStat passé comme paramètre au centre prométric concerné. (1pt)
    f. Redéfinir la méthode Afficher( ) de la classe mère qui permet d’afficher les informations de l’objet concerné. (1pt)
5- Programme principal: (16pts)
    N.B. : vous aurez à sauvegarder et à récupérer, une liste des établissements et une liste de centres prometric, dans et à partir de deux fichiers différents (sérialisations).
    a. Déclarer une collection  ListeEtablissement et une collection ListePrometric, accessibles par toutes les méthodes du programme principal, utiliser la collection ou table de votre choix. (1pt)
    b. Ajouter une méthode EtablissementAservi() qui recherche, dans la collection ListePrometric, l’objet prometric dont l’établissement du centre est passé comme paramètre et affiche tous les établissements affectés à ce centre prometric après avoir affiché le code  centre et l’établissement d’origine, dans le cas où le centre prometric  n’existe pas afficher un message d’erreur. Utiliser les méthodes des classes déjà définies. (2pts)
    c. Ajouter une méthode Etablissement()  qui affiche pour un établissement passé comme paramètre : le code, la désignation, le nombre des stagiaires , le code d’examen et le nombre des examens MCP concerné. (2pts)
Remarque : pour chaque objet établissement  dans ListeEtablissement vous devez chercher le code examen et le nombre des examens MCP dans ListePrometric
    d. Concevoir le menu suivant :
        1- Récupérer les données : il s’agit de remplir les 2 listes ListeEtablissement  et ListePrometric à partir des deux fichiers. (2pts)
        2- Ajouter un établissement à ListeEtablissement. (1pt)
        3- Ajouter un centre prometric à ListePrometric. (1 pt)
        4- Sauvegarder les données : il s’agit d’enregistrer les 2 listes dans les 2 fichiers (de sauvegarde). (2pts)
        5- Rechercher et afficher les établissements affectés à un centre prometric d’un établissement donné, utiliser EtablissementAservi(). (2pts)
        6- Afficher les informations des établissements : il s’agit d’afficher le code, la désignation, le nombre des stagiaires, le code d’examen et le nombre des examens MCP d’un établissement donné, utiliser Etablissement() (2pts)
        7- Fin. (1pt)

Dossier 3 : Programmations Événementielle: (26Pts)

Après avoir développé les classes du dossier2 vous devez compléter ce travail par la réalisation d’une application de type Windows (programmation événementielle) qui contient un ensemble de formulaires pour la mise à jour et la consultation de différentes informations concernant le suivi des examens de certification.
a. Déclarer une collection  ListeEtablissement et une collection ListePrometric, dans le programme principale, faites le nécessaire pour qu’elles soient accessibles par tous les Formulaires de cet application, utiliser la collection ou table de votre choix. (1pt)
b. Créer une feuille MDI qui vous permet d’accéder aux autres formulaires de cette application en lui ajoutant un menu dont la dernière commande est « Quitter ». Un message de confirmation pour la fermeture de l’application s’affiche avant de quitter l’application (voulez-vous vraiment quitter cette application) dans le cas affirmatif les données des 2 listes seront automatiquement enregistrées dans les 2 fichiers de sauvegardes de la partie Dossier2. (4pts)
c. Au chargement de la feuille MDI, les 2 listes doivent être automatiquement remplies à partir des données des 2 fichiers de sauvegardes de la partie Dossier2. (2pts)
d. Concevoir un formulaire (interface et code) qui comportera toutes les étiquettes (les labels) et les zones de texte nécessaires pour la mise à jour et la consultation de la liste des centres prometric (on ne tient pas compte de listSuiviStat).
Ce formulaire contiendra aussi les boutons suivants : Nouveau, Ajouter, Modifier, Supprimer, les 4 boutons de navigation (suivant, précédent, début et fin), et Fermer.
    - Interface. (2pts)
    - Les 4 boutons de navigation. (2pts)  
    - Les boutons Nouveau et Ajouter. L'ajout dans la ListeEtablissement sera effectué que si toutes les données sont remplies. (1,5pts)
    - Le bouton Modifier. La modification d'un ou plusieurs champs de l’établissement (2pts)
    - Le bouton Supprimer. Prévoir un message de confirmation. (1,5pts)
    - Le bouton Fermer. (1pt)
e. Ajouter un formulaire,  contenant une liste déroulante (ComboBox ou autre), les zones de texte(TextBox) et les étiquètes (Label) nécessaires, et une grille (objet contenant des lignes et des colonnes avec une ligne d’entête) qui affiche la liste des établissements affecter à un centre prometric donné ce dernier est identifié par son établissement (voir classe Prometric) sélectionnée à partir de la liste déroulante.
Au chargement du formulaire la liste déroulante sera remplie automatiquement par les codes des établissements de votre région à partir de la liste ListeEtablissement. les informations (codEfp et désEfp) de l’établissement choisi s’afficheront automatiquement dans les zones de texte précités ainsi que le codCentre nbMcpEffectif nbMcpPrévu ensuite les établissements affectés au centre prometric (l’établissement sélectionné) s’afficheront dans la grille à partir de ListePrometric (on n’affichera pas les objets SuiviStat de listSuiviStat du centre prométric).
    - Interface. (2pts)
    - Le remplissage du Combo Box. (2pts)  
    - Le remplissage des zones de texte. (2pts)  
    - Le remplissage de la grille. (2pts)
    - Le bouton Fermer. (1pt)

Examen de Passage Pratique 2013 Variante 3


Dossier 1 : Programmations Structurée: (16Pts)

On souhaite développer un programme de gestion des salaires du personnel de lOfppt, pour cela on vous demande d’écrire un programme dans un langage structuré qui permet de créer:
1. la structure suivante : (1pt)
struct SalairePerso { int matricule , char nom[30] ; char prenom[30] ;  float salaire ; }
2. la procédure SaisirSalaire( struct SalairePerso TabSalaire [ ], int  n )  qui permet de remplir le tableau «TabSalaire » passé en paramètre. (4pts)
3. la procédure  TrierSalaire ( struct SalairePerso TabSalaire [ ], int  n )  qui permet de trier, le tableau «TabSalaire » passé en paramètre, selon le salaire du personnel. (4pts)
4. la procédure AfficherSalaire ( struct SalairePerso TabSalaire [ ], int  n ) qui permet d'afficher le tableau « TabSalaire » passé en paramètre. (3pts)
5. Le programme principal dans lequel on déclare un tableau (struct SalairePerso TabSalaire [10] ; ) et on fait appel aux procédures :  SaisirSalaire (TabSalaire, 4) ; TrierSalaire (TabSalaire, 4) ;  et  AfficherSalaire (TabMoyen, 4) ; (4pts)

Dossier 2 : Programmations Orientée Objet: (38Pts)

2013 est l’année de démarrage des certifications Microsoft, et afin de prendre des décisions pertinentes et de mieux préparer les stagiaires, concernant ces examens pour l’année 2014, votre établissement souhaite informatiser le suivi des scores des stagiaires pour les examens de certification (MCP et MOS). Il  vous est demandé de développer une application orientée objet pour satisfaire cet objectif.

NB : les classes seront définis dans une application console.
1- Classe Statistique : Statistiques  permettant de faire le suivi des scores de certifications. (6pts)
    a. Définir une classe Statistique dont les caractéristiques sont : (1pt)
        codExm de type chaine de caractère. Il s'agit du code d’un examen de certification
        datExm de type date. Il s'agit de la date dont laquelle un stagiaires de votre établissement a  passé l’examen concerné.
        scorExm de type entier. Il s'agit du score qu’un stagiaire de votre établissement a eu pour cet examen de certification.
    b. Écrire un constructeur avec tous les paramètres. (1pt)
    c. Écrire les accesseurs et modificateurs des champs. (1pt)
    d. Ajouter aux modificateurs précédents des champs scorExm et codExam, et au constructeur :
        le test nécessaire pour  lever une exception lorsque le champ scorExm et supérieur à 1000. Dans ce cas, un message adéquat doit être affiché. Il doit signaler que le score doit être inférieur à 1000.
        le test nécessaire pour  lever une exception lorsque le champ codExam ne respecte pas le format suivant  (le code doit commencer par 73-  suivi de 3 chiffres : exemple 73-640 ou   73-433). Dans ce cas, un message adéquat doit être affiché. Il doit signaler que le code ne respecte pas la norme. (2pts)
Remarque : utiliser les fonctions prédéfinis de string
    e. Écrire la méthode AfficherStatistique( ) qui permet d’afficher les informations, séparées par des espaces, de l’objet concerné. (1pt)
2- Classe Stagiaire : Stagiaire de votre établissement. (8pts)
    a. Définir une classe Stagiaire dont les caractéristiques sont : (1pt)
        matStag de type entier. Il s'agit du matricule d’un stagiaire de votre établissement
        nomPrenStag de type chaine de caractère.  Il s'agit de la concaténation du nom et prénom du stagiaire concerné, séparés par le caractère «_».
        listStat qui est une collection générique de type (classe) Statistique et qui représente les statistiques des scores réalisés par le stagiaire concerné, ce champ est public.
    b. Écrire un constructeur avec tous les paramètres à l’exception de : (2pts)
        nomPrenStag, et au lieu de passé ce champ comme paramètre on passe le nom et prénom du stagiaire comme paramètres, on doit respecter la contrainte de la question précédente  (nomPrenStag est la concaténation du nom et prénom séparés par un tiret «_»).
        listStat qu’on doit instancier à l’intérieur du constructeur
    c. Écrire les accesseurs et modificateurs des champs à l’exception de listStat qui est public. (1pt)
    d. Ajouter au modificateur précédent du champ nomPrenStag le test nécessaire pour  lever une exception lorsque la contrainte de la question «a» (nomPrenStag est la concaténation du nom et prénom séparés par un tiret «_»)  n’est pas respectée. Dans ce cas, un message adéquat doit être affiché. Il doit signaler que le nom et prénom doivent être séparés par un tiret «_». (2pts)
    e. Créer la méthode AjouterStat() qui permet d’ajouter un objet Statistique passé comme paramètre au stagiaire concerné. (1pt)
    f. Écrire la méthode AfficherStag( ) qui permet d’afficher les informations, séparées par des tabulation, de l’objet concerné. (1pt)
3- Classe Examen : (4pts)
    a. Définir une classe Examen dont les caractéristiques sont : (1pt)
        codExm de type chaine de caractère. Il s'agit du code du centre d’examen
        intituExm de type chaine de caractère.  Il s'agit de l’intitulé de l’examen concerné.
    b. Écrire un constructeur avec tous les paramètres. (1pt)
    c. Écrire les accesseurs et modificateurs de tous les  champs. (1pt)
    d. Écrire la méthode Afficher( ) qui permet d’afficher les informations de l’objet concerné. (1pt)
4- Classe Mcp : certification professionnelle de Microsoft (Microsoft Certified Professional). (5pts)
    a. Définir une classe Mcp, qui hérite de la classe  précédente Examen, et  qui possède les caractéristiques supplémentaires suivantes : (1pt)
        nbQuest de type entier. Il s'agit du nombre de questions contenues dans l’examen de certification concerné.
        dtSortbatri de type date. Il s'agit de la date de sorti de la pile (batterie) de l’examen de certification concerné.
    b. Écrire un constructeur avec tous les paramètres. (1pt)
        NB : vous devez utiliser le constructeur de la classe mère
    c. Écrire les accesseurs et modificateurs des champs. (1pt)
    d. Ajouter aux modificateurs précédents du champ dtSortbatri et au constructeur le test nécessaire pour  lever une exception lorsque dtSortbatri est inférieur à l’année courante (année système). Dans ce cas, un message adéquat doit être affiché. Il doit signaler que la date de la pile doit être de cette année. (1pt)
    e. Redéfinir la méthode Afficher( ) de la classe mère qui permet d’afficher les informations de l’objet concerné. (1pt)
5- Programme principal: (15pts)
    N.B. : vous aurez à sauvegarder et à récupérer, une liste des établissements et une liste de centres prometric, dans et à partir de deux fichiers différents (sérialisations).
    a. Déclarer une collection  ListeStagiaires et une collection ListeMcp, accessibles par toutes les méthodes du programme principal, utiliser la collection ou table de votre choix. (0,5pt)
    b. Ajouter une méthode StatistiqueStag() qui recherche, dans la collection ListeStagiaires, l’objet stagiaire dont le matricule est passé comme paramètre, et affiche le nom et prénom du stagiaire ainsi que le code examen, l’intitulé d’examen, date examen et le score pour tous les examens que ce stagiaire     a passé, dans le cas où le matricule  n’existe pas afficher un message d’erreur.
Remarque : l’intitulé d’examen se trouve dans ListeMcp. (2pts)
    c. Ajouter une méthode MeilleurScore()  qui affiche les information du stagiaire qui a le score le plus élevé. (2pts)
    d. Concevoir le menu suivant :
        1- Récupérer les données : il s’agit de remplir les 2 listes ListeStagiaires  et ListeMcp à partir des deux fichiers. (2pts)
        2- Ajouter un stagiaire à ListeStagiaires. (1pt)
        3- Ajouter un  objet Statistique à ListeStat d’un stagiaire se trouvant dans ListeStagiaires. (1pt)
        4- Ajouter un objet Mcp à  ListeMcp. (0,5pt)
        5- Sauvegarder les données : il s’agit d’enregistrer les 2 listes dans les 2 fichiers (de sauvegarde). (2pts)
        6- Rechercher et afficher les statistiques des stagiaires de ListeStagiaires. Utiliser la méthode  StatistiqueStag(). (2pts)
        7- Afficher les informations du stagiaire qui a le meilleur score. Utiliser la méthode  MeilleurScore(). (1pt)
        8- Fin. (1pt)

Dossier 3 : Programmations Evénémentielle: (26Pts)

Après avoir développé les classes du dossier2 vous devez compléter ce travail par la réalisation d’une application de type Windows (programmation événementielle) qui contient un ensemble de formulaires pour la mise à jour et la consultation de différentes informations concernant le suivi des scores des stagiaires.
a. Déclarer une collection  ListeStagiaire et une collection ListeMcp, dans le programme principale, faites le nécessaire pour qu’elles soient accessibles par tous les Formulaires de cet application, utiliser la collection ou table de votre choix. (1pt)
b. Créer une feuille MDI qui vous permet d’accéder aux autres formulaires de cette application en lui ajoutant un menu dont la dernière commande est « Quitter ». Un message de confirmation pour la fermeture de l’application s’affiche avant de quitter l’application (voulez-vous vraiment quitter cette application) dans le cas affirmatif les données des 2 listes seront automatiquement enregistrées dans les 2 fichiers de sauvegardes de la partie Dossier2. (3,5pts)
c. Au chargement de la feuille MDI, les 2 listes ListeStagiaire et ListeMcp doivent être automatiquement remplies à partir des données des 2 fichiers de sauvegardes de la partie Dossier2. (2pts)
d. Concevoir un formulaire (interface et code) qui comportera toutes les étiquettes (les labels) et les zones de texte nécessaires pour la mise à jour et la consultation de la liste des stagiaires ListeStagiaire.
Ce formulaire contiendra aussi les boutons suivants : Nouveau, Ajouter, Modifier, Supprimer, les 4 boutons de navigation (suivant, précédent, début et fin), et Fermer.
Vous pouvez isoler la partie (zones de texte, labels et boutons) concernant les statistiques du stagiaire dans un groupe box. (1pt)
    - Interface. (2pts)
    - Les 4 boutons de navigation. (2pts)
    - Les boutons Nouveau et Ajouter. L'ajout dans la ListeStagiaire sera effectué que si toutes les données sont remplies. (2pts)
    - Le bouton Modifier. La modification d'un ou plusieurs champs du stagiaire. (2pts)
    - Le bouton Supprimer. Prévoir un message de confirmation. (1,5pts)
    - Le bouton Fermer. (0,5pt)
e. Ajouter un formulaire,  contenant une liste déroulante (ComboBox ou autre), les zones de texte (TextBox) et les étiquètes (Label) nécessaires, et une grille (objet contenant des lignes et des colonnes avec une ligne d’entête) qui affiche la liste des scores d’un stagiaire sélectionné à partir de la liste déroulante.
Au chargement du formulaire la liste déroulante sera remplie automatiquement par les matricules des stagiaires de votre établissement à partir de la liste ListeStagiaires. Les informations (nom et prénom) du stagiaire choisi s’afficheront automatiquement dans les zones de texte précités ensuite les informations (code examen, date examen et score), du stagiaire sélectionné, s’afficheront dans la grille à partir de listStat du stagiaire concerné.
    - Interface. (2pts)
    - Le remplissage du Combo Box. (2pts)
    - Le remplissage des zones de texte. (2pts)
    - Le remplissage de la grille. (2pts)
    - Le bouton Fermer. (0,5pt)

Télécharger Les Examens Passage 2013 Épreuve : Pratique Variantes 1-2-3 :
en format .pdf sur le lien suivant :

Examens Passage 2013 Épreuve : Pratique Variantes 1-2-3
Lire la suite
Retrouvez-nous sur Facebook
×Facebook Mouad Ouisse