Please enable JavaScript to access this page. Examens de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server - Techniques de Développement Informatique

Examens de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server


Examen de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server Variante 2

Partie 1 : JAVA

Soit la class Stagiaire qui modélise un stagiaire , cette class comportera les attributs suivants :
Matricule      INT
Nom      String
Prénom      String
Sexe      String
Filière      String
Note1      Double
Note2      Double
Note3      Double

Questions :
1- Codage de la class stagiaire :
       a) Ecrire la classe Stagiaire en interdissent l’accès aux attributs.
       b) Ajouter les accesseurs et les modificateurs de chaque attribut.
       c) Ajouter un compteur qui permet de compter le nombre des objets créés de la class stagiaire.
2- Ajouter un constructeur sans argument qui initialise le matricule ; le matricule doit avoir la valeur du compteur.
3- Ajouter un constructeur avec 3 arguments qui initialise le nom, le prénom, et la filière.
4- Ajouter un constructeur qui initialise tous les attributs de la classe stagiaire.
NB : à chaque instanciation d’un objet de stagiaire, le compteur s’incrémente et le matricule du stagiaire recevra la valeur du compteur.
5- Ajouter une méthode RAZ qui initialise le compteur à 0. (0,5 point)
6- Ajouter la méthode EQUALS qui teste l’égalité de 2 objets Stagiaire (2 objets stagiaires sont égaux s’ils ont le même matricule).
7- Ajouter une méthode CALCUL qui permet de calculer la moyenne générale de chaque stagiaire. (1,5 point)
8- Crées une exception nommée ERRORNOTE qui se déclenche lors de la saisie d’une note qui est pas compris entre 0 et 20.
9- Ecrire un programme de test qui crée les objets suivants :


Examens de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server
Examens de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server


Puis il les affiche.
10- Faire un programme permettant de réaliser le classement des stagiaire par moyenne
11- On veut créer un programme java qui gère l’ensemble des stagiaires, le programme java doit permettre les opérations suivantes :
       1) Afficher tous les stagiaires.
       2) Ajouter un stagiaire.
       3) Rechercher un stagiaire.
       4) Modifier un stagiaire.
       5) Supprimer un stagiaire.
       6) Afficher la meilleure moyenne des femmes et la meilleure moyenne des hommes

Partie 2 : Programmation événementielle

On souhaite maintenant re-développer quelques fonctionnalités de cette application (de la Partie JAVA) en Vb (Utilisation des collections)
1. Créer un formulaire permettant d’ajouter, modifier, supprimer et rechercher un stagiaire (1 Pt)
2. Programmer les fonctionnalités suivantes :
       a. Ajout (1 Pt)
       b. Modification (1 Pt)
       c. Suppression (1 Pt)
       d. Recherche (2 Pts)
3. Ajouter un formulaire contenant une liste permettant d’afficher les stagiaires et leurs notes ainsi que la moyenne par stagiaire triés par filière. (2 Pts)
4. Afin d’imprimer cette liste, nous souhaitons enregistrer l’ensemble des enregistrement dans un fichier texte. Écrire le programme permettant de réaliser cette fonctionnalité (2 Pts)

Partie 3 : Sql Server

Soit le schéma relationnel suivant,


Examens de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server
Examens de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server


1. Créer la base de données 
2. Modifier les contraintes de la table EMPLOYE  pour que :
       a) La colonne SALAIRE  ne peut  accepter que valeurs comprises entre 1500 et 25000.
       b) La colonne NOM  doit avoir des valeurs contenant au moins 2 caractères  et doit être en majuscule.
       c) Le premier caractère de la colonne TITRE , si elle est renseigné, doit être compris entre A et Z.
       d) La colonne SEXE , si elle est renseigné, ne doit accepter que les valeurs M et F
3. Créer une vue nommée POSTE_VU contenant les champs suivant (CODQUAL, UNITCOD , NOMBRE .
4. Faire les requêtes suivantes :
       • Noms et dates de naissance des employés qui ne sont pas responsables d'unité et qui sont nés avant 1940.
       • Noms et date de naissance des employés ayant au moins deux A dans leur nom.
       • Noms et unités des employés ayant un salaire supérieur à 250000
       • Nom, unité, titre et date de naissance de tous les employés triés par numéro d'unité croissant (les plus jeunes d'abord)
       • Nom des employés sur le même poste budgétaire que 'LEVITT'.
       • Code emploi et nom des employés de l'unité 2122 ayant même emploi que quelqu'un de l'unité 2132.

