Vous êtes sur la page 1sur 32

OFPPT

Office de la Formation Professionnelle et


de la Promotion du Travail

Direction Recherche et Ingénierie de Formation

Examen de passage, session juin 2006

______Epreuve pratique______
Filler e: TSDI Barème :40 Pts.
Niveau: TS Durée: 4H.

Variante n°7

Important :
II sera pris en considération la convivialité des interfaces et la clarté du code. La
Gestion des erreurs et la robustesse de /'application seront bien appréciées.
La totalité de votre travail doit être enregistrée dans un même répertoire pour
Faciliter la sauvegarde par la suite. Pour cela, il faut créer sur votre bureau un
Dossier qui porte votre nom & Prénom. Et c'est dans ce dernier que vous allez
Enregistrer vos réalisations par la suite.

Partie 1 ; JAVA (26 Pts)

Une ligne article est décrite par les données suivantes

ATTRIBUTS Type Visibilite


NumArticle Entier Private
Designation Caractere Private
PrixUnitaire Reel double Private
QuantiteEn Stock Entier Private
QuantiteCommandee Entier Private
NumCommande Entier Private

On peut connaitre le prix de vente article par la fonction MontantLigneQ.


On peut connaitre le total facture par la fonction TotalFactureQ. On peut
connaitre le reste en stock par la fonction RestStockQ.

Page 1 / 9
1- Ecrire la classe LigneArticle avec ses donnees, ses methodes et ses constructeurs : (6pts)
• la methode MontantLigneQ renvoie le calcul du total ligne (PrixUnitaire *
QuantiteCommandee)
• la methode TotalFactureQ renvoie le calcul du total facture (somme(MontantLigne))
• la methode RestStockQ renvoie le reste en stock lorsque un article est vendu
(QuantiteEn Stock - QuantiteCommandee )
• la methode AffichageQ affiche les lignes commande
2- Les objets de la classe LigneArticle sont a stocke dans un vecteur dynamique.
a) Creer une methode SaisieArticleQ permettant de saisir les objets de la classe LigneArticle
(4pts)
Exemple d'objets de la classe LigneArticle
NumArticle Designation PrixUnitaire QuantiteEnStoc k QuantiteCommandee NumCommande

01 Ecran 350 30 10 1
02 Souris 30 100 30 1
01 Ecran 350 20 5 2
03 Imprimante 1000 10 2 1
02 Souris 30 70 5 2

b) Ecrire un programme permettant de realiser le menu suivant: (7pts)


1. Remplissage du vecteur .
2. Ajout d'une ligne article et affichage du reste en stock pour Particle commande.
3. Insérer une ligne article a un emplacement précis.
4. Suppression d'un ligne article.
5. Afficher les lignes articles.
6. Afficher les lignes articles d'une même commande.
7. Trier les lignes articles par numéro d'article.
3 - On désire stocker dans un fichier séquentiel les lignes articles dont la quantité en stock est supérieur a
50.
Ecrire un programme permettant de :
a) Créer le fichier séquentiel a partir des informations contenues dans le vecteur (Spts)
b) Afficher 1'ensemble des enregistrements (4pts)
Partie 2 ; SOL SERVER (8 Pts)

4 - a) Créer une base de données dans Sql server qui contiendra la table LigneArticle (traduire la classe
LigneArticle). (3pts)

b) Ecrire les requêtes suivantes : (5pts)

b.l afficher les articles de la commande n° 1


b.2 afficher le numéro d'article et la quantité en stock des articles dont le prix unitaire est
supérieur a 300
b.3 afficher les articles dont la désignation commence par la lettre « S »
Page 2/9

b.4 afficher le nombre d'article par commande b.5


afficher le montant global des articles vendus

Partie 3 ; VBNet(6 Pts)

Les menus contextuels jouent un rôle trop important dans I'interactivité entre I'utilisateur
et les contextes dans les applications Windows, pour cette raison vous etes invites a écrire
une procédure événementielle qui permet de créer un menu contextuel avec les commandes
: Ouvrir avec, Couper, Copier, Coller, Supprimer

Page 3 / 9
Office de la Formation Professionnelle et
de la Promotion du Travail

Direction Recherche et Ingenierie de Formation

Examen de passage, session juin 2006

_________Epreuve pratique_______

Fillere: TSDI Bareme :40 Pts.


Niveau: TS Duree: 4H.
Variante n°8

Important:
II sera pris en considération la convivialité des interfaces et la clarté du code.
La gestion des erreurs et la robustesse de /'application seront bien apprécies. La
totalité de votre travail doit être enregistrée dans un même répertoire pour
faciliter la sauvegarde par la suite. Pour cela, il faut créer sur votre bureau
un dossier qui porte votre nom A Prenom. et c'est dans ce dernier que vous
allez enregistrer vos réalisations par la suite.

Partie 1 : JAVA (26 Pts)

A un peage autoroutier chaque vehicule paie en fonction de sa categorie et du trajet

effectue. La classe CategorieTrajet est decrite par : Ses Attributs :


IK. ..Attributs Type Visibilite ii:?»
Categorie Caractere Private
Trajet Caractere Private
PrixPayer Reel double Private

Ses methodes :
• ModifierPrix() qui modifie le prix a payer.
• AffichageQ affiche la liste des categories empruntant 1'autoroute.
Page 4 / 9
1- Creer la classe CategorieTrajet avec ses donnees, ses methodes et ses constructeurs : (5pts)

2- Les objets de la classe CategorieTrajet sont a stocke dans un tableau dynamique.


a) Creer une methode SaisieCategorieTrajetQ permettant de saisir les objets de la classe
CategorieTrajet (3pts)

Exemple d'objets de la classe Vehicule


'Categorie Trajet PrixPayer
A Casa-Rabat 20
A Rabat-Tanger 40
B Casa-Rabat 30
A Rabat-Casa 20
B Rabat-Meknes 40

b) Ecrire un programme permettant de realiser le menu suivant: (6pts)


1. Remplissage du tableau.
2. Ajout d'un objet
3. Modifier le prix a payer
4. Afficher les informations contenues dans le tableau
5. Afficher les objets de categorie A
6. Trier les objets par categorie

3 - Ecrire un programme permettant de :


a) creer un fichier sequentiel a partir des informations contenues dans le tableau(3pts)
b) d'afficher 1'ensemble des enregistrements (2pts)
c) supprimer le trajet « Rabat-Meknes » (2pts)
d) ajouter le trajet Casa-Tanger (2pts)

4- Ecrire un programme permettant de copier les enregistrements du fichier dans un vecteur. (3pts)

