Beruflich Dokumente
Kultur Dokumente
--3,Jr
jl t3o1r'ri-*Jt,i t 5;5,
office de la Formation Professionnelle et de la Promotion du Travail
1010n00
. Exercice 2: (6 pts)
Ecrire une fonction "est tri|" permettant de vrifier si un tableau de relles T de taille N
(passs en argument de cette fonction) est trie ou non. La fonction
doit renvoyer I'un des trois
messages: <<tr croissant>>, <<tr dcroissant )) ou ( non tri >. Faites upp"i
a cette fonction
dans un algorithme donnant le droit l'utilisateur de rempli un tableau
avec N valeurs.
Filire Epreuve
TDI Svnthse VI
Sesson
l/7
Juillet 2011
Exemple:
Ecrire une procdure "cerf volantQ" permefiant de dessiner un cerf-volant dont la taille N est
passe en paramtre de la procdure. Faites appel cette procdure dans un algorithme donnant
le droit I'utilisatew de saisir la taille du dessin qui doit tre paire.
Exemple:
/l\
/t\
/ | \
ft\
I
\I/
\t/
\t/
Une grande socit de fabrication de produits informatiques souhaite raliser un site web, permettant
de
prsenter ses produits la clientle. La socit a plusieurs filiales installes dans plus
d'une cinquantaine
de pays travers le monde, rparties sur 8 zones gographiques: Amrique du nord, Amriqe
latine,
E*9,p:' Afrique, Moyen-Orient, Asie, Extrme-Orient et Auitralie. Dans sa politique commrciale, la
socit propose pour chaque pays un ensemble de produits s'adaptant au pouvoir d'ahat des
citoyens du
pays.
L'interface du site web permet de rediriger automatiquement un internaute sw la page de son pays pogr
avoir accs la liste des produits disponibles dans son pays. Les produits quant ux sont rpertries
sous plusieurs catgories (par exemple: Ordinateurs, 1mprimanies,...). On choisissant la atgorie
"Ordinateurs" par exemple, l'intress sera appel choisir entre "Postes de travail", "Ordinateurs
portables",.... Par contre, il y a des catgories comme "scanners" o I'utilisateur
se voit d1ectement
devant la liste de produits sans avoir passer par un deuxime choix.
La socit donne aux clients de certains pays le droit d'effectuer des achats directement partir du site.
Pour effectuer un achat, le client doit s'enregistrer dans le site en fournissant son nom et prnom,
son
adresse, sa ville ( partir d'une liste droulante), son code postal (gnr automatiquement
aprs slection
Filire Epreuve Session
TDI 2t7
Svnthse Vl Juillet 2014
de la ville), son numro de tlphone et son e-mail. L'enregistrement ne se valide sauf si le client achte
au moins un produit, en spcifiant la quantit achete du produit.
NB:
)
void fct(int n, int *m)
{
printf("Debut fct n:%d, *m=?d\n", n, *m); //L pE
n:*m+?.
*m:gql (&n) ;
printf("Fin fct n=?d, *m:*d\n", n, *m); //2 pis
)
int main ( )
i
int a=5, b:3;
printf("Debut main a=?d, b:?d\n", a, b); //L pt
fct (a, &b) ;
printf("Fin main a:?d, b=?d\n", a, b); //2 pts
getchar ( ) ;
]
on souhaite dvelopper une application oriente objet I'instar du systme conu pour la socit de
fabrication des produits informatiques. L'applicatiorcontiendra plusieurs classes dont tous les
attributs
doivent te privs, ce qui implique le bsoin de coder des accesseurs dans toutes les classes.
Les
accesseurs des attributs affectes automatiquement doivent te en lecture seule.
Chaque classe doit avoir
un constructeur d'initialisation, et une mthode "ToStringe".
Cl4qge '.'Zpner' : Ayant comme attributs un identifiant pow la zone gographique (entier
positif qui s'incrmente automatiquement), et le nom de la zone gosaohioue
public class Zone
{
private uint fdZone;
priwate strlng NomZone;
private static uint auto,.
. Classe ttPaystt : Ayant comme attributs un identifiant pour le pays (entier positif qui
s'incrmente automatiquement), Ie nom du et sa zone
public class pays
{
priwate uint Idpays;
private string Nompays;
private Zone zone,.
private stati-c uint auto;l
Classe "Catgoriert : Ayant comme attributs un identifiant pour la catgorie (entier positif
qui s'incrmente automatiquement), le nom de la catgorie, et la catgorie parente, et un 2tt"
constructeur avec un seul paramte (nom de la catgorie).
Cjasqe t'Produit" :
Ayant comme attributs un identifiant du produit (entier positif qui
s'incrmente automatiquement), le nom du produit, son prix et sa catgorie.
l- Dans la classe "Pays", ajouter un nouvel athribut "Produits_disponibles" qui sera une liste
gnrique des produits disponibles dans le pays. (2,5 pts)
2- Dans la classe "Pays", ajouter une mthode "AjouterProduit(produit)" permettant
d'ajouter un nouveau produit la liste des produits disponibles dans l puyt. nJ.*ception
est leve si le produit est dj existant (produit ayant le mme identifiant). (f,S pts;
3- Dans la classe "Pays", ajouter une mthode "SupprimerProduit(identiilani produit)"
permettant de supprimer un produit en fournissant son identifiant. Une exception est leve
si l'identifiant du produit est inexistant. (3,5 pts)
4' Dans la classe "Pays", ajouter une mthode "string ListerProduitse" permettant de lister
les produits disponibles dans le pays. (2,5 pts)
. Classe "Achat"
5- Crer une classe "Achat" ayant comme attributs le produit achet, la quantit achete, et la
date d'achat (affecte automatiquement par la date systme). (3,5 pts)
6- Ajouter une mthode "MontantAchatQ" permettant de calculer le montant d'un achat. (2,5 pts)
7- Crer une classe "Client" ayant comme attributs un identifiant du client (entier positif qui
s'incrmente automatiquement), son nom et son prnom, son adresse postale, sa ville (de
type "ville") son numro de tlphone, son adresse e-mail et la liste des achats qu'il a
efflectues. (4 pts)
8- Ajouter une mthode "AcheterProduit(achat)" permettant d'ajouter un achat la liste des
achats du client. (3 pts)
9- Ajouter une mthode "string ListerAchats(date_dbut, date_Iin)" permettant de lister
les achats effectus par le client ente une date de dbut et une date de fin. (4 pts)
t0- Crer la classe "Client Fidle" ayant comme atbibuts un numro de fidlit (entier positif
qui s'incrmente automiqu"."nt;. (3 pts)
l1- Redfinir la mthode "AcheterProduit(achat)" permettant d'ajouter un achat la liste des achats
du client aprs avoir appliqu une rduction de 25o sur le prix du produit achet. (3 pts)
Ciient cl;
cI' s nw {liert("1-A}1l", "hned", "'15" Rue Riad, tu, ounnS.a', rabt, '06g9741J11", "a1.arai{ruall,raa");
Ecrire le code du bouton "Afficher" permettant d'afficher la liste des achats du client ,'c1",
effectues entre une date de dbut et une date de fin, slectionnes par I'utilisateur (voir image ci-
dessus). (8 pts)
3- Ecrire le code du bouton "Sauvegarder" qui permet d'enregistrer la liste des achats du client "cl",
effectues entre une date de dbut et une date de fin, slectionnes par l'utilisateur (voir image ci-
dessus) dans un fichier objet (snalisation) qui porte le nom < AchatiAlu-l.dut >. (g pts)