Examens de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server Variante 3

Partie 1 : JAVA

On souhaite traiter des comptes bancaires. Un compte bancaire possède à tout moment une donnée entière, son solde. Il est caractérisé par ailleurs par un code donné sous forme de chaîne de caractères, et un titulaire qui est une personne physique. Ce solde peut être positif (compte créditeur) ou négatif (compte débiteur). Au départ, un compte bancaire a un solde nul, un code nul par défaut, et un titulaire inconnu. Il est aussi possible de créer un compte en précisant son solde initial, son titulaire et son code initial.
Utiliser son compte consiste à pouvoir y faire des dépôts et des retraits. Pour ces deux opérations, il faut connaître le montant de l'opération et vérifier que le code proposé est bien le code du compte.
L'utilisateur peut aussi consulter le solde de son compte.
1.1. Écrivez une classe PersonnePhysique, elle est décrite par un nom et prénom, et comprendra les méthodes suivantes :
       • constructeur
       • une méthode de consultation du nom
       • une méthode de consultation du prénom
1.2. Écrivez une classe CompteBancaire prenant en compte la description précédente. Cette classe comprendra les méthodes suivantes :
       • constructeurs
       • une méthode de modification du code
       • une méthode de consultation du solde
       • une méthode de dépôt
       • une méthode de retrait
1.3. La banque souhaite autoriser pour certains clients un découvert. Par défaut, ce découvert autorisé est nul.
Une méthode decouvertAutorise permettra d'en spécifier la valeur. Un retrait est alors possible tant que le client ne dépasse pas ce découvert autorisé. Le cas échéant, le retrait est refusé. Dans ce dernier cas, la méthode de retrait lancera une exception.
• précisez le(s) attribut(s) à ajouter à la classe CompteBancaire et modifiez le(s) constructeur(s).
• écrivez la méthode decouvertAutorise.
• définissez une classe RetraitInterditException qui sera lancée par la méthode de retrait dans le cas d'une tentative de retrait impossible.
• modifiez la méthode de retrait.
1.4. La banque souhaite conserver le nombre de comptes bancaires existants, le nombre de comptes débiteurs.
Proposez une solution pour cela.
1.5. La banque souhaite maintenant gérer des comptes "rémunérés". Il s'agit de comptes bancaires avec un attribut supplémentaire, un "taux d'intérêt". Les titulaires de tels comptes voudront savoir :
       • quel sera leur solde dans x années, 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.

Examen de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server Variante 6

Partie 1 : JAVA

1. Créer deux classes principales BankLocal et BankLocalServer qui vont agir respectivement comme client et comme serveur (en local). Seule BankLocal sera déclarée publique.
2. Créer une classe Account, représentant un compte bancaire, munie des champs String password, le mot de passe associé au compte et int balance le solde du compte. Cette classe ne contiendra qu’un constructeur et aucune autre méthode. Ce constructeur ne sera chargé que d’enregistrer le mot de passe et d’initialiser le solde à zéro.
3. L’ensemble des comptes bancaires sera stocké dans une table de hachage (Hashtable) réalisant l’association nom du titulaire d’un compte – objet de type Account (le compte, informatiquement parlant). Cette table sera le seul champ de BankLocalServer, nommé accounts.   
4. Créer une exception BankingException qui hérite d’exception et qui ne définit qu’un seul constructeur (et aucune autre méthode) BankingException(String) qui appelle le constructeur de la classe mère. Cette exception servira pour des cas tels que “Solde insuffisant” ou “Mot de passe invalide”. 
5. Prévoir les opérations suivantes :    
Ouverture de compte par la méthode
public void openAccount(String name, String password) throws BankingException.
Le nom du titulaire name est donné en premier argument et son mot de passe password en deuxième argument. La méthode réalise la vérification d’un compte ayant déjà le même nom de titulaire, auquel cas elle lève une exception de type BankingException et dans le cas contraire crée le compte et l’enregistre dans la table accounts.
– Une méthode utilitaire de vérification d’existence de compte et de mot de passe valide : public Account verify(String name, String password) throws BankingException.
Si le compte de nom name n’existe pas (dans account) ou si le mot de passe password est différent de celui trouvé dans accounts comme correspondant à name, la méthode génère une exception de type BankingException.
Sinon, elle renvoie une référence sur l’objet de type Account correspondant.
– Fermeture de compte par la méthode
public int closeAccount(String name, String password) throws BankingException.
Elle effectue une vérification à l’aide de verify(...), retire le compte de accounts, met le solde à zéro et renvoie le montant disponible.
Dépôt d’argent sur un compte par la méthode
public void deposit(String name, String password,int money) throws BankingException.
Elle effectue une vérification à l’aide de verify(...) et incrémente le solde du montant money déposé.
– Retrait d’argent sur un compte par la méthode
public int withdraw(String name, String password,int amount) throws BankingException.
Elle effectue une vérification à l’aide de verify(...), vérifie que le solde est suffisant pour le montant du retrait (dans le cas contraire, elle genère une exception de type BankingException), décrémente le solde du montant amount et renvoie le montant retiré.
– Obtention du solde d’un compte par la méthode
public int getBalance(String name, String password) throws BankingException.
Elle effectue une vérification à l’aide de verify(...), puis renvoie le solde du compte.
6. La méthode main(...) se trouvera dans BankLocal et proposera à l’utilisateur un menu textuel afin qu’il puisse gérer son compte. Les entrées seront effectuées avec des readLine() (sur une référence créée comme suit BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in)) ;) et les sorties seront effectuées avec des System.out.println(...)   