Partie 2 ; SQL SERVER (8 Pts)

5 - a) Creer une base de donnees dans Sql server qui contiendra la table CategorieTrajet (traduire la
classe CategorieTrajet). (3pts)

b) Ecrire les requetes suivantes : (5pts)

b.l afficher le prix a payer par la categorie A et le trajet Casa-Rabat b.2


afficher les categorie classees par ordre alphabetique b.3 afficher les
categories dont le prix a payer est superieur a 30 b.4 afficher la categorie
et le prix par trajet b.5 afficher le nombre de trajet

Page 5/9
Partie 3 ; VB.Net (6 Pts)
Concevoir un formulaire d'authentification qui permet de saisir un compte utilisateur et son mot
de passe. Le programme permet de verifier 1'existence du compte utilisateur dans un tableau
prealablement rempli. Si le compte est trouve le programme affiche un message « compte existant »
sinon il affiche le message « compte non valide ». 1'utilisateur a droit de saisir 3 fois le compte. Le
mot de passe doit comporter au moins 3 caracteres, sinon un message d'erreur est envoye a
1'utilisateur.

Page 6/9
OFPPT

Office de la Formation Professionnelle et


de la Promotion du Travail

Direction Recherche et Ingenierie de Formation

Examen de passage, session juin 2006

______Epreuve pratique______

Filiere: TSDI Bareme :40 Pts.


Niveau: TS Duree: 4H.

Variante n°9

Important:
II sera pris en consideration la convivialite des interfaces et la clarte du code. La
gestion des erreurs et la robustesse de I'application seront bien appreciees.
La totalite de votre travail doit etre enregistree dans un meme repertoire pour
faciliter la sauvegarde par la suite. Pour cela, il faut creer sur votre bureau un
dossier qui porte votre nom A Prenom. et c'est dans ce dernier gue vous allez
enregistrer vos realisations par la suite. ______

Partie 1 ; VB.NET (23 Pts)

Exercice 1 ; (7 Pts)

On desire realiser une application qui met en oeuvre les operations mathematiques elementaires, pour cela
on depose sur un formulaire des controles boutons d'option, des etiquettes et des zones de texte comme
suit:
1. Le programme demande a 1'utilisateur d'entrer deux valeurs dans les zones de texte, puis lorsqu'on
choisit une option determinee(addition par exemple) 1'etiquette resultat afflche la somme des deux
nombres inseres dans les zones de texte. (3 Pts)
2. Enregistrer 1'historique des resultats obtenus dans une collection. (2 Pts)
3. Ajouter un bouton qui permet d'afficher les objets de la collection. (2 Pts)

12 O Addition O
Soustraction O Resultat : 22
10
Multiplication O
Division

Page 7/9
Exercice 2 ; (4 Pts)
Deposer un controle ComboBox sur le formulaire de votre projet, ensuite ecrire les procedures qui
permettent de realiser les operations suivantes:
» Remplir le Combo avec des donnees de votre choix (1 Pts)
• Afficher le nombre d'entrees dans le Combo (2 Pts)
• Trier les elements de la liste (1 Pts)

Exercice 3 : (6 Pts)
1. Concevoir un formulaire avec 2 ListBox, 2 boutons de commande, un label et une zone de
texte
Dans 1'evenement Load du formulaire, ecrire un code qui permet de remplir la liste avec les
donnees suivantes TSDI, TSSD, TSSRI, ATV (2 Pts)
2. Ecrire la procedure d'evenement sur le bouton pour faire deplacer 1'entree selectionnee vers
la deuxieme liste (2 Pts)
3. Cliquez sur le deuxieme bouton pour afficher 1'indice d'une entree selectionnee dans la zone
de texte et le nombre d'entree dans le label. (2 Pts)

Exercice 4 ; (6 Pts)
Soit le tableau "JoursSemaine" qu'on peut remplir avec les noms des jours de la semaine (Dimanche,
Lundi, Mardi,...)

1. Ecrire la procedure qui permet de remplir le tableau (1.5 Pts)


2. Ecrire une procedure qui trie les elements du tableau dans 1'ordre alphabetique (1.5 Pts)
3. Ecrire la procedure qui efface le tableau a partir du 3eme element (1.5 Pts)
4. Ecrire une fonction qui re9oit en parametre le nom du jour puis renvoie son indice (1.5 Pts)

Partie 2 ; JAVA (8 Pts)


A un peage autoroutier chaque vehicule paie en fonction de sa categoric et du trajet

effectue. La classe CategorieTrajet est decrite par : Ses Attributs :


Attributs Type Visibilite
Categoric Caractere Private
Trajet Caractere Private
PrixPayer Reel double Private

Ses methodes:
• ModifierPrixQ qui modifie le prix a payer.
• AffichageQ affiche la liste des categories empruntant 1'autoroute. 1- Creer la classe
CategorieTrajet avec ses donnees, ses methodes et ses constructeurs : (Spts)

2- Les objets de la classe CategorieTrajet sont a stocke dans un tableau dynamique. Creer une
methode SaisieCategorieTrajetQ permettant de saisir les objets de la classe CategorieTrajet (Spts)

Page 8/9
Partie 3 ; SOL SERVER (9 Pts)

On dispose de 5 tables servant a gerer des contraventions. A -

Creation de la base de donnees (4pts)

Dans une premiere etape il faut definir la base de donnees et les cles et decrire les relations qui
existent entre ces tables selon le schema suivant:

Schema

Table : AGENTS Table : CONTRAV


Code_age text 6 NUM CON Reel double
Num age text 25 D CON DATE
Pre_age text 20 TYP CON text 4
NUM AUT text 5
COD AGE text 6
Table : Autos Table : PROPRIET
NUM AUT texts COD PRO texts
D IMM date NOM PRO text 25
COU text 10 PRE text 20
MAR text 20 RUE NO PRO text 30
COD PRO text 5 LOC_PRO text 30

Table : Types co

TYP CON text 4


LIB CON text 30
PRI CON Reel double

B - Reauetes SOL (Spts)

1. Afficher pour chaque proprietaire son nom, son prenom ainsi que les donnees concernant ses
voitures (marque, couleur) par ordre alphabetique des proprietaires et pour un proprietaire par
ordre alphabetique des marques des voitures (1 pt)

2. Afficher pour chaque proprietaire son nom, son prenom ainsi que le nombre de voitures qu'il
possede (trier par nombre de voitures decroissant) (1 pt)

3. Concevoir une requete CONTRAVPROP qui permet d'afficher pour chaque proprietaire les
contraventions qu'il a cues. Pour chaque contravention il faut afficher la marque de la voiture, le
libelle de la contravention, la date et le prix. (1 pt)

