EP - Examens Passage - TDI - Pratique 2012 - V7-V8-V9


EP - Examen Passage - TDI - Pratique 2012 - Variante 7

Dossier 1 : (4,5 pts)
1. Calcul du coût d’un trajet : (1pt)
Ecrire un programme qui permet de calculer le coût engendré, pour un transporteur, par un voyage.
Le programme devrait permettre de saisir la distance du trajet et le coût au Km, puis calcule le montant correspondant, auquel il faut ajouter un montant forfaitaire de frais divers (indépendant du kilométrage), pour calculer le coût globale engendré par le voyage.
2. Somme des termes d’une suite :
Soit la suite définie par :
      U1=a
      U2=b et 
      Un=Un-1+Un-2  (pour n>2)
avec a et b deux nombres réels.
a. Ecrire une fonction qui retourne, le nième terme de cette suite ;  (0,5pt)
b. Ecrire une fonction qui calcule la somme des termes, de cette suite, inférieurs ou égaux à un entier donné ;  (0,5pt)
c. Ecrire une programme qui utilise cette fonction, pour calculer la somme des entiers impairs, inférieurs ou égaux à un entier donné.  (0,5pt)
3. Calculs sur les dates :
      a. Ecrire une fonction qui retourne le nombre de jours d’un mois donné.  (0,5pt)
(On rappelle que :
            Les mois de janvier, mars, mai, juillet, août et décembre font 31 jours ;
            Les mois d’avril, juin, octobre et novembre font 30 jours ;
            et le mois février fait 29 jours pour les années bissextiles (divisibles par 4) ; et 28 jours pour les autres.
      b. Ecrire une fonction qui permet de vérifier si une année, donnée en paramètre est bissextile ou non. La fonction retournera une valeur logique : vrai si l’année est bissextile et faux sinon.
(On rappelle qu’une année est bissextile, si elle est divisible par 4, sans être un multiple de 100, sauf si elle est un multiple de 400).
Exemples :
            2011 n’est pas bissextile, car elle n’est pas divisible pas 4 ;
            2012 est bissextile, car elle est divisible par 4, et ne l’est pas par 100 ;
            2000 est bissextile car elle est divisible par 4, et même si elle est divisible par 100, elle l’est aussi par 400).  (0,5pt)
      c. Ecrire une fonction qui admet en paramètre une date, sous forme d’un jour, d’un mois et d’une année, et qui retourne une valeur logique indiquant si la date est valide (valeur vrai), ou erronée (valeur faux).  (0,5pt)
      d. Ecrire un programme qui permet à l’utilisateur d’entrer une date, vérifie si elle est valide ; et si c’est le cas, calcule et affiche le nombre de jours écoulés depuis le début de cette année. (0,5pt)

Dossier 2 : (10 pts)
On voudrait réaliser une application orientée objet,  pour la gestion des inscriptions d’entrée dans les établissements de formation professionnelle.
Dans cette partie,  on s’intéressera essentiellement au dépôt, du dossier de candidature.
Comme vous l’aviez vous-même vécu, vous aviez rempli, sur le dossier de candidature, vos informations personnelles, des données sur votre scolarité; puis aviez effectué des choix concernant le niveau et la filière (spécialités).
Il vous est demandé d’implémenter :
1. Une classe « Niveau », représentant les niveaux de formation offerts (Technicien Spécialisé (TS), Technicien (T), Qualification (Q), Formation (F)).
      a. Créer la classe. 
      b. Ajouter à cette classe les attributs :
            numNiv (entier), pour le numéro du niveau ;
            intitNiv (chaine), pour son intitulé ;
      c. Ajouter les accesseurs, ou méthodes propriétés pour ces attributs ;
      d. Ajouter les constructeurs ; 
      e. Ajouter une méthode toString, qui retourne une forme affichable, d’une instance de « Niveau ». 
2. Une classe « Filière », représentant les spécialités de formation offertes :  (2pts)
      a. Créer la classe ; 
      b. Ajouter à cette classe les attributs :
            codeFil (entier), pour le numéro de filière ;
            intitFil (chaine), pour son intitulé ;
      c. Ajouter les accesseurs, ou méthodes propriétés pour ces attributs ; 
      d. Ajouter les constructeurs ;
      e. Aouter une méthode toString, qui retourne une forme affichable, d’une instance de « Filière ». 