Partie 2 : Programmation événementielle

Le service après vente d’un grand magasin souhaite informatiser son système de gestion des interventions réalisées. Les réparations du SAV ne concernent que le matériel électronique (le plus sujet à des pannes).
On est alors en mesure d’enregistrer une intervention, identifiée par un numéro d’intervention, la date de l’intervention, la durée de l’intervention (en heures) ainsi que le type d’intervention (ex : magasin, déplacement à domicile, etc.) et le technicien (nom et prénom) concerné par l’intervention.

Questions :
1- Créer l’interface suivante :


Examens de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server
Examens de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server


NB : la zone de texte qui concerne le numéro d’intervention doit être verrouiller et incrémenter par 1 à chaque nouvelle intervention.
2- Créer la classe intervention et la collection qui va contenir toutes les interventions.
3- Ecrire une méthode de contrôle de saisie.
4- Ecrire les fonctions qui correspondent aux différents boutons de l’interface :
       a. Premier.
       b. Précédant.
       c. Suivant.
       d. Dernier.
       e. Nouveau.
       f. Enregistrer.
       g. Supprimer.
5- Ajouter une liste affichant l’ensemble des interventions triées par type d’intervention
6- Sachant qu’une heure d’intervention est facturée à 165 dhs. Ecrire un programme permettant de calculer le montant des interventions entre deux dates saisies par l’utilisateur et afficher le résultat dans une zone de texte verrouillée.

Partie 3 : Sql Server

Soit la structure de la base de données suivante :
       ANIMAL (NoAnimal, NomAnimal, NoEmplacement, CodeEspèce)
       EMPLACEMENT (NoEmplacement, TypeEmplacement)
       GARDIEN (NoGardien, NomGardien, NoChef, Salaire)
       AFFECTATION (NoEmplacement, NoGardien)
       ESPECE (CodeEspèce, NomEspèce, Classe)

Les animaux sont parqués dans des emplacements. Ces emplacements sont affectés à un ou plusieurs gardiens. Certains gardiens dirigent d'autres gardiens. NoChef est le numéro du chef d'un gardien. Cette information a la valeur null si le gardien n'a pas de chef.
       A – Créer la base de données Zoo en respectant le MLD ci-dessus (2 pts)
       B –  les requêtes SQL (5 pts) :
1 -Afficher les noms d'espèces et classes des animaux résidant aux emplacements de type bassin ou aquarium. (1 pt)
2 - Le zoo décide de supprimer les différentes cages à oiseaux (typeEmplacement  = 'CAGE_A_OISEAUX'). Les volatiles de ce type d'emplacements seront indistinctement relogés à l'emplacement numéro 7, car c'est celui de la grande volière. (1 pt)
Ne pas oublier de supprimer les affectations à ces cages.
3-afficher les noms des gardiens qui s'occupent d'un emplacement dont leur chef ne s'occupe pas. (1 pt)
4- Afficher tous les numéros d'emplacements avec, pour chaque emplacement, le nombre de gardiens affectés à cet emplacement. (1pt)
5- Afficher les noms des espèces dont s'occupe le gardien nommé Dupond. On dira qu'un gardien s'occupe d'une espèce si ce gardien est affecté à un emplacement occupé par un animal de cette espèce. (1 pt)

Examen de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server Variante 7

Partie 1 – JAVA