4. Compter pour chaque proprietaire le nombre de contraventions et la somme totale payee. (1 pt)

5. Afficher pour chaque proprietaire le nombre de contraventions obtenues pour chaque type de
contravention. (1 pt)

Page 9 / 9
Office de la Formation Professionnelle et
de la Promotion du Travail

Direction Recherche et Ingenierie de Formation

Exanten de passage, session juin 2006

______Epreuve pratique______

Fillere: TSD1 Bat-erne :40 Pts.


Niveau: TS Duree: 4H.

Variante n°3

Important:
II sera pris en consideration la convivialite des interfaces et la clarte du code.
La
gestion des erreurs et la robustesse de /'application seront bien appreciees.
La totalite de votre travail doit etre enregistree dans un meme repertoire
pour
faciliter la sauvegarde par la suite. Pour cela, il faut creer sur voire bureau
un
dossier qui porte voire norn <& Prenom. et c'est dans ce dernier que vous
allez
enregistrer vos realisations par la suite.

Partie 1 : JAVA (18 Pts)

A. Gestion des ventes d'un magasin. On veut saisir le prix HT d'articles, le type des articles au rt-gard
de la TVA (livres, disques, articles speciaux ou autres articles) et calculer leur prix TTC, connaissant
le taux de TVA associe a chaque type (livres : 5,5 %, disques : 20,6 %, articles speciaux : 33,5 %,
autres : 20.6 %).

1) Ecrire le programme qui pennet de faire le bilan du nombre d'articles vendus et des montants HT
et TTC totaux et moyens. (3pts)

2) On suppose mainlenant que chaque taux de TVA est associe a un code connu de 1'utilisateur (ex.
livres r= 1. disques = 2, etc.). Ameliorei les structures de donnees pour simplifier le programme
precedent. (3pts)

B - On dispose d'un tableau de nombres reels positifs Tl de taille N. Ecrire I'algorithme qui
perniet de trier les valeurs contenues dans Tl dans un second tableau T2, de la plus grande
a la plus petite. (3 Pts)

C - Soit un systeme de grade ou A >= 18, '! 8 > B >=-• i 6, 16 > C >= 14, 14 > D >= 12 et E < 12. Ecrivez
un programme qui affiche votre grade en fonction de \'os points. Les points sont entres par
i'litilisateur et la conversion des points vsrs ies grades doit etre taite a 1'aide d'une methode ! Ecrivez
!e programme en entier. (3 Pts)

Page 6 / 9
D. Tri par insertion
Ecrire une programme permettant de trier suivant 1'ordre croissant un tableau a une dimension
contenant des entiers avec 1'algorithme de tri par insertion.
• La fonction recevra en parametres le tableau ainsi que le nombre d'elements.
* le tri sera fait dans le tableau de depart sans avoir recours a un tableau auxiliaire. (3pts)

E. Ecrivez un programme qui permet a I'utilisateur de supprimer une valeur d'un tableau prealablement
saisi. L'utilisateur donnera 1'indice de la valeur qu'il souhaite supprimer. Attention, il ne s'agit pas de
remettre une valeur a zero, mais bel et bien de la supprimer du tableau lui-meme ! Si le tableau de depart
etait 12-8-4 -45-64- 9 - 2 - 7 et que I'utilisateur souhaite supprimer la valeur d'indice 4, le nouveau
tableau sera : 12-8 — 4-45-9 — 2 — 7 (3pts)

Partie 2 : SQL SERVER 2000 (12 points)


a Une table « Clients » repertoriant les informations des clients de 1'entreprise.
a Une table « Fournisseurs » detaillant les fournisseurs de 1'entreprise.
a Une table « Produits» concernant les produits commercialises par cette entreprise.
a Une table « Categorie» des produits commercialises.
a Une table « Commande» representant les commandes passees par les clients.
a Une table « DetailCommande»

La table Clients
Nom champ Type donnee Description Proprietes du champ

RefjCli Texte Reference des clients Taille :5 Null interdit : Oui

DesCli Texte Description client Taille :40


ConCli Texte Contact Taille : 30
VilCli Texte Ville Taille : 20
Sol Cli Oui/Non Solvabilite client Taille :15
Tel Cli Texte Telephone Taille : 20

La table Fournisseurs

Nom champ Type donnee Description Proprietes du champ


Ref_Fou Numerique Reference Fournisseur Entier long Null interdit : Oui

Des Fou Texte Description fournisseur Taille : 40


Vil Fou Texte Ville fournisseur Taille : 20
Tel Fou Texte Telephone Taille : 20

La table Produits

Nom champ Type donnee Description Proprietes du champ

Ref_Pro Numerique Reference produit Entier long

Des Pro Texte Description produit Taille : 40


Ref Fou Numerique Reference Fournisseur
Ref Cat Numerique Reference categorie
Pri Unitaire Monetaire Prix unitaire Toujours positif sinon afficher un message
d'erreur
Quantite disp Numerique Quantite disponible Taille : Entier

Page 7 / 9
La table Categorie

Norn champ Type donnee Description Proprietes du champ

Ref Cat Numerique Reference categoric Entier long


Des_Cat Texte Description categoric Taille : 40

La table commande

\ j Norn champ Type donnee Description Proprietes du champ

Ref_Com Numero Auto Reference commande Entier long


1
! RefjCli Texte Reference Client
1 Date Com Date/Heure Date commande Taille du champ : Date
| Date Liv Date/Heure Date livraison Taille du champ : Date

La table DetailCommande

Nom champ Type donnee Description Proprietes du champ

RefjCom Numerique
Ref Pro Numerique
Qt_Com Numerique Taille du champ : Entier

Travail a faire :

1. Conception de la base de donnees "Gestion des commandes clients".

> Creation des tables correspondantes. (2pts)


> Creation des liens entre les tables. (2pts)
> Saisie des enregistrements. (\pt)

2. Creation des requetes.

a. Liste des commandes du ler Trimestre de 1'annee 1997. (Ipt)


b. Liste des commandes dont la difference entre la date de commande et la date de
livraison est superieure a 10 jours. (Ipt)
c. Liste des commandes en affichant les produits commandes avec leurs prix et
quantites respectifs ainsi que la date de commande et le client. (Ipt)
d. Liste des categories dont la designation contient la lettre « N ». (Ipt) e.
Lister les fournisseurs qui ne figurent pas dans la table Produit. (1 pt)
f. Liste des produits affichant les quantites maximale et minimale commandees
par Produit. (Ipt)
g. Liste des produits affichant une nouvelle colonne «Montant Total par Produit». (1
pt)

