10 juin 2012

Examen Passage - TDI - Pratique 2012 - Variante 9

 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.

Aucun commentaire:

Enregistrer un commentaire