L’application qui doit être développée doit gérer le système d'information d'un hôtel. Cette application contiendra les classes suivantes : Hotel, Chambre, Personnel, Client, Reservation, et autres classes
Remarque : utilisez l’encapsulation et l’héritage chaque fois que possible.
Pour chaque classe, écrivez la méthode String toString()
1) Ecrivez une classe Hotel, un hôtel possède un nom, une adresse, une ville et un dirigeant qui fait parti du personnel d’hôtel (2 Pts)
2) Écrivez une classe  nommée Personne (qui ne peut être instanciée) pour représenter une personne en général (Personnel ou client). (2 Pts)
3) Ecrivez une classe Personnel, qui décrit les personnels de l’hôtel, chaque personnel à un matricule, nom, prénom, adresse et fonction. (2 Pts)
4) Ecrivez une classe Client, qui décrit les clients de l’hôtel, chaque client à un numéroClient, nom, prénom, adresse. (2 Pts)
5) Ecrivez une classe Chambre qui représente les chambres de l’hôtel
Une chambre d’hôtel est décrite par : un numéro (qui ne peut être modifié), le type de la chambre (individuelle ou double), la catégorie de la chambre (confort ou luxe) et le  prix (2 Pts)
6) Ajoutez dans la classe Hotel une collection qui contiendra tous les chambres de l’hôtel. (3 Pts)
7) Tous les employés sont enregistrés dans une collection Map (java.util.Map) dont la clé est le matricule de l’employé. Ce détail d'implémentation ne devra pas être visible du dehors de l'application. (3 Pts)
On devra pouvoir ajouter un nouvel employé à la collection (personnel) et avoir un Iterator de tout le personnel de l’hôtel.
8) Chaque chambre créée doit obligatoirement appartenir à un hôtel, modifier l’application pour tenir compte de cette assertion. (4 Pts)
9) Ajoutez des méthodes pour enregistrer dans un fichier et recharger en mémoire la collection qui contient tous les chambres, entre  2 sessions de travail. (3 Pts)

Partie 2 – Sql Server

Soit  le schéma de la base de données :
       PALETTE ( Code, Libellé, Nature, Poids)
       MAGASIN ( NumM, Nom, VilleM)
       CENTRE ( numC, société, villeC, classe)
       LIVRAISON ( numM, numC, Code, quantité) numP étant un code

A) Construire la base de données, ainsi les tables. Vous n’oublierez pas les contraintes d’intégrités avec la bonne syntaxe (2 Pts)
B) Exprimer les requêtes suivantes en SQL.
       1) Les villes où l'on trouve des magasins (sans duplication d'information!).(0.75 Pt)
       2 ) Le numéro des centres (de distribution) effectuant une livraison au magasin "1" (dans l'ordre des numéros de centre). (0.75 Pt)
       3 ) Le code des palettes livrées par un centre d'Ecublens à un magasin de Sion. (0.75 Pt)
       4 ) Les couples "NumM, NumC" correspondant chacun à un magasin et un centre localisés dans la même ville. (0.75 Pt)
       5 ) La nature des palettes livrées par le centre "5". (0.75 Pt)
       6 ) Le numéro des centres dont la classe est inférieure à celle du centre "1". (0.75 Pt)
       7 ) La quantité totale de palettes "5" en cours de livraison par le centre "5". (0.75 Pt)
       8 ) Le nom et la classe des centres (de distribution) localisés à Ecublens. (0.75 Pt)
       9 ) Le nom et la ville de tous les magasins. (0.75 Pt)
       10 ) Les livraisons concernant plus de 5 palettes.
(en précisant le numéro de magasin, celui du centre et le code des palettes de ces livraisons) (0.75 Pt)
       11 ) Le nom des magasins à qui le centre "5" livre au moins une palette. (0.75 Pt)
       12 ) Le numéro des magasins à qui un centre, d'une ville différente, livre une ou plusieurs palettes. (0.75 Pt)
       13 ) Le numéro des centres livrant à un magasin une quantité de palettes "4" plus grande que la quantité moyenne de ces palettes "4", livrées à ce même magasin. (0.75 Pt)
       14 ) Le code (-barre) des palettes livrées par un centre d'Ecublens. (0.75 Pt)
       15 ) Les couples de villes tels qu'un centre de la première livre quelque chose à un magasin de la seconde. (0.75 Pt)
       16 ) Le nombre total de magasins à qui le centre "1" livre au moins une palette. (0.75 Pt)
       17 ) Pour chaque groupe de palettes livrées (au même magasin), le code de la palette, le numéro du magasin et la quantité totale correspondante. (0.75 Pt)
       18 ) le code des palettes livrées par un centre à un magasin de la même ville. (0.75 Pt)
       19 ) le code des palettes livrées à un magasin de Morges. (0.75 Pt)
       20 ) le code des palettes dont la nature commence par "Fr". (0.75 Pt)