Partie 3 : VBDoteNet (10 Pts)


L'ecran a realiser se compose d'un champ de saisie et de 4 boutons (SansEsp, TestPalin, Miroir
et Melange. L'utilisateur entre un texte quelconque dans la zone de texte.

Travail a realiser;

1 — Realiser une interface en respectant la nomination des objets : SansEsp : Enleve les espaces de la
chaine Page 8 / 9
TestPalin : Affiche une boite de dialogue indiquant si le texte saisi est un palindrome (Uri
palindrome est un mot ou une phrase pouvant se lire dans les 2 sens) ou
non. Miroir : Affiche 1'inverse de la chaine saisie. Melange : Affiche les caracteres saisis
dans un ordre aleatoire

2 — Faire des programmes relatifs au clic sur les bottons en faisant appel a des fonctions :

> SansEsp (2.5 Pts)


> TestPalin (2.5 Pts)
> Miroir (2.5 Pts)
> Melange (2.5 Pts)

Page 9/9
OFPPT

Office de la Formation Professionnelle et


de la Promotion du Travail

Direction Recherche et Ingenierie de Formation

Examen de passage, session juin 2006

______Epreuve pratique______
Filler e: TSDI Bareme: 40 Pts.
Niveau: TS Duree: 4H.

Variante n°l

Important:
II sera pris en consideration la convivialite des interfaces et la clarte du code. La
gestion des erreurs et la robustesse de I'application seront bien appreciees.
La totalite de votre travail doit etre enregistree dans un meme repertoire pour
faciliter la sauvegarde par la suite. Pour cela, il faut creer sur votre bureau un
dossier qui porte votre nom A Prenom. et c'est dans ce dernier que vous allez
enregistrer vos realisations par la suite. ____

Partie 1 : JAVA (26 Points)


Les comptes bancaires

Un compte bancaire possede a tout moment une donnee : son solde. Ce solde peut etre positif (compte
crediteur) ou negatif (compte debiteur).
Au depart, un compte bancaire a un solde nul. II est aussi possible de creer un compte en precisant son
solde initial et son code initial.
Utiliser son compte consiste a pouvoir y faire des depots et des retraits. Pour ces deux operations, il
faut connaitre le montant de 1'operation et verifier que le code propose est bien le code du compte'.
L'utilisateur peut aussi consulter le solde de son compte.

1 - Ecrire un programme gerant un compte bancaire particulier

Etape 1 : Initialisation du solde, depot puis retrait (4 pts)

1. initialiser solde;
2. Afficher le solde ;
3. faire un depot de 10000 dhs ;
4. Afficher le solde ;
5. faire un retrait de 140 dhs ;
6. Afficher le solde.

Page 1 / 9
Etape2 : somme des depots et somme des retraits (6 pts)

La banque souhaite conserver un historique du compte. Tl faut alors ajouter deux reels a la classe :
sommeDesDepots et sommeDesRetraits. Le solde du compte peut alors etre calcule a partir de ces
deux variables.
2. Declarer deux variables permettant de memoriser la Somme/des depots et la somme des
retraits.

3. Effectuer des depots et des retraits ; Afficher regulierement le solde et les deux sommes.

Etape 3 ; gestion des decouverts (5 pts)

La banque souhaite autoriser pour certains clients un decouvert. Par defaut, ce decouvert autorise est
nul.
"Le découvert autorisé peut être modifie (essayez de le lire au clavier) en fonction de 1'evolution du
compte.
Un retrait est alors possible tant que le client ne dépasse pas ce découvert autorise. Le cas échéant, le
retrait est refuse.

> Declarer une variable pour gerer le decouvert ;


> Lire une valeur pour le decouvert ;
> Faire un retrait en gérant la Jimite imposée par le découvert autorisé.

Etape 4 : compte avec intérêts (5 pts)

La banque souhaite pouvoir instaurer des comptes rémunères. II faut alors ajouter une variable
"tauxlnteret". Les clients de la banque veulent savoir :

quel sera leur solde dans x annees en supposant qu'aucune opération ne sera effectuée sur leur
compte ;
combien d'années sont nécessaires pour doubler leur solde, en supposant qu'aucune opération
ne sera effectuée sur leur compte.

Etape 5 : statistiques d'utilisation du compte (6 ots)

La banque souhaite analyser les types d'opérations effectuées sur les comptes bancaires. II existe trois
types d'opérations : en liquide, par carte bleue, par cheque. Les codes respectifs de ces trois opérations
sont: 'L', 'C, 'Q’.

II faut alors ajouter trois compteurs associes aux trois types d'operations : nbLiquide, nbCB,
nbCheque. Ces trois compteurs sont initialises a 0 lors de la creation du compte. ————~

Pour debiter ou crediter un compte, il faut preciser en parametre le type d'operation et incrementer le
compteur correspondant.

B - Ecrire un programme qui permet 1'affichage des statistiques :

o Donner le nombre total djpperations sur le compte ; —


o Donner la repartition (en pourcentage) des operations jar type.

Page 2 / 9
Partie 2 : SQL SERVER 2000 (14 points)

Soit le schema relationnel suivant: Epargnant (n°epargnant ,nom,prenom)


PortefeuiHe(n°_portefeuille. n°societe)
Titre(nftitre,designation_titre,valeur_actuelle,valeur_plus_haute,valeur_plus_basse,valeur_introduc
tio
n)
Place(n°_place,designationjplace,ville)
Societe_intermediation(n°societe.designation societe)
Ligne_portefeuille(n°epargnant. n°_portefeuille)
Traite_dans(n°titre.n°place)
Ce Schema correspond aux places financieres ou sont cotes les litres (action obligations, ..)de
1'entreprise
Ces titres sont detenus par des epargnants. Un epargnant peut detenir plusieurs portefeuilles de
titres
qui peuvent etre geres par divers societes d'intermediation
A - Creer la base de donnees Compte en respectant le MLD ci-dessus (4 pts)
B - Ecrire les requetes SQL suivantes :
1 .La liste des epargnants qui possedent le titre WAFABANK (Ipt)
2.Les titres cotes a la fois a la place de casablanca et au caire (Ipt)
S.Calcul des valeurs des titres detenus par Mr SUBHI (Ipt)
4.Les titres qui ont progresse de plus de 20% depuis leur introduction en bourse (Ipt)
5.Suppression des titres du portefeuille n°15 du monsieur hassani (1.5pt)
6.Les actionnaires detenant Faction BMCE et BCM (l.Spt)
7.Les epargnants qui n'ont plus de portefeuille de titre (l.Spt)
S.Les societes d'intermediation qui ne gerent plus de portefeuilles contenant le titre ONA
(1.5pt)

3/9
Office de la Formation Professionnelle et
de la Promotion du Travail

Direction Recherche et Ingénierie de Formation

Examen de passage, session juin 2006

______Epreuve pratique______
Filiere: TSDI Bareme :40 Pts.
Niveau: TS Duree: 4H.

Variante n°2

Important:
II sera pris en consideration la convivialite des interfaces et la clarte du code. La gestion des
erreurs et la robustesse de /'application seront bien appreciees. La totalite de votre travail doit
etre enregistree dans un meme repertoire pour faciliter la sauvegarde par la suite. Pour
cela, il faut creer sur votre bureau un dossier qui porte votre nom & Prenom. et c'est dans
ce dernier que vous allez enregistrer vos realisations par la suite.

Fartie \ : JAVA (27 Pts)


A - Soit un systeme de grade ou A >= 18, 18 > B >= 16, 16 > C >= 14, 14 > D >= 12 et E < 12. Ecrivez un
programme qui affiche votre grade en fonction de vos points. Les points sont entres par I'utilisateur et la conversion
des points vers les grades doit etre faite a 1'aide d'une methode ! Ecrivez le programme en entier. (3 Pts)

B - Creez un tableau de 10 nombres entiers dont les valeurs sont entrees par I'utilisateur (saisie clavier!) et
affichez a 1'ecran le plus grand et le plus petit nombre ainsi que la moyenne. (3 Pts)

C. Tri par insertion


Ecrire une programme permettant de trier suivant 1'ordre croissant un tableau a une dimension contenant des
entiers avec 1'algorithme de tri par insertion.
* La fonction recevra en parametres le tableau ainsi que le nombre d'elements.

• le tri sera fait dans le tableau de depart sans avoir recours a un tableau auxiliaire. (3pts)

D. Ecrivez un programme qui permet a I'utilisateur de supprimer une valeur d'un tableau preaiablement saisi.
L'utilisateur donnera Pindice de la valeur qu'il souhaite supprimer. Attention, il ne s'agit pas de remettre une valeur a
zero, mais bel et bien de la supprimer du tableau lui-meme ! Si le tableau de depart etait 12-8 - 4 •- 45 - 64 - 9 - 2 -
7 et que I'utilisateur souhaite supprimer la valeur d'indice 4, le nouveau tableau sera : 12 - 8 - 4 - 45 - 9 - 2 - 1
(3pts)

Page 4/9
E, On veut monter une application de gestion des notes des stagiaires, ponr ce faire on a fait appel a
deux fichiers : (15 Points)
Fichier Stagiaires : avec organisation indexee, Acces direct sur la cle code, ouvert en lecture
Structure :
Code : entier
Norn : 10 Caracteres
Prenom : 10 Caracteres
Section : 6 Caracteres
Fichier Modules : avec organisation sequentielie, Acces sequential, ouvert en ecriture
Structure :
Code : entier
CodeModule : 20 Caracteres
NoteMoyenne : Numerique decimal

Travail a faire
1. Prevoir une solution de saisie des notes pour chaque stagiaire (4 Pts)
2. Donner la liste des stagiaires saisis (2 Pts)
3. Donner la liste des modules (2 Pts)
4. Donner le nornbre de stagiaires dans le fichier (2 Pts)
5. Calculer la moyenne globale des notes (3 Pts)
6. Prevoir un traitement des exceptions pour les contraintes qui posent probleme au systeme telles que
1'inexistence d'un stagiaire dans le fichier Stagiaires ou d'un module dans le fichier Modules ou d'une
note (2 Pts)

Partie 2 : SQL SERVER 2000 (13 points)


Soit le schema relationnel suivant: Epargnant (n°epargnant ,nom,prenom) Portefeuille(n<^portefeuille. n°sociele)
Titre(nftifre,designation_titre,valeur_actuelle,valeur_plus_haute,valeur_plus_basse,valeur_introductio
n)
Place(n°_place,designation place,ville)
Societe_intermediation(n°societe.designation_societe)
Ligne_portefeuille(n°epargnant. n°_portefeuille')
Traile dans(n°lilre.n°place)
Ce Schema correspond aux places financieres ou sont cotes les titres (action .obligations, ..)de
1'entreprise
Ces titres sont detenus par des epargnants. Un epargnant peut detenir plusieurs portefeuilles de titres
qui peuvent etre geres par divers societes d'intermediation
A - Creer la base de donnees Compte en respectant le MLD ci-dessous (4 pts)
B - Ecrire les requetes SQL suivantes :
9. La liste des epargnants qui possedent le litre WAFABANK (Ipt)
i 0. Les titres cotes a la fois a la place de Casablanca ct au Caire (Ipt)
11. Les titres qui ont progresse de plus de 20% depais leur introduclion en bourse (Ipt)
12. Suppression des titres du portefeuille n°l 5 du monsieur Hassani (1.5pl)
13. Les actionnaires detenanl Paclion BMCE et BCM (l.Spt)
14. Les epargnants qui n'ont plus de portefeuille de litre (l.Spt)
Les societes d'intermediation qui ne gerent plus de portefeuilles contenant le litre ONA (L5pt)

Page 5 / 9
Office de la Formation Professionnelle et
de la Promotion du Travail

Direction Recherche et Ingenierie de Formation

Examen de passage, session juin 2006

______Epreuve pratique______
Filter e: TSDI Bareme :40 Pts.
Niveau: TS Duree: 4H.

Variante n°4

Important •
II sera pris en consideration la convivialite des interfaces et la clarte du
code. La gestion des erreurs et la robustesse de /'application seront bien
appreciees. La totalite de votre travail doit etre enregistree dans un
meme repertoire pour faciliter la sauvegarde par la suite. Pour cela, il
faut creer sur votre bureau un dossier qui porte votre nom A Prenom. et
c'est dans ce dernier que vous allez enregistrer vos realisations par la suite.

Dossier \ : SOL server (ISpts)


Voici le modele relationnel des donnees de la base de donnees AcciRoute pour
representer les rapports d'accidents de la route. Le type des attributs est fourni sur le
modele. Les cles primaires sont soulignees et les cles etrangeres sont ecrites en italique :

Personne Qnas : int, nom : varchar(35), villeP : varchar(50))


Voiture (imma : varchar(12), modele : varchar(20), annee : int, nas : int)
Accident (dateAc : date, nas : int, dommages : single, villeAc : varchar(SO),
imma : varchar(12) )

Notes :
a) Une personne est proprietaire d'une ou de plusieurs voitures
b) Une personne ne conduit qu'une seule voiture dont elle est proprietaire
c) II peut y avoir des homonymes (personnes ayant le meme nom) differencies par
leur nas.