3. Une classe « Candidat » :  (3pts)
      a. Créer la classe ; 
      b. Ajouter à cette classe les attributs : 
            cne (entier), pour le code national de l’étudiant ;
            nom (chaine) ;
            prenon (chaine) ;
            dateNaiss (date) ;
            sexe (M/F) ;
            nivScolaire (chaine de caractère) ;
      c. Ajouter les accesseurs, ou méthodes propriétés pour ces attributs ; 
      d. Ajouter les constructeurs ; 
      e. Aouter une méthode toString, qui retourne une forme affichable, d’une instance de « Candidat ». 
4.  Une classe « Inscription » :  (3pts)
      a. Créer la classe ;
      b. Ajouter à cette classe les attributs :  
            numDossier (entier), numéro du dossier de candidature ;
            dateInscription (date) ;
            candidat (instance de la classe « Candidat ») ;
            niveau (instance de la classe « Niveau ») ;
            filieres(tableau de 3 instances de la classe « Filiere ») ;
      c. Ajouter les accesseurs, ou méthodes propriétés pour ces attributs ; 
      d. Ajouter les constructeurs ; 
      e. Aouter une méthode toString, qui retourne une forme affichable, d’une instance de « Inscription ». 

Dossier 3 : (5,5 pts)
Dans cette partie, on vous demande de réaliser une interface graphique, pour la gestion des dossiers de candidature, qui seront stockés dans un premier temps dans une collection.


EP - Examens Passage - TDI - Pratique 2012 - V7-V8-V9
EP - Examens Passage - TDI - Pratique 2012 - V7-V8-V9


1. Réaliser cette interface. (1,5pt)
2. Déclarer une collection d’instance de la classe « Dossier », implémentée dans le dossier 2. (0,25pt)
3. Ecrire le code du bouton « Nouveau », qui permet d’initialiser, la fenêtre pour la saisie d’une nouvelle candidature. La Date sera affectée de la date système. (0,25pt)
4. Ecrire le code du bouton « Enregistrer » qui permet d’instancier une candidature, et de l’ajouter à la collection. (0,75pt)
5. Ecrire le code du bouton « Supprimer », qui supprime la candidature en cours d’affichage de la collection. (0,75pt)
6. Ecrire le code du bouton « Rechercher », qui permet, après avoir choisi un ou plusieurs critères de recherche et saisi les champs relatifs dans le formulaire, d’effectuer la recherche de la candidature qui correspond à ces critères et de l’afficher ; ou le cas échéant d’afficher un message indiquant qu’aucun candidat ne correspond à cette recherche et rétablit l’écran à son état précédent. (1pt)
7. Ajouter le code des boutons de déplacement (|< premier, <  précédent,  > suivant et >| dernier), qui affichent le dossier correspondant. (1pt)

EP - Examen Passage - TDI - Pratique 2012 - Variante 8

Dossier 1 : (4,5 pts)
1. Calcul facture pompiste : (1pt)
Ecrire un programme qui permet de calculer le montant de payement dans une station essence.
Les carburants disponibles sont : l’ "essence super", qui coute 10,50 dh/litre, le "diesel normal", qui vaut 7,45 dh/litre ; et le "diesel 350", à 9,30 dh/litre.
Le programme devrait permettre de saisir le type de carburant et la quantité, en nombre de litres, puis calcule et affiche le montant correspondant.
2. Suite numérique :
On considère la suite numérique définie par :
             S1=1
             S2=2  et 
             Sn=Sn-1 x Sn-2  (pour n>2)
      a. Ecrire une fonction qui retourne, le nième terme de cette suite ; (0,5pt)
      b. Ecrire un programme qui calcule et affiche les termes, de cette suite, inférieurs ou égaux à un entier entré par l’utilisateur ; ainsi que leur somme. (1pt)
3. Calcul sur le temps :
      a. Ecrire une fonction qui admet en paramètre une durée, sous forme d’un nombre d’heures, de minutes et de secondes, et retourne une valeur logique indiquant  si elle est valide (valeur vrai), ou erronée (valeur faux).  (0,5pt)
      b. Ecrire une fonction qui converti un nombre quelconque de secondes en minutes et secondes (le nombre de secondes restant en plus des minutes).  (0,5pt)
      c. Ecrire une fonction qui converti un nombre minutes en heures et minutes (le nombre de minutes restant en plus des heures).  (0,5pt)
      d. Ecrire un programme qui permet de calculer la somme de deux durées, exprimées en heures, minutes et secondes. Le programme vérifie si les données sont valables ; autrement, il demandera de les corriger.   (0,5pt)