Examen de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server Variante 9

Partie 1 – JAVA

I - Créez une classe Livre pour représenter un livre qui possède les propriétés suivantes :
       - Titre de type texte
       - Auteur de type texte
       - nbPages de type numérique
       - prix de type numérique
Créez la méthode toString, les Modificateurs, les Accesseurs
II - Créez une classe Etagere pour représenter une étagère qui peut contenir un certain nombre de livres (fixe pour chaque étagère).
Vous utiliserez pour cela un tableau.
       • Le constructeur prendra en paramètre le nombre de livres que pourra contenir l'étagère.
       • Vous ajouterez des méthodes pour (lisez l'énoncé jusqu'au bout avant de commencer à coder)
              o Donner le nombre de livres que peut contenir l'étagère, et le nombre de livres qu'elle contient.
              o Ajouter des livres ("void ajouter(Livre)"). Vous ajouterez les livres "à la fin" de l'étagère. Il devra être impossible d'ajouter des livres dans une étagère pleine.
              o Récupérer un livre dont on donne la position sur l'étagère (le livre reste sur l'étagère, on récupère simplement une référence sur le livre). La méthode renverra une instance de Livre. La position du premier livre d'une étagère devra être 1 (et pas 0, bien que le livre soit rangé dans la première position du tableau, qui est d'indice 0). La signature de la méthode sera "Livre getLivre(int)".
              o Chercher sur l'étagère un livre repéré par son titre et son auteur. La méthode renverra la position du livre dans l'étagère (ou 0 si le livre n'y est pas). Le profil de la méthode sera "int chercher(String, String)". S'il y a plusieurs livres avec le même titre et le même auteur, la méthode renvoie celui qui a le plus petit indice.
              o Avoir une fonctionnalité semblable à la précédente, mais la méthode renvoie un tableau de positions s'il y a plusieurs livres qui ont ce titre et cet auteur. On aimerait appeler cette méthode "chercher" ; est-ce possible ? Le tableau aura pour taille le nombre de livres trouvés (0 si aucun livre n'a été trouvé). Si vous avez besoin de faire une copie de tableau, utilisez la méthode arraycopy pour voir... Écrivez aussi 2 méthodes pour rechercher tous les livres d'un auteur, ou tous les livres qui ont un certain titre. Cette fois-ci, les méthodes renvoient un tableau de livres.
              o Enlever des livres. Vous "tasserez" les livres vers le début quand vous enlèverez des livres. Vous écrirez 2 méthodes de même nom pour enlever un livre (on appelle ça une surcharge) :