Page I/15
Travail a faire :
1) Creer la base de donnees SQL server. Les deux fichiers de la base doivent etre places
sur votre dossier. (3pt)
2) Creer le diagramme de la base et saisir un jeu d'enregistrements dans chaque table

3) Ajouter les utilisateurs suivants et accorder leur les permissions specifiers (Ipt)

Login Permissions
said Proprietaire de la base
laila Lecture des champs nas et nom de la table Personne
mourad Lecture de toutes les tables et modification de la table
Accident

4) Developper les vues suivantes (lOpts)


vue 1 Trouver le nombre total de proprietaires de voitures impliquees dans un accident
de la route entre le 1/1/2001 et le 31/12/2005.
vue 2 Trouver le nom et le nas des proprietaires de voiture qui ont fait plus de deux
accidents.
vue 3 Afficher les accidents ayant des dommages superieurs a 5000
vue 4 Trouver le total des dommages subis par les voitures qui appartiennent a des
conducteurs de Tanger.
vue 5 Lister 1'annee de la voiture accidentee la plus ancienne.
vue 6 Afficher les immatriculations de voiture qui contiennent la lettre B.
vue 7 Afficher pour chaque ville le nombre total d'accidents enregistres.
vue 8 Afficher les villes ou il y a plus de 1000 accidents enregistres dans la base.
vue 9 Afficher les noms des proprietaires de voiture qui resident dans une ville ou il y
a eu plus de 1000 accidents.
vue 10 Afficher le nom des proprietaires d'une voiture accidentee, qui resident dans
une ville ou il y a eu plus de 1000 accidents.
vue 11 Afficher le ratio du nombre d'accidents par ville et cela par rapport au
nombre total des accidents. Pour repondre a cette question, vous pouvez
creer une vue NbAc qui calcule le nombre total d'accidents.
vue 12 Lister le nom des personnes qui ont eu un ou plusieurs accidents dans la ville
de Marrakech.
vue 13 Afficher les accidents ayant des dommages compris entre 2000 et 5000.
vue 14 Afficher les dates des accidents dans lesquels sont impliques le vehicule
immatricule 1234-A-24.
vue 15 Combien d'accidents sont survenus le 24/5/2003 ?