Dossier 2 : (5,5 pts)
On voudrait réaliser une application orientée objet,  pour la gestion d’un tour de cyclisme. On s’intéressera spécialement à l’enregistrement des temps réalisés par les coureurs, durant les étapes.
Les cycliste sont, d’autre part, organisés en équipes.
Il vous est demandé d’implémenter :
1. Classe « Etape » : (1,5pt)
      a. Créer la classe 
      b. Ajouter à cette classe les attributs : 
            et_num (entier), comme numéro d’étape ;
            et_distance (entier), distance sur parcours de l’étape en Km ;
            et_villeD (chaine), ville de départ ;
            et_villeA (chaine), ville d’arrivé ;
            et_type (1 - Etape de pleine, 2 - Etape de montagne, 3 - Etape contre la montre) ;
      c. Ajouter les accesseurs, ou méthodes propriétés pour ces attributs ; 
      d. Ajouter les constructeurs ; 
      e. Aouter une méthode toString, qui retourne une forme affichable, d’une instance de « Etape ». 
2. Classe générique « Equipe » : (1,5pt)
      a. Créer la classe ;  
      b. Ajouter à cette classe les attributs :  
            aq_num (entier), numéro attribué à chaque équipe.
            eq_nom (chaine) ;
      c. Ajouter les accesseurs, ou méthodes propriétés pour ces attributs ; 
      d. Ajouter les constructeurs ; 
      e. Aouter une méthode toString, qui retourne une forme affichable, d’une instance de « Equipe ». 
3. Classe « Cycliste » : (2,5pts)
      a. Créer la classe ;  
      b. Ajouter à cette classe les attributs :  
            c_num (entier), numéro d’un cycliste participant à la course ;
            c_nom (chaine) ;
            c_prenom (chaine) ;
            c_nationnalite (chaine) ;
            c_age (entier) ;
            c_chrono (temps en format mm-ss) ;
            c_equipe (instance de la classe « Equipe ») ;
            c. Ajouter les accesseurs, ou méthodes propriétés pour ces attributs ; 
            d. Ajouter les constructeurs ; 
            e. Aouter une méthode toString, qui retourne une forme affichable, d’une instance de « Cycliste ». 

Dossier 3 : (10 pts)
Dans cette partie, on vous demande de réaliser une interface graphique, pour la gestion des étapes d’une course cycliste, qui seront stockées dans un premier temps dans une collection.


EP - Examens Passage - TDI - Pratique 2012 - V7-V8-V9
EP - Examens Passage - TDI - Pratique 2012 - V7-V8-V9


1. Réaliser cette interface. (2pts)
2. Déclarer une collection d’instance de la classe « Etape », implémentée dans le dossier 2. (0,5pt)
3. Ecrire le code du bouton « Ajouter » qui permet d’instancier une candidature, et de l’ajouter à la collection.  (1pt)
4. Ecrire le code du bouton « Modifier » qui permet de reporter le contenu des contrôles sur les attributs de l’instance en cours, de la collection. (1pt)
5. Ecrire le code du bouton « Supprimer », qui supprime l’étape en cours d’affichage de la collection.  (1pt)
6. Ecrire le code du bouton « Rechercher », qui doit afficher un deuxième formulaire, pour entrer les critères et valeurs de recherche, et d’effectuer après validation,  la recherche. Autrement, d’afficher un message indiquant qu’aucun résultat n’a été trouvé pour cette recherche  et rétablit l’écran à son état précédent. (1,5pt)
7. Ajouter le code des boutons de déplacement, "Prem." (premier), "Prec" (précèdent),  "Suiv." (suivant) et "Der." (dernier), qui affichent l’« Etape » correspondante.  (1pt)
8. Lors du défilement entre étapes, on voudrait afficher, au milieu de boutons de déplacement, le rang de l’étape en cours, sur le nombre total d’étapes. Ecrire le code nécessaire pour réaliser cet affichage : (1pt)


EP - Examens Passage - TDI - Pratique 2012 - V7-V8-V9
EP - Examens Passage - TDI - Pratique 2012 - V7-V8-V9