- une méthode qui repèrera le livre par sa position (1 pour le premier livre) dans l'étagère (de profil "Livre enleverLivre(int)"),
- une méthode qui repèrera le livre par son auteur et son titre, et qui utilisera la méthode chercherLivre (de profil "Livre enleverLivre(String, String)").
Les 2 méthodes renverront le livre supprimé (ou null si le livre n'a pas été trouvé).
              o S'il y a beaucoup de livres, cet algorithme ("tasser" les livres, et donc faire un grand nombre de décalages) n'est pas bon pour enlever un livre. Réécrivez les méthodes enleverLivre pour placer le dernier livre à la place du livre enlevé ; vous nommerez les nouvelles versions "enlever".
              o Renvoyer une description d'une étagère (la fameuse, et bien utile, méthode toString()). Utilisez-la dès le début, par exemple pour tester la méthode ajouter.
              o Et tout ce qu'il vous semblera utile d'ajouter....
Dans la méthode main(), vous créerez des livres, 2 étagères et ajouterez les livres dans les étagères. Vous chercherez un des livres dans une étagère; s'il y est, vous ferez afficher son nombre de pages. Vous rechercherez tous les livres d'un auteur et les ferez afficher. Vous supprimerez un des livres d'une étagère. Vous ferez afficher à chaque fois que nécessaire les étagères modifiées (en utilisant la méthode toString()).
       Méthode main    4 pts
       class Livre    6 pts
       class Etagere    8 pts
       class Librairie    5 pts

Partie 2 – Sql Server

Soit le modèle logique suivant :
       Poste (id_poste, lb_poste)
       Entreprise (id_entreprise, lb_entreprise)
       Contact (Ncontact, nom, prenom, date_n, id_poste, id_entreprise)
Chaque employé a sa propre gestion des contacts, de cette manière ils sont indépendants
A – Créer la base de données Contact en respectant le MLD ci-dessus (2 pts)
B –  Les requête SQL  :
       1 - Afficher les personnes qui travaillent travaille dans la même entreprise « DIORH ». (0.5 pt)
       2 – Trier les contacts par Nom (0.5 pt)
       3 - Les employés veulent envoyer un joyeux anniversaire, afficher les contacts avec date de naissance et l’age de chaque personne. (1 pt)
       4 - Afficher les noms avec le poste « chef de service » dans les entreprises « DIORH » et « OMNIDATA ». (1 pt)
       5 - Afficher le nombre des contacts part entreprise. (1 pt)
       6 – Supprimer les contacts dont le nom commence par S (1 pt)
       7 – Mettre en majuscule les noms des contacts et en minuscule les prénoms (1 pt)

Partie 3 – VB.Net

Soit à développer l’application ci-dessous


Examens de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server
Examens de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server


1) Créer la fenêtre. (1 pt)
2) Créer la structure sur la quel vous représentez les données. (2 pts)
3) Créer la fonction affiche() pour afficher la liste sur la listBox. (1 pt)
4) Réaliser le code du bouton Ajouter et Supprimer du listbox. (2 pts)
5) Ajouter une option de tri par nom (1 pt)
6) Ajouter une fonction qui calcule le nombre des enregistrements (1 pt)
7) Sécuriser le lancement de l’application par (Respecter la casse) : (1 pt)
       Compte : AdminCom
       Mot de Passe : CFYM

Examen de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server Variante 10

Partie 1 – JAVA

En vue de la gestion d’une bibliothèque, on vous demande d’écrire une application pour traiter des documents de nature diverse : des livres, qui peuvent être des romans ou des manuels, des revues, des dictionnaires, etc.
Tous les documents ont un numéro d’enregistrement (un entier) et un titre (une chaîne de caractères). Les livres ont, en plus, un auteur (une chaîne) et un nombre de pages (un entier). Les romans ont éventuellement un prix littéraire (un entier, parmi : GONCOURT, MEDICIS, INTERALLIE, etc.), tandis que les manuels ont un niveau scolaire (entier). Les revues ont un mois et une année (des entiers) et les dictionnaires ont une langue (un entier, parmi ANGLAIS, ALLEMAND, ESPAGNOL, etc.).
Ces diverses sortes de choses doivent pouvoir être manipulées en tant que documents.
1. Définissez les classes Document, Livre, Roman, Manuel, Revue et Dictionnaire, entre lesquelles existeront les liens d’héritage que la description précédente suggère.
Dans chacune de ces classes définissez le constructeur qui prend autant d’arguments qu’il y a de variables d’instance et qui se limite à initialiser ces dernières avec les valeurs des arguments. Définissez également une méthode toString produisant une description sous forme de chaîne de caractères des instances de la classe. Enfin, si les variables d’instance ont été déclarées private (à défaut d’autre information, c’est conseillé) définissez également des accesseurs publics permettant de consulter les valeurs de ces variables. (5 pts)
Écrivez une classe exécutable TestDocuments qui construit et affiche un assortiment de documents de classes différentes. (1 pt)
2. Une bibliothèque sera représentée par une collection de documents (travailler avec Vector ou hashtable). Définissez une classe Bibliotheque, avec les méthodes :
       • Bibliotheque(int capacité) - constructeur qui crée une bibliothèque ayant la capacité (nombre maximum de documents) indiquée, (2 pts)
       • void afficherDocuments() - affiche tous les ouvrages de la bibliothèque, (1 pt)
       • void afficherAuteurs() - affiche la liste des auteurs de la bibliothèque (au besoin, utilisez l’opérateur instanceof), (2 pts)
       • boolean ajouter(Document doc) - ajoute le document référencé par doc et renvoie true (false en cas d’échec), (2 pts)
       • Document document(int i) - renvoie le ième document, (1 pt)
       • boolean supprimer(Document doc) - supprime le document référencé par doc et renvoie true (false en cas d’échec) (2 pts)
3. Définissez, avec un effort minimal, une classe Livrotheque ayant les mêmes fonctionnalités que Bibliotheque mais entièrement constituée de livres. En optimisant dans la classe Livrotheque la méthode afficherAuteurs. (4 pts)

