Vous êtes sur la page 1sur 7

,3t

OFPPT

;r t3r;,1,

ij*fr,iisfit

-'

:{,

office de la Formation Professionnelle et de la promotion du Travail

Examen de passage la 2"'anne


Session

Juillet 2014

Filire : Techniques de Dveloppement Informatique


Niveau: TS

Epreuve: Synthse
Variante : V2

Dure : 5 heures

Barme

{. Partie I : Thorie (40 pts)


F Dossier 1: Notions de mathmatiques

1120

appliques I'informatique (12 pts)

Exercice 1: (6 pts)

NB : la calculatrice

est strictement interdite.

Complter le tableau suivant:

l r001101

Exercice 2: Algbre de Boole (6 pts)


Soit la table de vrit de la fonction

l23Filire

TDI

Donner la 1"" forme canonique de la fonction logique O. (1,5 pts)


Simplifier analytiquement la fonction logique Q. e pts)
Simplifier la fonction logique Q avec la mthode de Karnaugh. (2,5 pts)

EDreuve
Svnthse V2

Session

Juilla

2014

u7

/1

Dossier 2: Techniques de programmation structure (16 pts)


Exercice 1: Le sablier (8 pts)
Ecrire une procdure "sablierQ" permettant de dessiner un sablier dont la taille N est passe en
paramtre de la fonction. Faites appel cette fonction dans un algorithme donnant le droit
I'utilisateur de saisir la taille du dessin qui doit tre paire.
Exemple:
Donner la taille paire:
La taille doit tre paire!
Donner la taille paire:
8

\l
/\

Exercice 2: Elimination des rptitions (S pts)


Ecrire une fonction "sans_rptitionQ" permettant de supprimer les rptitions des lettres dans
un tableau T de taille N (passs en argument de cette fonction). La fonction doit renvoyer le mot
constitu des lettres restantes. Faites appel cette fonction dans un algorithme donnant le droit

I'utilisateur de remplir un tableau avec M lettres.


Exemple:
Donner le nombre des lettres:
6

Donner les lettres:


E
E
S

T
E
S

Votre mot est EST.

Filire

TDI

Epreuve
Svnthse V2

Session

fuiilet 2014

2t7

Dossier 3: Conception et modlisation drun systme d'information (12 pts)


Conception d'un systme d'information pour une socit informatique
Une grande socit de fabrication de produits informatiques souhaite raliser un site web, permettant de
prsenter ses produits la clientle. La socit fabrique plusieurs produits informatiques, notamment des
serveurs, des postes de travail, des ordinateurs portables, des imprimantS, ... .
Certains produits de la socit informatique ncessitent I'intgration de composants de constructeurs
tierces. Par exemple: pour fabriquer un ordinateur personnel, la socit peut utiliser les microprocesseurs
et les mmoires vives fabriques par des constructeurs spcialiss en microlectronique. On indique par
consquent le nombre de composants utiliss (Par exemple:3 barrettes mmoire,2 disques dur,...).
D'autre part, certains produits (ordinateurs, tablettes, ...) ont besoin de systmes d'exploitation pour les
utiliser; ces systmes sont dvelopps par des socits de dveloppement informatique. La socit

n'installe qu'un systme d'exploitation par machine.

'

Pour construire ses produits informatiques, la socit informatique peut faire appel des constructeurs de
composants informatiques. Par exemple: pour fabriquer un ordinateur personnel, la socit peut introduire
disques dur fabriques par une socit spcialise dans ce domaine. Les constructeurs peuvent tre
-des
des filiales d'autres socits constructrices en consquence des fusions qui se font entre les socits. Par
exemple: pour ses ordinateurs, la socit informatique peut utiliser les microprocesseurs d'un
constructeur, et les cartes graphiques d'une filiale de ce mme constructeur.

Pour faire fonctionner les composants de ses produits, la socit informatique installe les pilotes de
chaque composant tiers, en tenant compte de la compatibilit avec le systme d'exploitation,riilis avec
le produit.

Pour chaque constructeur ou socit de dveloppement informatique, on retient sa raison sociale, son
adresse postale, son numro de tlphone, son e-mail et le lien vers son site web. Pour chaque composant,
produit, pilote ou systme d'exploitation, on retient sa rfrence, sa dsignation et son prii (saufpour les
pilotes qui sont fournies gratuitement avec leurs composants).

l.
2.
3.

t'. Partie

Etablir le dictionnaire de donnes. (3 pts)


Etablir le modle conceptuel de donnes. (6 pts)
Etablir le modle logique de donnes. (3 pts)

II : Pratique

(80 pts)

F Dossier 1: Langage de programmation structure (20 pts)


Exercice 1:

Soit le programme C suivant

#incl-ude
#incl-ude
int main ( )
{

),:vuvrru!
ccl- nlr:

TDI

h>

<ctype. h>