Page 2/15
vue 16 Quelle est la date du premier accident qui a fait 1'objet d'un enregistrement ?
vue 17 Compter le nombre d'accidents survenus a Casa le 1/1/2004.
vue 18 Afficher la date de 1'accident le plus recent a Casa impliquant un modele Fiat.
vue 19 Afficher pour chaque ville le nas et le nom des personnes impliquees dans les
accidents survenus entre le 20/2/2005 et 28/2/2005.
vue 20 afficher la liste des accidents classee par ordre decroissant de leur date.

Dossier 2 : Developpement d'application evenementielle (25pts)


Une ecole de formation de la langue espagnole vous demande de developper une application qui
permet de gerer ses stagiaires ainsi que les resultats qu'ils ont obtenu au cours du cursus de
formation qui se decoupe en 9 modules numerates de 1 a 9.
On souhaite enregistrer pour chaque stagiaire, le numero d'inscription, le nom, le prenom, le
sexe, la date de naissance, le numero de module et la note obtenue a ce module.
Toutes ces informations seront enregistrees en memoire, a vous de choisir les structures de
donnees qui conviennent a leur stockage. L'application que vous allez creer permettra la
saisie des donnees et 1'edition d'un certain nombre de resultats. Prevoir la gestion des
exceptions.

1) L'application doit comprendre la feuille MDI suivante : (3pts)

liste des stagsares par Module

2) Pour ajouter un nouveau stagiaire, on utilise 1'option Ajouter du menu Stagiaires. La


fenetre ci-dessous doit apparaitre pour permettre la saisie des informations. Un click
sur le bouton OK permettra de valider les donnees et de fermer cette fenetre. Le
bouton Annuler permet d'abandonner 1'operation. La note doit etre comprise entre 0
et 20. (4pts)

Page 3 /IS
3) Developper une fonction de recherche qui re9oit le numero d'inscription d'un
stagiaire et renvoie sa position dans la liste. La fonction doit renvoyer la valeur -1
quand le numero recherche n'est pas trouve. (2pts)
Function recherche_stagiaire( num_ins as integer) as integer
4) Pour supprimer un stagiaire, on utilise 1'option Supprimer du menu Stagiaire. La
fenetre ci-apres apparait. Elle permet de saisir le numero d'inscription du stagiaire
a supprimer. Quand il existe vous devez afficher un message de confirmation de la
suppression avec la question « Voulez-vous vraiment supprimer ce stagiaire ? ». Si
1'utilisateur repond par oui on precede a la suppression, sinon I'operation est
annulee. Si le numero d'inscription n'est pas trouve, 1'application affiche un
message d'erreur. (4pts)

Suppression Erreur
IJ Le stagiaire a ete supprime ce numero n'existe pas

OK OK
ou
Page 4 /IS
5) La consultation des informations d'un stagiaire peut se faire avec I'option Consulter du
menu Stagiaire. Pour ce faire, 1'utilisateur doit commencer par saisir un numero
d'inscription, 1'application repond soit par un message d'erreur lorsque le numero est
inexistant, soit par afficher les donnees du stagiaire recherche. (4pts)
I Consultation nx
N* d'inscription

nom

6) On peut consulter la liste des stagiaires en utilisant I'option Liste des Stagiaires du menu
Edition. Utiliser une zone de liste pour afficher les donnees. (4pts)
1 Liste de tous les stagiaires
SE1®
44 Drissi Aziz 1 0/02/1 980 Ml 1 2 55 Alami Saida 1 5/02/1 980
F 3 1 4 669 alimi Khalid 1 5/02/1 982 F 2 1 2
i

7) Liste des stagiaires par module : L'utilisateur saisit le numero d'un module (entre 1 et 9)
et 1'application affiche 1 liste des stagiaires correspondants. (4pts)
liste_par_mo d ule
Choisissez un module

44 DrissiAziz 10/02/1980 M1 12

Page 5/15
Office de la Formation Professionnelle et
de la Promotion du Travail

Direction Recherche et Ingenierie de Formation

Examen de passage, session juin 2006

______Epreuve pratique______

Filier e: TSDI Bareme :40 Pts.


Niveau: TS Duree: 4H.

Variante n°5