Partie 2 – VB.Net

On souhaite maintenant re-développer quelques fonctionnalités de cette application (de la Partie JAVA) en Vb
1. Créer un formulaire permettant d’ajouter, modifier, supprimer et rechercher un document (1 Pt)
2. Programmer les fonctionnalités suivantes :
       a. Ajout (1 Pt)
       b. Modification (2 Pts)
       c. Suppression (2 Pts)
       d. Recherche (2 Pts)
3. Ajouter un bouton permettant d’afficher la liste des documents d’un auteur après avoir saisie le nom de l’auteur dans une zone de texte (2 Pts)
4. Ajouter dans un autre formulaire une liste affichant les auteurs et leurs documents ainsi que le nombre de livre pour chaque auteur (2 Pts)

Partie 3 – Sql Server

Soit le modèle  logique suivant :
       Client(idClient, nom, adresse)
       Commande(num_cmd, idClient, date_cmd)
       Produit(num_prd, libelle, prix_unitaire, qte_stock)
       Ligne commande(num_cmd, num_prd, qte_commandee)

1)    - Créer la base de données avec le nom « gestionProduit » (2 pts)
       - Remplir les tables avec quelques données pour le test    
2) Développer les requêtes suivantes :
       a- afficher les informations suivantes (nom du client, date de commande) (1 pt)
       b- afficher les information suivantes (libelle du produit, quantité totale commande) (1 pt)
       c- afficher les clients qui ont commandé au moins un produit en avril 2006 (1 pt)
       d- afficher pour chaque client le prix total de chaque commande (1 pt)
       e- afficher le montant totale des ventes en 2006 (1 pt)
       f- afficher le montant total des ventes en mois de Février 2006 (1 pt)

Examen de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server Variante 11

Partie 1 – JAVA

On veut modéliser la gestion des contacts dans un établissement. Un contact est caractérisé par :
Num_contact : Ce numéro est un entier positif permettant de désigner chaque contact géré par l'établissement. Chaque contact possède donc un numéro unique. Ce numéro est attribué par l’établissement à la création du contact et ne peut être modifié par la suite. Dans un souci de simplicité, on adoptera la politique suivante pour l'attribution des numéros de contact : les contacts sont numérotés de 1 à n, n étant le nombre de contacts créés. Lorsque un nouveau contact est créé, le numéro qui lui est attribué est n+1.
Nom : le nom du contact. Une fois le contact créé, le titulaire du contact ne peut plus être modifié.
Prenom : le prénom du contact. Une fois le contact créé, le titulaire du contact ne peut plus être modifié.
Date_n : La date de naissance.
Poste : la poste occupé par le contact.
Entreprise : nom de l’entreprise ou travail le contact.
1- Créer la classe contact. (2 pts)
2- Ajouter un constructeur avec les paramètres : le nom et prenom du contact, date naissance, poste et entreprise.  (1 pt)
3-Définir une méthode ToString() qui retourne une chaîne de caractères représentant les différents attributs de l’objet contact. (2 pts)
4- Ajouter les méthodes :
Age () : consiste à calculer l’age. (1 pt)
Poste (le nouveau poste) : consiste à changer le poste actuel du contact (cette méthode doit lever une exception posteException si le poste est null). (1,5 pts)
Entreprise (le nouveau nom entreprise) : consiste à changer le poste actuel du contact (cette méthode doit lever une exception posteException si le poste est null). (1,5 pts)
Pour gérer les contacts de l’établissement, on se propose de stocker les contacts dans un vecteur.
5-Ecrire un programme qui permet de réaliser les fonctionnalités suivantes :
       • Créer un contact. (1.5 pts)
       • Supprimer un contact. (1.5 pts)
       • Afficher un contact (avec age) dont on connaît le numéro. (1,5 pts)
       • Modifier le poste d’un contact. (1,5 pts)
       • Modifier l’entreprise d’un contact. (1,5 pts)
       • Afficher les contacts, ainsi que leur nombre, par nom du contact. (1,5 pts)
       • Sauvegarder la liste des contacts. (1 pt)
       • Restaurer la liste des contacts. (1 pt)

Partie 2 – VB.Net

On souhaite maintenant re-développer quelques fonctionnalités de cette application (de la Partie JAVA) en Vb
1. Créer un formulaire permettant d’ajouter, modifier, supprimer et rechercher un contact (1 Pt)
2. Programmer les fonctionnalités suivantes :
       a. Ajout (1 Pt)
       b. Modification (2 Pts)
       c. Suppression (2 Pts)
       d. Recherche (2 Pts)