9. Modifier ce formulaire, en lui ajoutant un contrôle approprié pour présenter le type de l’étape ; et le code en conséquences. Enregistrer ce deuxième formulaire sous un autre nom. (1pt)
                                                                                                                                                        

EP - Examen Passage - TDI - Pratique 2012 - Variante 9

Dossier 1 : (4,5 pts)
1. Calcul facture pompiste :  (1pt)
Ecrire un programme qui permet de calculer la  quantité de carburant achetée dans une station essence.
Les carburants disponibles sont : L’ "essence super", qui coute 11,35 dh/litre, le "diesel normal", qui vaut 7,42 dh/litre ; et le "diesel 350", à 10,1 dh/litre.
Le programme devrait permettre de saisir le type de carburant et du montant de payement, puis calcule et affiche la quantité de carburant correspondante.
2. Suite numérique :
On considère la suite numérique définie par :
             U1=1
             U2=2  et 
             Un=2(Un-1 + Un-2)  (pour n>2)
      a. Ecrire une fonction qui retourne, le nième terme de cette suite ;  (0,5pt)
      b. Ecrire un programme qui calcule et affiche les termes, de cette suite, inférieurs ou égaux à un entier entré par l’utilisateur ; ainsi que leur somme.  (1pt)
3. Calcul sur les distances :
Dans un atelier de menuiserie, on manipule des planchés dont les dimensions sont exprimées en mètres (m), centimètre (cm) et millimètres (mm).
      a. Ecrire une fonction qui admet en paramètre une distance, sous forme d’un nombre de mètres, centimètre et de millimètres, et retourne une valeur logique indiquant si elle est valide (valeur vrai), ou erronée (valeur faux).  (0,5pt)
      b. Ecrire une fonction qui converti un nombre quelconque de millimètres en centimètres et millimètres (le nombre de millimètres restant en plus du nombre entier de centimètres).  (0,5pt)
      c. Ecrire une fonction qui converti un nombre quelconque de centimètres en mètres et centimètres (le nombre de centimètres restant en plus d’un nombre entier de mètres).  (0,5pt)
      d. Ecrire un programme qui permet de calculer la somme de deux distances, exprimées en mètres (m), centimètre (cm) et millimètres. Le programme vérifie si les données sont valables ; autrement, il demandera de les corriger.   (0,5pt)

Dossier 2 : (6,5 pts)
On voudrait réaliser une application orientée objet,  pour la gestion, simplifiée d’une agence bancaire.
Dans cette agence les clients peuvent disposer de comptes bancaires, qui sont soit des « comptes courants » ou des « comptes sur carnet ». Dans les deux cas les clients pourront effectuer des « dépôts » ou des « retraits ». Enfin un client est pris en charge par un employé, de cette agence, qui est ainsi son interlocuteur et conseillé.
Il vous est demandé d’implémenter :
1. Une classe « Client », pour modéliser un client de cette agence : (1,25pt)
      a. Créer la classe. 
      b. Ajouter à cette classe les attributs :
            numCli (entier), pour le numéro du client ;
            nomCli (chaine), pour le nom du client ;
            prenomCli (chaine), pour le prénom du client ;
            AdrsCli (chaine), pour l’adresse du client ;
      c. Ajouter les accesseurs, ou méthodes propriétés pour ces attributs ;
      d. Ajouter les constructeurs ; 
      e. Ajouter une méthode toString, qui retourne une forme affichable, d’un client. 
2. Une classe abstraite « Compte », pour modéliser un compte créé au niveau de l’agence : (1,25pt)
      a. Créer la classe. 
      b. Ajouter à cette classe les attributs :
            numCompte (entier), pour le numéro du compte ;
            dateCompte (date), pour la date d’ouverture du compte ;
            soldeCompte(réel), pour le montant du solde du compte ;
            propCompte (instance de la classe « Client »), pour représenter le client propriétaire de ce compte)
      c. Ajouter les accesseurs, ou méthodes propriétés pour ces attributs ;
      d. Ajouter les constructeurs ; 
      e. Ajouter une méthode toString, qui retourne une forme affichable, d’un compte. 
      f. Ajouter une méthode « depot », qui permet d’ajouter un montant, au solde d’un compte.
      g. Ajouter une méthode « retrait », qui permet d’enlever un montant, du solde d’un compte.