Important •
II sera pris en consideration la convivialite des interfaces et la clarte du code. La
gestion des erreurs et la robustesse de I'application seront bien appreciees. La totalite
de votre travail doit etre enregistree dans un meme repertoire pour faciliter la
sauvegarde par la suite. Pour cela, il faut creer sur votre bureau un dossier qui
porte votre nom A Prenom. et c'est dans ce dernier que vous allez enregistrer vos
realisations par la suite.

Dossier 1 : SQL server (ISpts)


Voici le modele relationnel des donnees de la base de donnees Commerce pour enregistrer
I'activite commerciale d'une entreprise. Le type des attributs est fourni sur le modele. Les cles
primaires sont soulignees et les cles etrangeres sont ecrites en italique :

Client (numcli: int, nom : varchar(40), cp : varchar(6), rue : varchar(20), ville : varchar(SO))
Fournisseur (numfour : int, raisonsoc : varchar(30))
Produit (numprod : int, designation : varchar(60), pnx : single, numfour : int)
Commande (numcli: int, numprod: int, quantite : int, datec : date)

Notes :
d) Un client peut passer plusieurs commandes
e) Un produit peut apparaitre sur plusieurs commandes
f) Un fournisseur peut proposer un ou plusieurs Produits.
g) II peut y avoir des homonymes (clients ayant le meme nom) differencies par leur
numcli

Page 6/15
Travail a faire :
5) Creer la base de donnees SQL server. Les deux fichiers de la base doivent etre places sur
votre dossier. (3pt)
6) Creer le diagramme de la base et saisir un jeu d'enregistrements dans chaque table (Ipt)
7) Ajouter les utilisateurs suivants et accorder leur les permissions specifiers (Ipt)

Login Permissions
Driss Proprietaire de la base
Khalid Lecture des champs numCli, nom la table Client
Aziza Lecture de toutes les tables et modification de la table
Commande

8) Developper les vues suivantes (lOpts) / (0.5 pt par question)

vue 1 Liste de tous les clients de la ville d'Agadir


viie 2 Liste de tous les clients par ordre decroissant des noms.
vue 3 Afficher le montant total de toutes les commandes
vue 4 Afficher le numcli, nom et montant des commandes par client
vue 5 Afficher le numcli et nom des clients ayant passe plus de 10 commandes le mois de mai
2005.
vue 6 Afficher la designation du produit et la quantite commandee moyenne.
vue 7 Liste des produits n'ayant fait 1'objet d'aucune commande entre le 2/1/2005 et le
7/1/2005.
vue 8 Afficher la raison sociale des fournisseurs et le nombre de produit qu'ils proposent
vue 9 Afficher la designation des produits proposes par le fournisseur 'SOTO'
vue 10 Afficher la designation de tous les produits commandes par le client 'ALAMF
vue 11 Afficher les noms des clients dont le montant total des commandes depasse
50000.
vue 12 Afficher toutes les commandes qui concernent le produit 'Stylo'
vue 13 Calculer le nombre de clients ayant passe au moins dix commandes le mois de janvier
2005.
vue 14 Trouver les fournisseurs proposant plus d'un produit, afficher leur raison sociale
uniquement
vue 15 Afficher la date de la commande la plus recente
vue 16 Calculer le nombre de produits distincts ayant etc commande le 6/1/2005
vue 17 Trouver les clients dont le nom commence par les lettre 'SA'
vue 18 Lister les commandes triées dans 1'ordre décroissent de leur montant

Page 7/15
vue 19 Trouver les paires de client residant dans la meme ville
vue 20 Trouver les produits qui n'ont pas ete commandes depuis le 1/1/2006
Dossier 2 ; Developpement d'application evenementielle (25pts)
Une bibliotheque vous demande de developper une application qui permet de gerer ses livres.
On souhaite enregistrer pour chaque livre, le code, le titre, 1'auteur, la date d'achat, le prix d'achat
et la disponibilite ('O' : si disponible 'N' : sinon).
Toutes ces informations seront enregistrees en memoire, a vous de choisir les structures de donnees
qui conviennent a leur stockage. L'application que vous allez creer permettra la saisie des
donnees et 1'edition d'un certain nombre de resultats. Prevoir la gestion des exceptions.

8) L'application doit comprendre la feuille MDI suivante : (Ipt)

Ajouter Liste des Livres


Supprime Liste des Livres
r

9) Pour ajouter un nouveau livre, on utilise 1'option Ajouter du menu Livre. La fenetre ci-
dessous doit apparaitre pour permettre la saisie des informations. Un click sur le bouton
OK permettra de valider les donnees et de fermer cette fenetre. Le bouton Annuler permet
d'abandonner Poperation. Le prix doit etre compris entre 0 et 5000. Toutes les informations
doivent etre saisie. (4.5pts)

JSlAjout d'un Livre


Code livre 120
: !
1t i UML
!
lAzizi M charmed
litre Auteur

Oui Norn
disponible

l5/02/2004
Date d'achat

450
prix
Annuler
10) Developper une fonction de recherche qui re9oit le code d'un livre et renvoie sa position
dans la liste. La fonction doit renvoyer la valeur -1 quand le numero recherche n'est pas
trouve. (3pts)

Page 8/15
Function recherche_livre( codeL as integer) as integer
11) Pour supprimer un livre, on utilise 1'option Supprimer du menu Livre. La fenetre ci-apres
apparait. Elle permet de saisir le code du livre a supprimer. Quand il existe vous devez
afficher un message de confirmation de la suppression avec la question « Voulez-vous
vraiment supprimer ce livre ? ». Si Putilisateur repond par oui on precede a la suppression,
sinon 1'operation est annulee. Si le code n'est pas trouve, 1'application affiche un message
d'erreur. (4pts)
Suppression Erreur
Le Livre a ete supprime ce numero n'existe pas

OK OK

ou
12) La consultation des informations d'un livre peut se faire avec 1'option Consulter du menu
Livre. Pour ce faire, Putilisateur doit commencer par saisir un code livre, 1'application
repond soit par un message d'erreur lorsque le code est inexistant, soit par afficher les
donnees du livre recherche. (4.5pts)

Consultation nx

13) On peut consulter la liste des livres en utilisant 1'option Liste des Livres du menu Edition. Utiliser
une zone de liste pour afficher les donnees. (4pts)

Page 9/15
14)Liste des livres disponible/indisponible : Grâce a cette option, I'utilisateur pourra afficher les livres qui
sont disponibles ou indisponibles. (4pts)
Office de la Formation Professionnelle et
de la Promotion du Travail

Direction Recherche et Ingenierie de Formation