3. Ajouter un bouton permettant d’afficher la liste des contacts d’un établissement donné après avoir saisie le nom de l’établissement dans une zone de texte (2 Pts)
4. Ajouter dans un autre formulaire une liste affichant les contacts triés par établissement et par âge (2 Pts)

Examen de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server Variante 12

Partie 1 – JAVA

On désire programmer une mini application de gestion de petit commerce.
Pour cela, on va écrire une classe Produit et une classe Magasin. Dans notre commerce, chaque produit est caractérisé par son N° de référence, son nom, son prix d'achat, son prix de vente, le nombre d'exemplaires en stock, et sa description.
A la création du produit, on fixe son nom, son prix d'achat et son prix de vente, c'est à dire que ces données son fournies en argument au constructeur de la classe.
Par défaut, la description du produit est \Pas de description", et la quantité de produits en stock est nulle.
La classe Produit dispose d'un certain nombre de méthodes, qui lui permettent d'afficher la description du produit, de l'éditer, d'augmenter ou de diminuer le nombre d'exemplaires en stock, ainsi que d'obtenir les valeurs des différents attributs.

1: Ecrivez la classe Produit(2pts)
Un magasin se caractérise par son solde et par son stock de produits. Le stock de produit est représenté par un tableau d'objets \Produit".
Avant de pouvoir acheter ou vendre un produit, il faut l'avoir ajouté dans le stock. Pour cela, la classe Magasin dispose d'une méthode:
public void ajouterProduit(String nom, float prixAchat, float prixVente)
L'indice de la case du tableau dans laquelle on a stocké le produit devient alors la référence de ce produit. Pour acheter ou vendre ce produit, on utilise alors la référence comme argument des méthodes:
public void acheterProduit(int referenceProduit,int nombreExemplaires)
public void vendreProduit(int referenceProduit,int nombreExemplaires)
La classe Magasin dispose également des méthodes habituelles d'accès à ses attributs, et d'une méthode Bilan qui permet d'afficher un bilan du magasin.
2: Ecrivez la classe Magasin. Testez-la. (3pts)
Jusque là, les produits disposent d'une description qui est une simple chaîne de caractère. Cela Peut être insuffisant dans certains cas.
Par exemple, on aimerait avoir une classe Livre qui ait le même comportement que la classe Produit, mais qui dispose d'un attribut auteur et d'un attribut éditeur.
3: Ecrivez la classe Livre qui hérite de la classe Produit. Certaines méthodes doivent être surchargée (c'est-à-dire récrites) (3 pts)
De même, un cd se caractérise par son auteur, son interprète, et l'ensemble des titres de ses pistes.
4: Ecrivez la classe Cd qui hérite de la classe Produit. (2pts)
Il va maintenant falloir faire les modifications nécessaires dans la classe Magasin, mais elles sont minimes. En effet, Livre étant une sous-classe de Produit, les objets de type Livre sont également de type Produit, donc le tableau de produits peut également contenir des livres ou des CDs.
C'est à la création des objets que les choses changent. En plus de la méthode ajouterProduit, la classe Magasin doit également contenir une méthode ajouterLivre et une méthode ajouterCd.
5: Modifier la classe Magasin pour tenir compte des nouveaux objets. (7 pts)
Pour utiliser pleinement votre classe Magasin, vous avez maintenant besoin d'une méthode d'interaction permettant de proposer à  l'utilisateur d'ajouter un livre, un cd ou un produit standard, d'acheter, de vendre, d'obtenir ou d'éditer la description d'un produit déjà existant, d'afficher un bilan général.
Exemple d’interaction :
Que voulez-vous faire?
       1) Acheter un produit
       2) Vendre un produit
       3) Ajouter un produit
       4) Décrire un produit
       5) Voir la description d'un produit
       6) Afficher un bilan
       7) Modifier le prix de vente d’un produit
       8) Ttrier les produits par prix de vente
       9) Afficher le montant global des prix d’achat des livres et CDs

Programmer ces fonctionalités?
6: Faire un programme permettant sauvegarder les produits par catégorie (Livre, CDs …) dans un fichier nomme Produit.dat (3 pts)

Télécharger Tous les Examens de Passage - Pratique - 2007- Vb.NET - Programmation événementielle - Java - Sql Server:

sur le lien suivant :


Retrouvez-nous sur Facebook
×Facebook Mouad Ouisse