3. Une classe « CompteCourant », pour modéliser un compte courant, par héritage de la classe « Compte » : (2pts)
      a. Créer la classe. 
      b. Ajouter à cette classe l’attribut :
            decouvert (réel), pour le montant du découvert accordé à ce compte, soit le montant maximum à retirer dans un compte débiteur (négatif) ;
      c. Ajouter les accesseurs, ou méthodes propriétés pour cet attribut ;
      d. Ajouter les constructeurs ; 
      e. Ajouter une méthode toString, qui retourne une forme affichable, d’une instance de « compteCourant ». 
      f. Réécrire la méthode « retrait », en prenant compte du découvert, et empêcher de faire un retrait au-delà de cette limite.
4. Une classe « CompteCarnet », pour modéliser un compte sur carnet, par héritage de la classe « Compte » : (2pts)
      a. Créer la classe. 
      b. Ajouter à cette classe l’attribut :
tauxInteret (réel), pour exprimer, sous forme d’un pourcentage, le taux d’intérêt attribué annuellement à ce compte.
      c. Ajouter les accesseurs, ou méthodes propriétés pour cet attribut ;
      d. Ajouter les constructeurs ; 
      e. Ajouter une méthode toString, qui retourne une forme affichable, d’une instance de « CompteCarnet ».
      f. Réécrire la méthode « retrait », le solde d’un compte sur carnet, ne pouvant être négatif.

Dossier 3 : (9 pts)
Dans cette partie, on vous demande de réaliser une interface graphique, pour le suivi des comptes de cette agence.


EP - Examens Passage - TDI - Pratique 2012 - V7-V8-V9
EP - Examens Passage - TDI - Pratique 2012 - V7-V8-V9


Suivant le type du compte, l’un des deux boutons radio sera activé.
Si le compte est de type « compte courant », la fenêtre présente le découvert accordé à ce compte ; et une mention « Créditeur » est ajoutée devant le solde s’il est positif, ou « Débiteur » s’il est positif négatif.
Si le compte est de type « compte sur carnet », la fenêtre présente le taux d’intérêt qui lui est accordé (au lieu de découvert accordé, qui est caché) ; et la mention (Créditeur/Débiteur) n’ayant plus lieu d’être est aussi cachée.
Le formulaire se présenterait, dans ce deuxième cas, plutôt ainsi :


EP - Examens Passage - TDI - Pratique 2012 - V7-V8-V9
EP - Examens Passage - TDI - Pratique 2012 - V7-V8-V9


1. Réaliser cette interface. (2pts)
2. Déclarer une collection d’instance de la classe « Compte », implémentée dans le dossier 2. (0,5pt)
3. Ecrire le code du bouton « Ajouter » qui permet d’instancier un compte, et de l’ajouter à la collection.  (1pt)
4. Ecrire le code du bouton « Modifier » qui permet de reporter le contenu des contrôles sur les attributs de l’instance en cours, dans la collection. (1pt)
5. Ecrire le code du bouton « Supprimer », qui supprime le compte en cours d’affichage de la collection.  (1pt)
6. Ecrire le code du bouton « Rechercher », qui doit afficher un deuxième formulaire, pour entrer les critères et valeurs de recherche, et d’effectuer après validation, la recherche. Autrement, d’afficher un message indiquant qu’aucun résultat n’a été trouvé pour cette recherche et rétablit l’écran à son état précédent ; (1,5pt)
7. Ajouter le code des boutons de déplacement, "Prem." (premier), "Prec." (précèdent),  "Suiv." (suivant) et "Dern." (dernier), qui affichent le « compte » correspondant ;  (1pt)
8. Lors du défilement entre comptes,  on voudrait afficher, au milieu de boutons de déplacement, l’indice du compte en cours sur le nombre total des comptes de la collection. Ecrire le code nécessaire pour réaliser cet affichage : (1pt)


EP - Examens Passage - TDI - Pratique 2012 - V7-V8-V9
EP - Examens Passage - TDI - Pratique 2012 - V7-V8-V9



Télécharger Les EP - Examens Passage - TDI - Pratique 2012 - V7-V8-V9 :
en format .pdf sur le lien suivant :

EP - Examens Passage - TDI - Pratique 2012 - V7-V8-V9


No comments:

Post a Comment

Retrouvez-nous sur Facebook
×Facebook Les Filières Informatiques