Examen de passage, session juin 2006

______Epreuve pratique ___

Filiere: TSDI Bareme :40 Pts.


Niveau: TS Duree: 4H.

Variante n°6

Important:
II sera pris en consideration la convivialite des interfaces et la clarte du code. La
gestion des erreurs et la robustesse de ('application seront bien appreciees. La totalite
de votre travail doit etre enregistree dans un meme repertoire pour faciliter la
sauvegarde par la suite. Pour cela, il faut creer sur votre bureau un dossier qui porte
votre nom <& Prenom. et c'est dans ce dernier que vous allez enregistrer vos
realisations par la suite.

Dossier \ : SQL server (ISpts)


Voici le modele relationnel des donnees de la base de donnees Gesthotel pour enregistrer
1'activite d'un hotel. Le type des attributs est fourni sur le modele. Les cles primaires sont
soulignees et les cles etrangeres sont ecrites en italique :

Chambre (numch : int. prix : single, typec : varchar(lO))


Reservation (numr ; int. dateDebut: date, dateFin : date, numch :int, numcli: inf)
Client (numcli: int, nom : varchar(SO), villec : varchar(40), pays : varchar(SO))

Notes :
h) Un client peut effectuer une ou plusieurs reservations
i) Une chambre peut faire Pobjet de plusieurs reservations a des periodes differentes. On ne
peut pas trouver deux reservations pour la meme chambre et la meme periode
j) L'hotel possede des chambres simple ou double (Attribut typec)
k) Le prix des chambres varie en fonction des equipements et du confort de la chambre
1) La facturation se calcule sur la base du nombre de nuitees = dateFin - dateDebut

Page 11/15
Travail a faire :
9) Creer la base de donnees SQL server. Les deux fichiers de la base doivent etre places sur
votre dossier. (3pt)
10) Creer le schema de la base et saisir un jeu d'enregistrements dans chaque table (Ipt)
11) Ajouter les utilisateurs suivants et accorder leur les permissions specifiees (Ipt)

Login Permissions
Aziza Proprietaire de la base
Maria Lecture des champs numCli, nom la table Client
Mohamed Lecture de toutes les tables et modification de la table
Réservation

12) Developper les vues suivantes (lOpts) / (0.5 pt par question)

vue 1 Afficher tous les Clients Allemands


vue 2 Dormer le nombre de chambre par type de chambre
vue 3 Trouver les chambres qui coûtent le moins chère.
vue 4 Afficher une liste qui comprend le numéro de réservation, la date d'entrée et le nom du
client.
vue 5 Afficher une liste qui comprend le numéro de réservation et le nom du client pour les
entrées d'aujourd'hui (date de début de réservation = date système).
vue 6 Calculer le prix moyen des chambres.
vue 7 Calculer le prix moyen des chambres par type de chambre.
vue 8 Lister toutes les réservation du client numéro 3.
vue 9 Calculer le montant total de la facture en cours du client numero 3.
vue 10 Lister les noms des clients résidents actuellement a 1'hotel.
vue 11 Dormer le nombre de clients séjournent actuellement a 1'hotel.
vue 12 Dormer les chambres libres le 21/2/2006
vue 13 Calculer le nombre de chambres occupées le 21/2/2006
vue 14 Dormer le nombre de réservations faites pour des chambres simples
vue 15 Calculer le nombre total de nuitées par chambre
vue 16 Calculer le chiffre d'affaire total par chambre = total des nuitees * prix
vue 17 Trouver le chiffre d'affaire total par type de chambre
vue 18 Lister les clients dans 1'ordre croissant des pays et 1'ordre décroissent des villes
vue 19 Lister les clients ayant effectue au moins 3 réservations
vue 20 Lister les chambres n'ayant aucune réservation enregistrée dans la base

Page 12/15
Dossier 2 ; Developpement d'application evenementielle (25pts)
Une entreprise vous demande de developper une application qui permet de gerer son pare
d'ordinateurs qui est constitue de PC equipes de processeurs Pentium (2,3 et 4).
On souhaite enregistrer pour chaque PC, le code, la marque, le processeur, la capacite de la RAM, la
capacite du disque dur, la date et le prix d'achat.
Toutes ces informations seront enregistrees en memoire, a vous de choisir les structures de donnees qui
conviennent a leur stockage. L'application que vous allez creer permettra la saisie des donnees et P
edition d'un certain nombre de resultats. Prevoir la gestion des exceptions.

15) L'application doit comprendra la feuille MDI suivante : (2pts)

PC Edition
Quitber
Ajouter Liste des PCs
Supprimer Liste des PCs par processeur
Consulter Liste des PCs par capacite RAM
Liste des PCs par capacite de Disque dur

16) Pour ajouter un nouveau PC, on utilise 1'option Ajouter du menu PC. La fenêtre ci-dessous
doit apparaître pour permettre la saisie des informations. Un click sur le bouton OK permettra
de valider les données et de fermer cette fenêtre. Le bouton Annuler permet d'abandonner P
opération. Le prix doit être compris entre 0 et 5000. Toutes les informations doivent être
saisies. (4pts)

Page 13/IS
Ajout d'un PC

Code PC 2501

marque Acer

processeur

ram

Disque dur

Date achat

prix

17) Développer une fonction de recherche qui re9oit le code d'un PC et renvoie sa position dans
la liste. La fonction doit renvoyer la valeur -1 quand le numéro recherche n'est pas trouve.
(3pts)
Function recherche_PC( num_ins as integer) as integer
18) Pour supprimer un PC, on utilise 1'option Supprimer du menu PC. La fenêtre ci-après
apparaît. Elle permet de saisir le code du PC a supprimer. Quand il existe vous devez
afficher
un message de confirmation de la suppression avec la question « Voulez-vous vraiment
supprimer ce PC ? ». Si 1'utilisateur répond par oui on précède a la suppression, sinon
1'operation est annulee. Si le code n'est pas trouve, Application affiche un message
d'erreur.
(4.5pts)

OU
19) La consultation des informations d'un PC peut se faire avec 1'option Consulter du menu PC.
Pour ce faire, 1'utilisateur doit commencer par saisir un code, Papplication repond soit
par un message d'erreur lorsque le code est inexistant, soit par afficher les donnees du PC
recherche. (4.5pts)
Page 14/15

20) On peut consulter la liste des PC en utilisant I'option Liste des PCs du menu
Edition. Utiliser une zone de liste pour afficher les données. (3.5pts)

21) Liste des PC par processeur : L'utilisateur doit saisir un type de processeur et
Application affiche la liste des PC correspondant. (3.5pts)

Page 15/15