*fpi:fopen(,'c:\\ofppt\\test.txt","r"),.
FILE
*fpo:fopen("c:\\ofppt\\res.txt",
FILE
"w") ;
int c;
for(; (c:fgetc(fpil I !: EOF;) {
if (s :: ' ') / / test sur Le caractere estrrace
fputc ('g', fpo) ;
el-se

Filire

<stdio.

fputc(((toupper(c)- 5 + 'A') Z 26 ) + 'A' , fpo);


r /\ \/ ,. II

Epreuve
Svnthse V2

Sesson

Juillet 2011

3t7

NB:

i.

toupper c'est unefonction de la bibliothque ctype.h qui corwertit un caractre en


majuscule.

ii.

'z' sont ordonns. si le code de 'A' est une


valeur a alors celui de 'B' est a +1,... celui de 'Z' est a + 25.

Les codes ASCII des caractres de 'A'

Le fichier

( test.txt > contient

le texte suivant

ponjour JE VOUS Sou


Quefournitl'expression:< ( (toupper(c) - 5 +,A, )226) +'A' ) pour
les valeurs suivantes de C : 'M', 'H', 'D' et ,A'. Dduire son rle. (4 pts)
Quel est le contenu de fichier ( res.txt > aprs excution de programme. (6 pts)

a.

b.

Exercice2:(10pts)
Quel est le rsultat d'affichage du programme suivant

#include
i ni-

eha<a

int x=3;
printf("Debut chose : x:?d, *k:Bd\n", x,*k); // 2 pts
*k = *k * 1; ;:*1;
printf("fin
chose: x:Bd, *k=td\n",X, *k) ; // 2 pts

void
{

*lz\
ir/

l i nf

rf rrrn

<stdio.h>

if

w**L\

test (int n, int

*m)

1:rrrrLr;ueout test n=?dr *m:Bd\n", n,


.
nwi

/ rrh^!

al

*m)

n=*m* ?

*m:chose (&n)

printf("Fin

; // I pt

test n=?d, *m:$d\n", n, *m); // 2 pts

int
{

main

int a=1, b:2;


uer.lur main a=td, b:d\n", a, b) ; // Z pt
\/ rrh^L,.!
test (a, cb) ;
pri-ntf("Fin main a:?d, b=td\n", a, b); // 2 pts
hri
-+
1;lalrLr

getchar

);

Dossier 2: Programmation oriente objet (35 pts)


Dveloppement d'une application oriente objet pour la socit informatique
On souhaite dvelopper une application oriente objet l'instar du systme conu pour la socit de
fabrication des produits informatiques. L'application-contiendra plusieurs classes dont tous les
attributs
doivent tre privs (ou protgs), ce qui implique le besoin d coder des accesseurs dans toutes les
Filire

TDI

Epreuve
Svnthse V2

Session

Juillet 2014

4t7

classes. Les accesseurs des attributs affectes automatiquement doivent tre en lecture seule. Chaque
classe doit avoir un constructeur d'initialisation, et une mthode "ToStringe".

On suppose que les classes suivantes sont dj cres :


Classe "Dveloppeurrf : Ayant comme attributs un identifiant pour la socit de
dveloppement (entier positif qui s'incrmente automatiquement), sa raison sociale, son adresse, son
numro de tlphone, son adresse e-mail, et le lien de son site web.
pub]-ic class
{

Dvel_oppeur

plj.vae uint idDveloppeur;

privat
pri'rate
priwate
private
private

string
string
string
string
string
private

RaisonSociafeDveloppeuri
AdresseDveloppeur ;
Tl_Dvel_oppeur,.

EMailDveloppeur;
Sj_tewebDveloppeur,.

static uint autoi

Classe t'Constructeurtt : Ayant comme attributs un identifiant pour la socit

de fabrication
des composants (entier positif qui s'incrmente automatiquement), sa raison sociale, son adresse, son
numro de tlphone, son adresse e-mail, et le lien de son site web, et un 2^" constucteur avec un

mentaire: constructeur, qui exprime la socit oui

pub].ic class Constructeur


{

private
private
plj.vete
prj.vate
private
prj.vate
private

uint ldconstructeur;
string RaisonSocialeconstructeur
string Adresseconstructeur ;
string Tlconstructeur..
string EMailConstructeur..
string Sitewebconstructeur,.
Constructeur constructeur,.

la filiale en instance.

private static uint auto;


)

Classe t'Systme"
du

le prix du

pub].ic class
{

Ayant comme attributs la rfrence du systme d'exploitation, la dsignation


et le dveloooeur du

Systme

private string Rfsystme,.


p:civete string Dsignationsystme
prirrate fl,oat prixsystme,.
pli.vate Dveloppeur dveloppeur..

Ayant comme attributs la rference du composant, la dsignation du

le prix du com

et le constructeur du

pubJ-ic class Composant


(

private
plivate
priwate
pr1vate

strj_ng RfComposant ;
string Dsignationcomposant
float prj_xcomposant ;
Constructeur constructeur ;

pubJ.j.c cLass fntgration


1

Filire

TDI

pr:'vate Composant Composantlntgr


priwate uint euantitIntegre,.

Epreuve
Svnthse V2

Session

Juillet 2011

5t7

Vous devez rpondre aux qaestions suivantes :

"Produit"

Classe

l23-

Crer une classe "Produit" ayant comme attributs la rfrence du produit, la dsignation du
produit, une liste gnrique des composants intgrs dans le produit, et le prix du produit.
(4 pts)
Ajouter une mthode "IntgrerComposant(composant_intgr)" permettant d'intgrer un
nouveau composant la liste des composants intgrs dans le produit. Une exception est
leve si le composant intgr est dj existant (composant ayant la mme rfrence). (2,5
Pts)

Ajouter une mthode "EnleverComposant(rfrence_composant)" pennettant d'enlever


un composant de la liste des composants intgs en fournissant sa rfrence. Une
exception est leve si la rfrence du composant est inexistante. (2,5 pts)

4- Ajouter une mthode "CalculerPrixQ" permettant de calculer le prix d'un produit obtenu
par la somme des montants des composants intgrs (en tenant compte de leurs quantits)
plus une majoration de 20Yo. (4 pts)

Classe t'Pilote"
5-

Crer une classe "Pilote" ayant comme auributs la rfrence du pilote, la dsignation du
pilote, la liste gnrique des composants compatibles, et la liste gnrique des systmes

6-

Aj outer une mthode " Aj outerComposa nt(com posant) " permettant d' aj outer un nouveau
composant la liste des composants compatibles avec le pilote. Une exception est leve si
le composant est dj existant (composant ayant la mme rfrence). (2,5 pts)

d'exploitation compatibles. (4 pts)

Ajouter une mthode "AjouterSystme(systme)" permettant d'ajouter un nouveau

systme la liste des systmes d'exploitation compatibles avec le pilote. Une exception est
leve si la rfrence du systme d'exploitation est dj existante. (2,5 pts)

Classe

"Produit Pro"

Un produit pro "est un produit" destin aux professionnels, se caractrisant par sa performance,
sa rsistance et sa durabilit. Pour de tels produits, la socit informatique-offre es garanties

allantde25ans.

8-

Crer une classe "Produit Pro" ayant comme attributs la garantie qui doit tre entre 2 et 5

ans, et la date de dbut de garantie. Une garantie non incluse dans cet intervalle est
susceptible de lever une exception dans tout constructeur ou mthode avant accs la
garantie. (4 pts)

Redfinir la mthode "CalculerPrixQ" en ajoutant au prix du produit le montant

de

garantie gale 750 MAD par anne de garantie. (3 pts)

l0- Ajouter une mthode "Fingarantiee" qui retourne la date

ll-

produit pro. (3 pts)

de

fin de la garantie d'un

Ajouter une mthode "Etendregarantie(nombre_annes)" permettant d'augmenter le

nombre d'annes de garantie pour un produit ayant moins de 5 ans de garanti, vers une
garantie inferieure ou gale 5 ans (en tenant compte de I'exception si la garantie totale
risque d'excder 5 ans). (3 pts)

Filire

Epreuve

TDI

Session

Svnthse V2

Juillet 2014

6t7

Dossier 3: Programmation vnementielle (25 pts)

NB : Dans ce dossier, on vous demande de donner uniquement le code mettre I'intrieur


mthodes vnementielles. L'entte de ces mthodes vnementielles n'est pas demand !

des

Soit le formulaire suivant:

:rii ; ri'::irirr :ir::

iifij;

Pr*rit PocopeedYf
Rir.
Cattp.t1;,*

jre*r*B*.
FS

iifttd

Uiryr&cr

rtonYccGooircr

f,

__

....
-]"qry

.290t

L*-:
l-

Cottr.ac,r

.krf!

tsarvesder

Ssr:tc

So*Tcc

Dans le code du formulaire on a dclar un objet de type ,'produit":

frcduii

porr,erspeed;

Dans la mthode de chargement du formulaire on a instanci l'objet "produit":

powerspeed nerr rcdu:t("y12.1.", *powerSpeed

y12*, picos);

Ajouter dans la mthode de chargernent du formulaire, le code permettant d'afficher la dsignation


du produit comme tite dans le formulaire (voir image ci-dessus). (3 pts)

2-

Ajouter dans la mthode de chargement du formulaire, le code permeffant d'afficher la liste des
composants intgrs dans Ie produit "powerspeed" (voir image ci-dessus). (6 pts)

3-

Ecrire

le

code du bouton "supprimer" permettant d'enlever

un

composant

du produit

en

slectionnant la ligne supprimer puis en cliquant sur le bouton "Supprimer". Utiliser la mthode
"EnleverComposant(rfrence-composant)" de la classe "Produit'i lon n" traite pas le cas si
aucune ligne n'est slectionne). (8 pts)

4-

Ecrire le code du bouton "sauvegarder" qui permet d'enregistrer la liste des composants intgrs
dans le produit "powerspeed' (voir image ci-dessus) dans un fichier objet (srialisation) qui port-e le

nom < ComposantPowerspeed.dat >. (8 pts)

Filire

TDI

Epreuve
Svnthse V2

Session

Juillet 2014

7t7