32
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 ______ 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 OFPPT Filler e: TSDI Niveau: TS Barème :40 Pts. Durée: 4H.

Examen Passage Juin 2006

Embed Size (px)

Citation preview

Page 1: Examen Passage Juin 2006

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______

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

OFPPT

Filler e: TSDI Niveau: TS

Barème :40 Pts. Durée: 4H.

Page 2: Examen Passage Juin 2006

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 3: Examen Passage Juin 2006

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

Page 4: Examen Passage Juin 2006

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_______

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.

Fillere: TSDI

Niveau: TS

Bareme :40 Pts.

Duree: 4H. Variante n°8

Page 4 / 9

Page 5: Examen Passage Juin 2006

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

Page 6: Examen Passage Juin 2006

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

Page 7: Examen Passage Juin 2006

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______

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

Resultat : 22

10

O Addition O Soustraction O Multiplication O Division

Page 7/9

OFPPT

Filiere: TSDI

Niveau: TS

Bareme :40 Pts.

Duree: 4H.

Page 8: Examen Passage Juin 2006

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

Page 9: Examen Passage Juin 2006

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 : PROPRIETNUM 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 30COD 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

Page 10: Examen Passage Juin 2006

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______

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

Fillere: TSD1

Niveau: TS

Bat-erne :40 Pts. Duree: 4H.

Page 11: Examen Passage Juin 2006

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)

Une table « Clients » repertoriant les informations des clients de 1'entreprise. Une table « Fournisseurs » detaillant les fournisseurs de 1'entreprise. Une table « Produits» concernant les produits commercialises par cette entreprise. Une table « Categorie» des produits commercialises. Une table « Commande» representant les commandes passees par les clients. 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 :40ConCli Texte Contact Taille : 30VilCli Texte Ville Taille : 20Sol Cli Oui/Non Solvabilite client Taille :15Tel 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 : 40Ref Fou Numerique Reference FournisseurRef Cat Numerique Reference categoriePri Unitaire

Monetaire

Prix unitaire

Toujours positif sinon afficher un message d'erreur

Quantite disp Numerique Quantite disponible Taille : Entier

Page 7 / 9

a a a a a a

Page 12: Examen Passage Juin 2006

La table Categorie

Norn champ Type donnee Description Proprietes du champ

Ref Cat Numerique Reference categoric Entier longDes_Cat

Texte

Description categoric

Taille : 40

La table commande

\ j Norn champ

Type donnee Description Proprietes du champ

Ref_Com 1

Numero Auto

Reference commande

Entier long

! RefjCli Texte Reference Client1 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

Page 13: Examen Passage Juin 2006

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

Page 14: Examen Passage Juin 2006

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______

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

OFPPT

Filler e: TSDI Niveau: TS

Bareme: 40 Pts. Duree: 4H.

Page 15: Examen Passage Juin 2006

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

Page 16: Examen Passage Juin 2006

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_introductio

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

Page 17: Examen Passage Juin 2006

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______

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

Filiere: TSDI Niveau: TS

Bareme :40 Pts.

Duree: 4H.

Page 18: Examen Passage Juin 2006

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

Page 19: Examen Passage Juin 2006

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______

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

Bareme :40 Pts.

Duree: 4H.

Filter e: TSDI Niveau: TS

Page 20: Examen Passage Juin 2006

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 Accident

et modification de la table

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

Page 21: Examen Passage Juin 2006

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)

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

liste des stagsares par Module

Page 22: Examen Passage Juin 2006

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)

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)

Suppression Erreur

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

OK OK

ou

Page 4 /IS

Page 23: Examen Passage Juin 2006

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)

44 DrissiAziz 10/02/1980 M1 12

n x I Consultation

N* d'inscription

nom

liste_par_mo d ule

Choisissez un module

Page 5/15

Page 24: Examen Passage Juin 2006

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______

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

Filier e: TSDI Niveau: TS

Bareme :40 Pts. Duree: 4H.

Page 25: Examen Passage Juin 2006

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 Commande

table

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

Page 26: Examen Passage Juin 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)

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)

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)

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)

Ajouter Supprimer

Liste des LivresListe des Livres

JSlAjout d'un Livre

Code livre:1t!i!

litre Auteur

disponible

Date d'achat

prix

120

UML

lAzizi M charmed

Oui Norn

l5/02/2004

450

Annuler

Page 8/15

Page 27: Examen Passage Juin 2006

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)

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)

Suppression Erreur

Le Livre a ete supprime ce numero n'existe pas

OK OK

ou

n x Consultation

Page 28: Examen Passage Juin 2006

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 ___

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

Filiere: TSDI Niveau: TS

Bareme :40 Pts. Duree: 4H.

Page 29: Examen Passage Juin 2006

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 Réservation

table

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

Page 30: Examen Passage Juin 2006

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)

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

PC Edition

Quitber Liste des PCs Liste des PCs par processeur Liste des PCs par capacite RAM Liste des PCs par capacite de Disque dur

Ajouter Supprimer Consulter

Page 31: Examen Passage Juin 2006

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)

Ajout d'un PC

Code PC

marque

processeur

ram

Disque dur

Date achat

prix

2501

Acer

Page 32: Examen Passage Juin 2006

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

Page 14/15