TDI Passage PR 2010 V4
TDI Passage PR 2010 V4
TDI Passage PR 2010 V4
OfficedelaFormationProfessionnelle
etdelaPromotionduTravail
SessionJuin2010
Filire:TDI
Epreuve:Pratique
Niveau:TechnicienSpcialis
Dure:4h30 Barme:20Pts
Important : assurez-vous que tous les lments de vos projets sont sauvegards dans un
dossier portant votre nom et prnom et le numro de la variante de lexamen comme
suit "NOM_PRENOM_Variante".
Variante n 4
1. Ecrire un programme qui permet de comparer et de calculer la somme de deux nombres. Pour
ce faire ce menu doit tre affich. (1 Pt)
Entrez le nombre correspondant votre choix
1. Comparer deux entiers
2. Somme de deux entiers
3. Quitter
2. On modlise un nombre entier de la base octale par un tableau dentiers de dimension 10.
Chaque lment du tableau contient un chiffre de 0 7. Le chiffre du poids faible occupera la
case dindice 9 du tableau. (2 Pts)
Exemple : 3406 0 0 0 0 0 0 3 4 0 6
Le nombre est saisi en entrant successivement les chiffres du poids plus faible au poids plus
fort, on marque la fin par un chiffre qui nest pas compris entre 0 et 7.
Dans notre commerce, chaque produit est caractris par son nom, son prix d'achat, son prix de
vente, le nombre d'exemplaires en stock, et sa description.
A la cration du produit, on fixe son nom, son prix d'achat et son prix de vente, c'est--dire que ces
donnes son fournies en argument au constructeur de la classe. Par dfaut, la description du produit
est Pas de description , et la quantit de produits en stock est nulle.
La classe Produit dispose d'un certain nombre de mthodes, qui lui permettent d'afficher la
description du produit, de l'diter, d'augmenter ou de diminuer le nombre d'exemplaires en stock,
ainsi que d'obtenir les valeurs des diffrents attributs.
Un magasin se caractrise par son solde et par son stock de produits. Le stock de produit est
reprsent par un tableau ou un vecteur d'objets Produit .
Avant de pouvoir acheter ou vendre un produit, il faut l'avoir ajout dans le stock. Pour cela, la
classe Magasin doit disposer d'une mthode AjouterProduit
L'indice de la case du tableau (ou du vecteur) dans laquelle on a stock le produit devient alors la
rfrence de ce produit. Pour acheter ou vendre ce produit, on utilise alors la rfrence comme
argument des mthodes:
La classe Magasin dispose galement des mthodes habituelles d'accs ses attributs, et d'une
mthode Bilan qui permet d'afficher un bilan du magasin.
Jusque l, les produits disposent d'une description qui est une simple chaine de caractre. Cela Peut
tre insuffisant dans certains cas.
Par exemple, on aimerait avoir une classe Livre qui ait le mme comportement que la classe Produit,
mais qui dispose d'un attribut auteur et d'un attribut diteur.
De mme, un cd se caractrise par son auteur, son interprte, et l'ensemble des titres de ses pistes.
Ecrivez la classe Livre qui hrite de la classe Produit. Certaines mthodes doivent tre surcharges
(c'est--dire rcrites) (1 Pt)
Il va maintenant falloir faire les modifications ncessaires dans la classe Magasin, mais elles sont
minimes. En effet, Livre tant une sous classe de Produit, les objets de type Livre sont galement de
type Produit, donc le tableau (ou le vecteur) de produits peut galement contenir des livres ou des
cds.
C'est la cration des objets que les choses changent. En plus de la mthode ajouterProduit, la
classe Magasin doit galement contenir une mthode ajouterLivre et une mthode ajouterCd.
Modifier la classe Magasin pour tenir compte des nouveaux objets. (1.5 Pts)
2/3
Pour utiliser pleinement votre classe Magasin, vous avez maintenant besoin, d'une mthode
d'interaction permettant de proposer l'utilisateur d'ajouter un livre, un cd ou un produit standard,
d'acheter, de vendre, d'obtenir ou d'diter la description d'un produit dj existant, d'afficher un
bilan gnral.
Dans l'exercice prcdent, pour acheter, vendre, diter ou afficher la description d'un produit
existant, il fallait le spcifier par sa rfrence, c'est--dire par son indice dans le tableau. Ce n'est
pas un moyen trs pratique d'aller chercher les produits, surtout si il y en a un trs grand
nombre.
Pour crire ces mthodes, nous allons avoir besoin d'un outil capable de comparer deux chaines
de caractres, et d'un outil capable de dire si une chaine est incluse dans une autre. C'est la
classe String elle-mme qui est capable de faire cela. En effet, String est une classe part
entire qui a ses attributs et ses mthodes.
3/3