Showing posts with label Merise. Show all posts
Showing posts with label Merise. Show all posts

EP - Examen Passage 2011 - TDI -Théorie - Algo - C - POO - Merise


EP - Examen Passage  2011 - TDI -Théorie - Algo - C - POO - Merise

Partie 1: Connaissances générales et logique :

1- Définissez brièvement les termes suivants:
     ROM
     UAL
     MIPS
     CMOS
2- Quelle est la différence entre les deux mémoires vives DRAM et SRAM?
3- Remplir les cases du tableau suivant par les nombres correspondants, écrits dans les systèmes de numération spécifiés.



EP - Examen   Passage 2011 - TDI -Théorie - Algo - C - POO - Merise
EP - Examen Passage 2011 - TDI -Théorie - Algo - C - POO - Merise


Chaque colonne correspondant au système spécifié; et chaque ligne au même nombre.
4- Soit la table de vérité suivante :



EP -   Examen Passage 2011 - TDI -Théorie - Algo - C - POO - Merise
EP - Examen Passage 2011 - TDI -Théorie - Algo - C - POO - Merise


a- Donner les expressions algébriques des deux fonctions logiques F1 et F2.
b- Simplifier, par la méthode de Karnaugh, la fonction F2.

Partie 2: Techniques et langages de programmation structurée:

Exercice 1:
Donner la syntaxe du schéma itératif "Tanque"; et expliquer son fonctionnement
Exercice 2:
Pour chaque des deux séquences algorithmiques suivantes, dire s'il est possible de simplifier son écriture. Si oui, comment; et sinon pourquoi?



EP - Examen   Passage 2011 - TDI -Théorie - Algo - C - POO - Merise
EP - Examen Passage 2011 - TDI -Théorie - Algo - C - POO - Merise

Exercice 3:
une matrice carrée est un tableau à deux dimensions dont le nombre de lignes est égale au nombre de colonnes.
Une matrice est dite équilibrée si la somme de éléments de chaque ligne est égale à zéro, la somme des éléments de chaque colonne est égale à zéro et la somme de éléments de deux diagonales est égale à zéro aussi.
Écrire un algorithme qui lit une matrice carrée d'entiers et vérifie si elle est équilibrée ou non.
Vous devez afficher soit la mention "Votre matrice et équilibrée" ou la mention "Votre matrice est non équilibrée".
Exercice 4:
Écrire un programme dans un langage de programmation structurée, qui permet de trouver les nombres premiers inférieurs ou égaux à un entier N donné par l'utilisateur.
La méthode consiste à remplir un tableau, dans l'ordre du plus petit au plus grand, par les entiers compris entre 2 et N (N étant l'entier limite précisé par l'utilisateur); puis de parcourir le tableau depuis le début, en gardant un entier rencontré et éliminant tous les multiples, par leur mise à zéro par exemple. A la fin du parcours, tous les entier restants (non nuls) ont des nombres premiers.

Partie 3: Programmation orientée objet:

Dan une application Windows tous les contrôles (fenêtres, bouton, zones de texte, cases à cocher ...) sont caractérisés par un nom (de type chaine de caractères), une position haut et une position gauche (de type entier) de l'objet sur l'écran. Une fenêtre et un contrôle comme les autres, caractérisée en plu d'un titre et d'une couleur d'arrière plan (de type entier).
1- Créer les classe Contrôle et Fenêtre avec un constructeur d'initialisation, un constructeur de copier, sachant que la classe Fenêtre hérite de la classe Contrôle.
2- Doter la classe Contrôle par la méthode Display qui permet d'afficher la mention suivante:
"Le contrôle Texte1 et situé à la position 12x25"
Avec Texte1 est le nom du contrôle et 12,25 représentent respectivement la position gauche, haut du contrôle sur l'écran.
3- Redéfinir la méthode Display pour la classe Fenêtre pour afficher la mention suivante:
"Le contrôle Text1 est situé à la position 12x25, ayant comme titre "titre1" et une couleur d'arrière plan de 240".
On souhaite ajouter à la classe Fenêtre une propriété type collection qui permet de gérer une liste de contrôles que l’utilisateur peut ajouter sur une fenêtre (zones de texte, lite déroulante, ...).
4- Donner le modifications à apporter à la classe Fenêtre et la méthode AjoutControle qui permet d'ajouter un contrôle à la collection.
5- Implémenter pour la classe Fenêtre la méthode RetireControle qui permet du supprimer un contrôle de la collection connaissant son nom.
6- Implémenter pour le classe Fenêtre la méthode DisplayTout qui permet d'afficher tous les contrôles ajouté à la fenêtre.

Partie 4: Conception de Systèmes d'informations:

Gestion d'un cabinet d'architecture
Vous êtes appelé à concevoir un système de gestion pour un cabinet d'architecture, au sein duquel on réalise de projets architecturaux. l'étude préalable résulte des contacts suivants :
Le personnel du cabinet est constitué de plusieurs architectes, dessinateurs et du personnel administratifs, pour lesquels on enregistre un matricule, un nom, un prénom, une fonction, et une date d'embauche.
La cabinet et chargé par le client, appelé maître d'ouvrage, de concevoir le projet architectural. les maître d'ouvrage peuvent être des particuliers, des institutions publiques et privées, des promoteurs, entre autre. Pour le uns, comme pour les autres, on affecte une référence; et on enregistre le nom ou l'intitulé, l'adresse et le numéro de téléphone.
Un maître d'ouvrage, et enregistré lors de son première contact avec le cabinet, et il garde la référence, qui lui est affectée au début pour tous le projets qu'il a passé au cabinet.
Un projet est caractérisé par un numéro de référence, une date de dépôt, une date de remise prévisionnelle, un type (maison, immeuble, ...), une adresse, une superficie totale et bâtie, le type des travaux envisagés (construction ou aménagement), et une rémunération (prix du projet).
Un seul architecte est chargé du projet, mais plusieurs dessinateurs peuvent intervenir dans la réalisation du projet. le personnel administratif du cabinet intervient dan le projet au niveau de la constitution du dossier auprès des autorités sous les directives de l'architecte considéré comme chef du projet.
A la remise du projet, la date de fin effective de sa réalisation est enregistrée.

Travail à faire :
1- Donner un modèle conceptuel de données.
2- Déduire le modèle logique de données.

Télécharger L'Examen Passage 2011 - TDI -Théorie - Algo - C - POO - Merise :
en format .pdf sur le lien suivant :

EP - Examen Passage 2011 - TDI -Théorie - Algo - C - POO - Merise


Examen de Fin de Formation Théorie 2010 - TDI


Examen de Fin de Formation Théorie 2010 - TDI 

I – MODELISATION DE SI :

SupTIC est une école supérieure délocalisée au Maroc, spécialisée dans  la formation pointue dans le secteur des IT.
Les inscriptions fonctionnent de la façon suivante. :
Au début de chaque semestre, un catalogue des cours proposés est fourni par la Direction aux étudiants. Chaque cours est décrit par un certain nombre d'informations, en particulier : l'enseignant, le cursus et les prérequis.
Ce catalogue ne peut être créé avant que tous les cours ne soient affectés à des enseignants. Pour cela, chaque enseignant accède au système d'inscription pour indiquer les cours qu'il prévoit d'enseigner.
Les étudiants doivent remplir des fiches d'enregistrement qui indiquent leurs choix de cours. L'étudiant standard doit suivre 4 enseignements choisis dans le catalogue. Il devra indiquer aussi deux cours supplémentaires. En effet, il se peut que, parmi les 4 cours choisis, l'un des cours soit trop plein ou abandonné par manque d'étudiants. Chaque cours doit en effet être dispensé à au moins 5 étudiants et au plus 30 étudiants. Si un cours est choisi par moins de 5 étudiants, il est supprimé.
Ces fiches sont gérées par la scolarité. Une fois la période d’inscription terminée, un programme est exécuté pour affecter les étudiants aux cours. Dans la plupart des cas, les étudiants obtiennent ce qu’ils ont choisi. Après que tous les étudiants aient été correctement affectés aux différents cours, un listing est imprimé pour chaque étudiant pour vérification.
Une fois la sélection de cours d'un étudiant validée, l'information est transmise au système de facturation qui facturera l'étudiant pour son semestre.

1. Donner un diagramme des cas d'utilisation du système. (1.5 Pts)
2. Décrire un scénario principal par un diagramme de séquence. (2 Pts)
3. Donner un diagramme de classes (2 Pts)
4. Déduire un MCD (1.5 Pts)


II – SGBDR :

Une compagnie aérienne désire gérer l’ensemble de ses vols qu’elle met en service ainsi que les pilotes et les avions qui effectuent ces vols.
Le schéma de la base de données vous a été fournit comme suit :
Donner le code SQL permettant de :


Examen de Fin de Formation Théorie 2010 - TDI
Examen de Fin de Formation Théorie 2010 - TDI


1. Ajouter le champs Ville à la table PILOTE.  (0,25 pt)
2. Donner le nom des pilotes planifiés pour des vols sur A320. (0,25 pt)
3. Donner le nom des pilotes planifiés pour des vols sur A320, qui habitent dans la ville de localisation d’un A320. (0,25 pt)
4. Pour chaque ville desservie, donner la moyenne, le minimum et le maximum des capacités des avions qui sont localisés dans un aéroport desservant cette ville. (0,25 pt)
5. Dans la table VOL, créer un trigger en insertion qui vérifie que la ville d’arrivée est différente de la ville de départ et que l’heure d’arrivée est postérieure à l’heure de départ. Dans le cas contraire, on annule l’insertion.  (0.5 pt)
6. Créer une procédure stockée "Planning" qui affiche pour un nom et un prénom de pilote passés en paramètres, les numéros de vol, avec les aéroports de départ et d’arrivée, classés par date et heure de départ. (0.5 pt) 

III – RESEAUX INFORMATIQUES :

1. Qu’est ce qu’une adresse IP ? Quel est son rôle ? (0.5 pt)
2. Donnez la classe IP des adresses suivantes :  (0.75 pt)


Examen de Fin de Formation Théorie 2010 - TDI
Examen de Fin de Formation Théorie 2010 - TDI


3. Définir les éléments d’interconnexions suivants : (0.75 pt)
        a. cartes réseau
        b. concentrateurs
        c. commutateurs

IV – DEVELOPPEMENT WEB

1. Développer une fonction Javascript qui reçoit une matrice carrée de neuf lignes et neuf colonnes et vérifie que la somme des éléments de n’importe quelle ligne n est égale à la somme des éléments de la colonne n. (1 Pt)
2. Donner la DTD correspondante au document XML suivant : (2 Pts)

<liste>
<hotel code="1">
<nom>ADRAR</nom>
<adresse>Avenue Mohamed V</adresse>
<ville>AGADIR</ville>
<tel>028840437</tel>
<tel>028840717</tel>
<fax>028840545</fax>
</hotel>
<hotel code="2">
<nom>CHEMS</nom>
<adresse>1, Rue Houmane Fetouaki</adresse>
<ville>MARRAKECH</ville>
<tel>024444813</tel>
<tel>024444817</tel>
<tel>024444815</tel>
<fax>024440547</fax>
<fax>024 435400</fax>
<mail>chems@fram.fr</mail>
</hotel>
</liste>

V – PROGRAMMATION OBJET


Vous allez devoir participer à la conception et à la programmation d’une application de gestion d’un agenda. Un agenda électronique permet de mémoriser des événements, ponctuels (comme un examen de P.O.O. le mercredi 22 mai de 14h `a 16h) ou chroniques (comme un cours de P.O.O. tous les lundis, mardis, mercredis à partir du 18 janvier et pendant 6 semaines).
Un événement chronique est caractérisé  par les mêmes informations qu’un événement ponctuel, plus la périodicité (le nombre de jours auxquels un événement revient; par exemple, 7 pour un cours hebdomadaire) et le nombre de fois ou la périodicité est renouvelée.
Un agenda électronique appartient à une personne dont on mémorise le nom et le prénom.
Ensuite, il gère essentiellement la structure de données qui lui sert à mémoriser les événements.

1. Créer  les classes Evénement, EvenementChronique et EvenementPonctuel.(1.5 Pts)
        - Ecrivez tous les constructeurs nécessaires pour les événements, ainsi que les méthodes toString. 
2. Créer la classe Agenda.  (0.75 Pt)
3. Ajouter à la classe Agenda les méthodes. 
        - creerEvenementPonctuel (0.75 Pt)
        - creerEvenementChronique (0.75 Pt)
        - afficheEvenementsDuJour (0.75 Pt)
4. Ajouter une méthode de suppression d’un événement d une agenda.  (0.75 Pt)
5. Créer une classe de test   (0.75 Pt)

Télécharger L'Examen de Fin de Formation Théorie 2010 - TSDI :
en format .pdf sur le lien suivant :

Examen de Fin de Formation Théorie 2010 - TSDI


Examens Fin Formation - Pratique - 2009 - V7-V8-V9


Examen Fin Formation - Pratique - 2009 - Variante 7

La société LinqServices est un groupement d’adhérents composé d’artisans ou de petites entreprises. La société propose à ses futurs adhérents dans le cadre d’un contrat, de promouvoir leur action commerciale. Pour cela la société TAGADIRT lance, pour le compte de ses adhérents, des compagnes publicitaires pour informer le public sur les prestations proposées.
La société doit aussi gérer les contrats de ses adhérents notamment pour le renouvellement. Un mois avant l’échéance une lettre type est envoyée à l’adhérent pour lui demander s’il désir renouveler son contrat. Un adhérent est concerné au titre d’un contrat par un seul secteur géographique et trois activités au maximum. Un adhérent peut avoir plusieurs contrats.
On souhaite développer une application pour la gestion des contrats des adhérents et leurs activités. Pour cela, on vous fourni le modèle conceptuel de données conçu suite à une analyse du cahier des charges fourni par la société :


Examens Fin Formation - Pratique - 2009 - V7-V8-V9
Examens Fin Formation - Pratique - 2009 - V7-V8-V9


Travail à faire :
1. Analyser et valider le MCD, puis créer votre base de données sous SQL SERVER ou ORACLE, et remplir les tables par quelques enregistrements pour le test (5 Pts)
2. Créer une classe Contrat, ainsi qu'un constructeur pour initialiser ces différents attributs (1 pt)
3. Ajouter un accesseur (get), et un modificateur (set) pour ces attributs, en respectant les contraintes de validité suivantes : (2 pts)
      a. Le num_Contrat doit être numérique de quatre chiffres
      b.la date de signature doit être supérieure ou égale à la date courante
4. Créer une classe Adherent, ainsi qu'un constructeur pour initialiser ces différents attributs (1 pt)
5. Créer une interface permettant de mettre à jour la table Adhérent
      • Ajout avec contrôle et validation de saisie (1 pt)
      • Modification (1 pt)
      • Suppression (1 pt)
      • Recherche (1 pt)
      • Boutons de navigation (1 pt)
6. Créer une interface permettant de mettre à jour la table Secteur (Ajout, Modification), le code doit être auto-incrémenté (2 pts)
7. Créer une interface permettant de mettre à jour la table Activités (Ajout, Modification et affichage dans une grille), le code doit être auto-incrémenté (3 pts)
8. Créer une interface permettant de mettre à jour la table Contrat (Ajout, Modification et affichage dans une grille) (2 pts)
9. Créer une interface qui permet d’enregistrer les appels des clients. (2 pts)
10. Créer un état pour un nouvel contrat en affichant toutes les informations nécessaires (3 pts)
11. Créer un état pour archiver les appels effectués selon le modèle suivant (2 pts)


Examens Fin Formation - Pratique - 2009 - V7-V8-V9
Examens Fin Formation - Pratique - 2009 - V7-V8-V9


12. Créer un graphique des statistiques sur le nombre de contrats signés par mois, l’utilisateur doit avoir la possibilité d’afficher les statistiques par mois , par trimestre , par semestre ou par an. (5 pts)
Tous les adhérents possèdent un compte et un mot de passe pour consulter le site de la société. Pour cela, on vous demande de les ajouter dans la table Adhérents.
13. Créer une page d’authentification des adhérents (1 pt)
14. Créer un compteur de visite dans la page d’authentification (2 pts)
15. Créer une page permettant d’afficher la liste des contrats, Secteurs et activités relatifs à un clients juste après l’authentification du client. Ajouter un label pour afficher le nombre de contrats signés (4 pts)

Examen Fin Formation - Pratique - 2009 - Variante 8

Une entreprise de distribution d'ouvrages scolaires dispose des dépôts situés dans des régions différentes. Ces dépôts stockent des ouvrages publiés par différents éditeurs.
Le gestionnaire de cette entreprise précise les points suivants :
         • Un même livre peut être édité chez plusieurs éditeurs sous le même numéro ISBN.
         • Un livre peut être écrit par plusieurs écrivains.
         • Un livre peut être stocké dans plusieurs dépôts, il faut connaître la quantité totale en stock par dépôt et par éditeur.
         • Un livre ne peut être édité qu'une seule fois chez le même éditeur, mais il peut être édité par plusieurs éditeurs différents.
On souhaite développer une application pour la gestion de distribution d'ouvrages scolaires. Pour cela, on vous fourni le modèle conceptuel de données conçu suite à une analyse du cahier des charges fourni par la société :


Examens Fin Formation - Pratique - 2009 - V7-V8-V9
Examens Fin Formation - Pratique - 2009 - V7-V8-V9


Travail à faire :

1. Analyser et valider le MCD, puis créer votre base de données sous SQL SERVER ou ORACLE, et remplir les tables par quelques enregistrements pour le test (5 Pts)
2. Créer une classe Livre, ainsi qu'un constructeur pour initialiser ces différents attributs et éventuellement des accesseurs (2 pts)
3. Créer une classe Ecrivain, ainsi qu'un constructeur pour initialiser ces différents attributs et éventuellement des accesseurs (1 pt)
4. Créer une classe Editeur, ainsi qu'un constructeur pour initialiser ces différents attributs et éventuellement des accesseurs (1 pt)
5. Créer une interface permettant de mettre à jour la table Editeur
      • Ajout avec contrôle et validation de saisie (1 pt)
      • Modification (1 pt)
      • Suppression (1 pt)
      • Recherche (1 pt)
      • Boutons de navigation (1 pt)
6.Créer une interface permettant de mettre à jour les tables Région et Dépôt (Ajout, Modification), les codes doit être auto-incrémenté (3 pts)
7. Créer une interface permettant de mettre à jour la table Thème (Ajout, Modification) (1 pt)
8. Créer une interface permettant de mettre à jour la table Livre (Ajout, Modification) (1 pt)
9. Créer une interface permettant de mettre à jour la table Ecrivain (Ajout, Modification et affichage dans une grille), le code doit être auto-incrémenté (2 pts)
10. Créer une interface permettant de mettre à jour le stock (Ajout, Modification et affichage dans une grille) (2 pts)
11. Créer un état pour afficher la liste des dépôts, les livres et leurs quantités  (3 pts)
12. Créer un état permettant d’imprimer les livres d’un éditeur donné en affichant toutes les informations nécessaires  (3 pts)
13. Créer un graphique des statistiques sur le nombre total des livres stockés par Dépôt.
Tous les éditeurs possèdent un compte et un mot de passe pour consulter le site de la société. Pour cela, on vous demande de les ajouter dans la table Editeur.
14. Créer une page d’authentification des éditeurs (1 pt)
15. Créer un compteur de visite dans la page d’authentification (2 pts)
16. Créer une page permettant d’afficher la liste des livre par thème relatif à un éditeur juste après l’authentification de l’éditeur. Ajouter un label pour afficher le nombre total des livres du même éditeur (4 pts)

Examen Fin Formation - Pratique - 2009 - Variante 9

La société LABPRO est spécialisée dans les analyses de produits et matériaux industriels et emploie environ 100 personnes réparties sur plusieurs sections. 
Chaque section peut s’adresser au gestionnaire de stocks pour  exprimer un besoin : la section précise alors le produit, le conditionnement et la quantité demandés
On souhaite développer une application gérer les besoins exprimés par les sections. Pour cela, on vous fourni le modèle conceptuel de données conçu suite à une analyse du cahier des charges fourni par la société :


Examens Fin Formation - Pratique - 2009 - V7-V8-V9
Examens Fin Formation - Pratique - 2009 - V7-V8-V9


Travail à faire :
1. Analyser et valider le MCD, puis créer votre base de données sous SQL SERVER ou ORACLE, et remplir les tables par quelques enregistrements pour le test (5 Pts)
2. Créer une classe Produit, ainsi qu'un constructeur pour initialiser ces différents attributs et éventuellement des accesseurs (2 pts)
3. Créer une interface permettant de mettre à jour la table Produit
      • Ajout avec contrôle et validation de saisie (1 pt)
      • Modification (1 pt)
      • Suppression (1 pt)
      • Recherche (1 pt)
      • Boutons de navigation (1 pt)
4. Créer une interface permettant de mettre à jour les tables Conditionnement et Stock (Ajout, Modification), les codes doit être auto-incrémenté (3 pts)
5. Créer une interface permettant de mettre à jour le bloc des tables Besoin, Semaine et Année (Ajout, Modification et affichage des besoins dans une grille) (3 pts)
6. Créer une interface permettant de mettre à jour le bloc des tables Besoin, Commande et Section (Ajout, Modification, et affichage des besoins dans une grille) (3 pts)
7. Créer une interface permettant de mettre à jour la table Stock (Ajout, Modification et affichage dans une grille), le code doit être auto-incrémenté (2 pts)
8. Créer un état qui permet d’afficher les besoins à commander par une Section (2 pts)
9. Créer un état permettant d’afficher les produits, conditionnements et leur quantités en stock. (3 pts)
10. Créer un graphe permettant d’afficher les quantités en stock par produits. (2 pts)
11. Créer un graphe permettant  de visualiser mensuellement les besoins en produit par section donnée (3 pts)
Toute les sections possèdent un compte et un mot de passe pour accéder à  l’intranet  de la société. Pour cela, on vous demande de les ajouter dans la table Section.
12. Créer une page d’authentification des Section (1 pt)
13. Créer un compteur de visite dans la page d’authentification (2 pts)
14. Créer une page permettant d’afficher la liste des besoins par produit relatif à une section juste après l’authentification. Ajouter un label pour afficher la quantité totale des produits commandés par la même section (4 pts)

Télécharger Examens Fin Formation - Pratique - 2009 - V7-V8-V9 :
en format .pdf sur le lien suivant :

Examens Fin Formation - Pratique - 2009 - V7-V8-V9


Examen de passage 2009 Théorique

Examen de passage 2009 Théorique

I – MERISE

Un jeune promoteur désire connaître les productions réalisées sur ses parcelles culturales. Une parcelle peut comporter plusieurs productions dans la même année civile.
Pour chaque parcelle, on veut connaître quelles productions ont été réalisées et à quelles dates. On désire également connaître le rendement de chaque production par parcelle, ainsi que les apports en N, P, K pour une période donnée.
Enfin, on doit pouvoir disposer de la quantité et du nom de l’engrais qui a été épandu sur chaque parcelle (à une date donnée).
Il vous fournit les informations suivantes :
- Le nom de la parcelle et sa surface
- Les coordonnées géographiques de la parcelle
- Le nom de la production et son unité de production
- Les dates début et fin de production
- La quantité produite
- Le nom de l’engrais
- L’unité d’épandage de l’engrais
- La proportion de N, de P et de K dans l’engrais
- La quantité d’engrais épandue à une date donnée sur une parcelle donnée
En analysant le cahier des charges, Répondez aux questions suivantes :
1. Rédiger un dictionnaire de données (1 Pt)
2. Donner un modèle conceptuel de données en respectant les règles de gestion (3 Pts)
3. Déduire le modèle logique de données (2 Pts)

II – LOGIQUE & ALGORITHMES

1. Simplifier la fonction suivante :       (1 Pt)
2. Soin la fonction :  , Trouvez l’équivalent de f, en n'utilisant que les opérateurs + . - (1 Pt)
3. Remplissez le tableau ci-dessous, en calculant l’équivalent selon la base demandée : (1 Pt)



Examen de passage 2009 Théorique
Examen de passage 2009 Théorique


4. Faire les opérations suivantes : (1 Pt)
   
             110011001             1111
              -  1101101           x  111
             -------------        -------------    
5. Ecrivez un algorithme permettant à l’utilisateur de saisir un nombre quelconque de valeurs, qui devront être stockées dans un tableau. L’utilisateur doit donc commencer par entrer le nombre de valeurs qu’il compte saisir. Il effectuera ensuite cette saisie. Enfin, une fois la saisie terminée, le programme affichera le nombre de valeurs négatives et le
nombre de valeurs positives. (1 Pt)
6. A étant un tableau de n réels. On se propose d'écrire une fonction intitulée MaxA renvoyant la valeur maximale dans un tableau A. (1 Pt)

III – PROGRAMATION STRUCTUREE  EN C OU C++

1. Ecrire un programme qui affiche un triangle isocèle formé d'étoiles de N lignes (N est fourni au clavier) : (1 Pt)
Exemple :  Nombre de lignes : 8



Examen de passage 2009 Théorique
Examen de passage 2009 Théorique


2. Ecrire la fonction ADD_MATRICE qui effectue l'addition de deux matrices (1 Pt)
3. Ecrire un programme qui lit une chaîne de caractères et qui convertit toutes les majuscules dans des minuscules et vice-versa. (1 Pt)
4. Ecrire un programme qui lit une chaîne de caractère ne dépassant pas 200 caractères et affiche ensuite, la longueur L de la chaîne et  le nombre de 'e' existant. (1 Pt)

IV – PROGRAMATION ORIENTÉE OBJET EN VB.NET, C # OU JAVA

1. Créer une Classe ou une Structure Point ayant les champs x, y et éventuellement des constructeurs et des propriétés. Ajouter une méthode permettant da calculer la distance à l’origine



Examen de passage 2009 Théorique
Examen de passage 2009 Théorique


2. Ajouter une autre méthode permettant d’afficher les coordonnés d’un point donné et la distance à l’origine (1 Pt)
3. Ecrire un programme de test pour créer deux points A(12,10) et B(4, 3), et afficher leurs coordonnés et la distance à l’origine. (0,5 Pt)
4. Affecter les coordonnés de B à A et afficher les nouvelles informations du point A. (0,5 Pt)

Télécharger L'Examen de passage 2009 Théorique :
en format .pdf sur le lien suivant :

Examen de Fin de Formation Théorique Session Juin 2009


Examen de Fin de Formation Théorie 2008 - UML - Merise - XML - Sql Server


Examen de Fin de Formation Théorie 2008 - UML - Merise - XML - Sql Server

I – Modélisation & Conception - UML - Merise

L’objectif global du projet est de proposer une organisation adéquate et de réaliser une application permettant de maîtriser le suivi des flux d’informations manipulées autour des cabinets des responsables.
Les principales fonctions à prévoir dans la réalisation du projet visent :
- L’intégration des différents types de courrier (électronique, papier, documents, notes …) ;
- L’informatisation de la gestion et du suivi du courrier échangé ;
- Le suivi des instructions émises relativement à un courrier arrivé ;
- Le filtrage du courrier selon des critères bien déterminés ;
- La facilité du travail du responsable du bureau d’ordre ;
- La confidentialité du courrier échangé ;
- Le stockage et l’archivage du courrier échangé ;
- La possibilité d’échange de données entre les entités (consultation et mise à jour) ;
- La sécurité des données :
- Seuls les profils autorisés peuvent effectuer les opérations sur la base de données ;
- Chaque utilisateur n‘est appelé à faire que les opérations qui lui sont confiées ;
- Chaque utilisateur ne doit accéder ou modifier que les données qui le concernent ;
- La protection des données contre les accès malveillants et contre les manipulations incorrectes.
- La gestion des consultations simultanées des données en définissant des priorités ;
- L’information à chaque instant sur l’état d’avancement d’un courrier arrivée ;
- L’optimisation du temps de traitement, de recherche et de circulation du courrier.
- Le projet constitue en fait un prototype pour assurer le bon fonctionnement de la gestion du courrier au sein des certaines entités hiérarchiques (direction générale, directions et divisions). Cependant, la conception du projet devra se faire par phases successives avec comme objectif, son extension à l’ensemble des entités.
Etude de l’existant
Pour gérer le courrier, l’office dispose d’un bureau d’ordre qui traite le courrier reçu et d’un serveur de messagerie MS Exchange 2000. Ce dernier gère les boîtes aux lettres des utilisateurs. En parallèle et pour garantir une bonne circulation des documents à l’intérieur, une application permettant la Gestion Electronique de Documents (GED) est installée au niveau d’office. Cette application permet de gérer, classer, et stocker les documents.
Le Courrier normal
Le bureau d’ordre de l’office joue un rôle capital dans la gestion et le suivi de l’ensemble du courrier échangé entre différentes entités internes et externes. En effet, le traitement du courrier normal - qui peut être soit un courrier départ ou un courrier arrivé - transite toujours par ce bureau. En ce qui concerne le courrier émis, son traitement consiste à l’envoyer au bureau d’ordre pour être enregistré et envoyé à sa destination externe.
Pour le courrier arrivé, la procédure suivie est la suivante :
- Un numéro d’ordre est attribué pour chaque courrier reçu  ;
- Le courrier est enregistré dans le registre des arrivées avec ce même numéro et ses différentes caractéristiques (expéditeur, date d’arrivée, sujet…)  ;
- Il est trié dans des dossiers selon la destination (directions, divisions, départements,…) ;
- Le courrier trié est envoyé au cabinet du Directeur Général  ;
- Le DG consulte le courrier reçu et décide de sa destination finale : soit garder celle proposée par le bureau d’ordre, soit changer sa destination en le joignant éventuellement des instructions, des remarques, des notes, …  ;
- Le courrier est renvoyé au bureau d’ordre pour être enregistré une deuxième fois  ;
- Le dispatching du courrier vers les différentes destinations décidées par le DG .
Il faut noter que tout le courir reçu par le bureau d’ordre doit transiter par le bureau de Directeur Général sauf le courrier personnel qui est enregistré et directement acheminé vers son propriétaire.
Le Courrier électronique
Pour garantir les services de messagerie interne et externe, l’office dispose d’un serveur de domaine afin de gérer les comptes utilisateurs. Ils disposent également d’un serveur de messagerie qui abrite les boîtes de messagerie de ces utilisateurs. Ce dernier héberge la messagerie Exchange 2000 Server.
MS Exchange Server est un système de messagerie qui permet à l’organisation d’échanger des informations avec d’autres personnes utilisant Internet et des systèmes de messagerie différents. Ainsi, les utilisateurs peuvent échanger des documents, des feuilles de calcul, des graphiques et divers autres éléments dans des messages électroniques, consulter les éléments disponibles dans les dossiers publics ou publier des éléments dans des dossiers publics afin que d’autres utilisateurs puissent y accéder.
La Gestion Electronique de Documents : GED
La Gestion Electronique de Documents est un ensemble d'outils et de techniques qui permettent de dématérialiser, classer, gérer et stocker des documents. La GED apporte à la fois l’accès sélectif, la capacité de centraliser les traitements, la sécurité (verrouillage d’accès, limitation de la circulation de l’original, etc.). Elle permet également  des économies importantes au niveau du temps de recherche [www1]
L’office dispose d’une application de GED : FileNet. Pour démarrer la GED l’utilisateur authentifié doit avoir au moins une bibliothèque du travail disponible sinon l’option configurer dans le menu Démarrer lui permettra d’ajouter une nouvelle bibliothèque.
Pour numériser, on choisit le scanner approprié et on installe les options nécessaires, ensuite on crée des lots pour recevoir les pages scannées. Pour importer des images en locale on utilise une procédure pour alimenter une bibliothèque par les images sélectionnées.
Dans les deux cas, le document nécessite du traitement, par exemple activer la reconnaissance des codes à barres et les codes patch de post-numérisation et permettre l’amélioration des images.
Cette application permet aussi le tri et l’assemblage des pages numérisés selon différentes techniques pour en constituer des documents avec l’ajout des propriétés spécifiques à ce document telles un numéro de facture, une date d’application, ou le nom d’un client…
Une fois le document est dans la bibliothèque, l’utilisateur effectue sa recherche en utilisant ses propriétés pour l’extraire et l’afficher.
En plus de l’ajout d’un document, la GED permet aux utilisateurs de consulter les documents électroniques enregistrés dans une bibliothèque en ligne. Etant entièrement intègre à Windows, il s’utilise de la même façon que les applications Windows et l’utilisateur peut même paramétrer l’affichage utilisé dans la GED.
Après la création du document, vient l’étape de la publication qui permet d’adresser le document à d’autres utilisateurs, de changer son emplacement et son format.
Les utilisateurs, s’ils ont les droits d’accès appropriés peuvent également emprunter la dernière version d’un document, faire une copie et le désigner comme étant emprunté. Il ne peut être emprunté que par une seule personne à la fois. Au moment du rangement la GED crée une nouvelle version et supprime, le cas échéant, le document du disque dur de l’utilisateur.
L’opération se poursuit ainsi pour chaque cycle d’emprunt et de rangement. Lorsque le nombre limite d’occurrences en ligne des versions d’un document est atteint, la version la plus ancienne est automatiquement archivée. [SI,00]

L’architecture globale de l’application à réaliser est présentée dans le schéma 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


Fonctionnement :
1) - le bureau d’ordre reçoit tout type de courrier provenant par différentes voies (documents, notes,…)
- saisit les informations concernant ce courrier (provenance, date d’arrivée, objet,…)
- stocke ces informations dans la base de données
- numérise le courrier reçu dans la mesure du possible
- propose une destination pour le courrier reçu (exemple : demande de stage - Division Formation)

1’)
       - le cabinet du DG reçoit le courrier électronique du DG
       - l’enregistre automatiquement dans la base de données
       - propose une destination pour ce type de courrier (fonction de filtrage)

2)
       - le cabinet du DG reçoit le courrier provenant du bureau d’ordre
       - peut changer la destination du courrier reçu si cela est jugé nécessaire
3)
       - le DG visualise par défaut tout le courrier reçu non filtré (c à d celui auquel on n’a pas proposé de destination)
       - il peut également visualiser tout le courrier
       - il décide de la destination finale du courrier reçu (il peut soit approuver celle proposée, soit la changer)
       - il peut éventuellement joindre à ce courrier des remarques, des instructions …

4)
       - le DG peut donner directement des instructions par message et recevoir les réponses des destinataires.

5)
       - les directeurs et les chefs de divisions envoient à leur tour le courrier joint de leurs instructions à leurs subordonnés et en reçoivent des réponses sous différents formats (rapports, e-mails…).

Questions :
       1 - Réaliser les cas d’utilisation pour l’administrateur de messagerie électronique ? (2 Pts)
       2 - Réaliser le Diagramme des classes ? (4 Pts)
       3 - Réaliser  Les diagrammes de séquence ? (3 Pts)
       4 – Concevoir le modèle conceptuel de données (3 Pts)

II – XML

Soit la structure arborescente d’un livre :

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. Structurer les informations schématisées dans la figure ci-dessus sous forme d’un fichier XML (2 Pts)
2. Établir la DTD du document XML (2 Pts)
3. Établir une feuille de style CSS pour mettre en forme les tag du fichier XML (1 Pt)

III – Procédures stockées et Triggers - Sql Server

Soit la base de données 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


• Les opérations consistent en des opérations de retrait ou de dépôt d'argent (TypeOp=D si le client a déposé de l'argent sur son compte et TypeOp=R si le client a retiré de l'argent sur son compte)
• Un client ne peut avoir qu'un seul compte courant (TypeCpt="CC") et qu'un seul compte sur carnet (TypeCpt="CN")
• Le numéro d'opération est automatique
• La date de l'opération prend par défaut la date du jour

Créer les triggers suivants :
1. A la création de compte, on vérifie si : (1,5 Pts)
       - Les soldes sont supérieurs à 5000 DH ;
       - Les types de compte sont CC ou CN et aucune autre valeur n'est acceptée ;
       - Les clients n'ont pas déjà de comptes du même type.
2. Qui interdit la suppression de comptes dont le solde est > 0 ou de comptes pour lesquels la dernière opération date de moins de 3 mois même s'ils sont vides (solde=0). (1,5 Pts)



Examen de Passage - Théorique - 2007 - Algorithme - JAVA - UML - Merise - SQL

 Examen de Passage - Théorique - 2007 - Algorithme - JAVA - UML - Merise - SQL

 Dossier 1 : Algorithmique & JAVA (11 Points)


      a - Faire l’algorithme pour calculer K=1* 1/2 * 1/3* ………..*1/n  (n>0). (2.5Pts)
      b – Écrire le programme JAVA permettant de calculer K. N’utilisez pas la classe Clavier. (2.5Pts)
2. Écrire un algorithme qui calcule la racine carrée d'un nombre réel: A à l'aide de la formule itérative suivante:


Examen de Passage - Théorique - 2007 - Algorithme - JAVA - UML - Merise - SQL
Examen de Passage - Théorique - 2007 - Algorithme - JAVA - UML - Merise - SQL


On arrêtera les calculs lorsqu'on obtient une précision |Xn – Xn-1| ≤ Eps (Eps est donné par l'utilisateur: Eps<<1). (3Pts)
3. On dispose de toute la monnaie nécessaire en billets de 200 Dhs,  100 Dhs, 50 Dhs, 20 Dhs, et en pièces de 10 Dhs, 5 Dhs, 2 Dhs et 1 Dhs.
Écrire un programme qui décompose une somme d'argent saisie au Clavier en billets et pièces   (en utilisant le plus petit nombre de billets et de pièces possible) et affiche la décomposition. (3Pts)

Exemple :
Une somme d'argent saisie : 38 Dhs  sera décomposée comme suit :Un billet de 20 Dhs, Une pièce de 10 Dhs, Une pièce de 5 Dhs, Une pièce de 2   Dhs et Une pièce de 1 Dhs.

Dossier 2 : UML (11 points)

Il s'agit de réaliser un logiciel d'aide à la gestion d'un entrepôt de stockage de différent produits chimiques. Ce logiciel a pour but d'améliorer la répartition des produits et d'assurer la sécurité du dépôt en évitant par exemple, le stockage de certains produits dans le même local ou dans des locaux voisins.
A cette fin, le responsable de l'entrepôt doit pouvoir effectuer des vérifications, à tout moment, en demandant au système un rapport complet sur l'état des stocks.
Cet entrepôt dispose d'un quai de déchargement et de chargement. Il est organisé en locaux adaptés aux différents types de produits (toxicité, température de stockage, réaction chimique, …). Chaque local comprend un certain nombre de casiers numérotés.
Chaque jour, deux employés sont chargés de réceptionner les arrivées qui doivent correspondre aux commandes de l'entreprise. Celles-ci sont communiquées par le système central à celui de l'entrepôt, chaque matin, à la demande du responsable.
Un employé, quand il réceptionne un chargement, fournit au système les caractéristiques de ce chargement ainsi que celles de chacun des lots de produits qui le constitue. Pour chacun des lots, le système détermine le casier où ranger ce lot et fournit au code barre et une fiche d'allocation qui seront collés par l'employé sur le lot.
Une fois un chargement réceptionné, les produits sont acheminés dans les locaux et rangés dans les casiers par les manutentionnaires suivant le plan d'allocation établi par le système.
Les erreurs de livraison seront signalées.
Lorsqu'un chargement arrive, l'employé crée à l'écran un nouveau bordereau de réception indiquant la date et l'heure de livraison, le numéro de la commande correspondante, l'origine du chargement et le nom du chauffeur. Il vérifie chaque lot constitué d'une certaine quantité d'un produit donné. Il rentre sur le bordereau le code du produit et la quantité livrée.
En fonction du code et de la quantité, le système détermine le local et le casier de stockage (on supposera que l'entrepôt dispose toujours d'assez de locaux de stockage). Le système attribut alors au lot un identifiant et délivre un code barre et une fiche de destination qui seront collés sur l'emballage.
Lorsque tous les lots seront rentrés, le système compare le bordereau avec la commande correspondante. S'il trouve des différences, il produit un rapport d'erreur de livraison, sinon, la commande est validée et un accusé de réception est délivré au chauffeur.

1) Faire le diagramme  de USE CASE  ( 2Pts)
2) Etablir le diagramme collaboration pour les commandes du jour (2.5Pts)
3) Faire un diagramme de séquence pour les différents scénarios pour Réception des arrivées (2.5Pts)
4) Faire le diagramme de classe ( 4pts)

Dossier 3 : Merise (7 points)

La société DOMELEC est spécialisée dans la fabrication et la commercialisation d’appareils électroménagers à usage domestique. Son siège social est situé dans une ville du Sud de la France, qui est le berceau de l’entreprise. Aujourd’hui DOMELEC compte plusieurs sites, aussi appelés « unités de production », répartis sur le territoire métropolitain.
L’entreprise mène une politique de recherche de la qualité totale qui s’articule autour de plusieurs axes :
      • implication des salariés,
      • contrôle de la qualité des produits fabriqués,
      • intégration des fournisseurs dans le processus de fabrication,
      • politique d’innovation,
      • certification de la démarche qualité.

DOSSIER  1 : SUIVI DE LA COMPÉTENCE DES OPÉRATEURS

La fabrication des produits distribués par l’entreprise est organisée autour de postes de travail.

> Les unités de production
Il existe plusieurs unités de production au sein de la société. Chaque unité de production est identifiée par un code et possède un nom en rapport avec sa localisation (exemple : l’unité « Bourgogne »). Une unité de production prend en charge au moins une ligne de produits. Chaque unité de production héberge plusieurs équipes de production.

> Produits et lignes de produits
Une ligne de produits est une famille de produits qui possèdent la même fonction générale. La fabrication d’une ligne de produits est confiée à l’une des unités de production. Chaque produit n’appartient qu’à une seule ligne de produits.

On trouvera par exemple :


Examen de Passage - Théorique - 2007 - Algorithme - JAVA - UML - Merise - SQL
Examen de Passage - Théorique - 2007 - Algorithme - JAVA - UML - Merise - SQL


L’identifiant d’un produit est composé de l’identifiant de la ligne de produits à laquelle il appartient et d’un numéro séquentiel. Pour chaque produit, il est important de mémoriser un nom explicite, sa date de première mise en fabrication et un descriptif détaillé.

> L’équipe de production, le superviseur et les opérateurs
Une équipe de production est composée exclusivement de salariés de l’entreprise. Une équipe travaille sur une seule ligne de produits. Chaque équipe est identifiée par un numéro d’équipe. Elle est encadrée par un chef d’équipe appelé superviseur. La date de prise en charge de l’équipe par son superviseur doit être mémorisée. Les autres membres de l’équipe sont qualifiés d’opérateurs.
Pour chaque salarié, il est souhaitable de mémoriser les informations suivantes : matricule, nom, prénom, âge, adresse et numéro de téléphone.
Pour un opérateur, il faut connaître la date d’affectation à son poste de travail actuel, sa formation d’origine, décrite sous la forme d’un commentaire, ainsi que le plus haut diplôme obtenu par l’opérateur, s’il en possède un.
Le superviseur peut diriger plusieurs équipes au sein de la même unité de production. Pour un superviseur, les informations à prendre en compte sont:
la date de première affectation en qualité de chef d’équipe dans l’entreprise et son origine (recrutement externe ou promotion interne).
Un opérateur fait partie d’une seule équipe. Il est affecté à un seul poste de travail. On ne s’intéresse pas aux précédentes affectations de cet opérateur (équipe ou poste de travail).

> Postes de travail
Le même poste de travail peut être mobilisé pour fabriquer différents produits d’une même ligne de produits car, en général, les techniques de fabrication des produits d’une ligne sont semblables. La fabrication d’un produit requiert plusieurs postes de travail.
Chaque poste de travail est défini par un numéro, un nom et un libellé explicatif. On souhaite également connaître la date d’installation du poste, la date de sa dernière vérification et l’intervalle de temps maximal entre deux vérifications.

> Compétences et habilitations
La maîtrise de l’utilisation d’un poste de travail par un opérateur peut être décomposée en compétences élémentaires.
Une compétence est un savoir-faire élémentaire sur un poste de travail. Elle peut être commune à plusieurs postes. Chaque compétence possède un code et un libellé.
Une habilitation est un ensemble de compétences liées à un poste de travail. Pour chaque poste, il existe quatre niveaux hiérarchisés d’habilitation qui correspondent à des degrés de maîtrise de ce poste. Chaque habilitation est identifiée par le poste qu’elle concerne et son niveau (de 1 à 4). Un libellé décrit chaque habilitation.

Exemple :
Poste numéro 354 : Installation système refroidissement et protection isotherme


Examen de Passage - Théorique - 2007 - Algorithme - JAVA - UML - Merise - SQL
Examen de Passage - Théorique - 2007 - Algorithme - JAVA - UML - Merise - SQL


Questions :
a. Présenter le schéma conceptuel de données correspondant au domaine décrit. (5Pts)
b. Etablir le MLDR (2Pts)

Dossier 4 : SQL (6 points)

Le schéma relationnel de la base de données est le suivant :
      VOL (NUMVOL, ville_depart, ville_arrivee, heure_depart, heur_arrivee, distance, frequence)
      AVION (NUMAV, TYPE, CAPACITE)
      DEPART (NUMDEP, DTE, NUMVOL, NUMAV, QTECARBU)
      PASSAGER (NUMPASS, NOM, ADREESE, TEL)
      PERSONNEL (NUMPERS, NOM, ADRESSE, TEL)
      PILOTE (NUMPERS)
      RESERVATION (NUMDEP, NUMPASS)
      AFFECTATION (NUMDEP, NUMPERS)

1. Créer la table DEPART en ajoutant les contraintes clé primaire et clés étrangères (1Pt)
2. Donner la liste des avions dont la capacité est supérieure à 375 passagers (0.5Pt)
3. La liste des vols au départ de casa allant à paris après 18 heures(0.5Pt)
4. Ajouter la colonne NHV(nombre d’heures de vol) dans la table Pilote (0.5Pt)
5. Supprimer les passagers ayant réservés  dans le vol Numéro 450 (0.5Pt)
6. La liste des passagers ayant pris le même vol que « Chadli » (1Pt)
7. Afficher la consommation moyenne en carburant  par Km (1Pt)
8. Afficher les départs et le nombre de place libre est inférieur à la moitié de la capacité de l’avion (1Pt)

Dossier 5 : Réseaux Informatiques (5 points)
Soit le schéma suivant d'un réseau où A, B, C, D, E et F sont des machines reliées par ce type de réseau :


Examen de Passage - Théorique - 2007 - Algorithme - JAVA - UML - Merise - SQL
Examen de Passage - Théorique - 2007 - Algorithme - JAVA - UML - Merise - SQL


A, B, C, E et F sont situés sur le même segment et qu’il n’y a pas de routeur

1 . Remplissez le tableau ci-dessous en indiquant quels hôtes peuvent dialoguer et pourquoi? (3Pts)


Examen de Passage - Théorique - 2007 - Algorithme - JAVA - UML - Merise - SQL
Examen de Passage - Théorique - 2007 - Algorithme - JAVA - UML - Merise - SQL


2 . Est-il possible de faire communiquer tous les hôtes de ce segment ?
      a- En gardant les mêmes masques ? (Expliquez) (1Pt)
      b- En gardant les mêmes adresses ? (Expliquez) (1Pt)

 Examen de Passage - Théorique - 2007 - Algorithme - JAVA - UML - Merise - SQL

Examen Fin Formation - Théorique - 2007 - HTML - Réseaux - ADO.NET - UML - JAVA - Merise

Examen de Fin de Formation - Théorique - Session Juin 2007

Dossier 1 – Connaissance générales HTML - Réseaux - ADO.NET - SQL Server: (8Pts)


1. Soit le code HTML suivant :
<html>
<head>
</head>
<body TEXT="#000000" BGCOLOR="#ffffff" LINK="#000020" VLINK="#666666" ALINK="#660000" TOPMARGIN="0" LEFTMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0">
     <table align="center" border="0" cellPadding="0" cellSpacing="0" width="75%">
          <tr BGCOLOR="white"  onMouseOver="this.bgColor='red';" onMouseOut="this.bgColor='green';">
          <td align="middle"><font size="3">Ligne 1</FONT></TD></TR>
          <tr><td HEIGHT="2">Ligne 2</TD></TR>
     </TABLE>
</body>
</html>

     a. Interpréter ce code en spécifiant ce que sera affiché dans un navigateur. (0.5Pt)
     b. Que se passe t-il, quand le pointeur survole sur la ligne 1. (1Pt)
     c. Que se passe t-il, quand le pointeur quitte la ligne 1. (1Pt)
     d. Que se passe t-il, quand le pointeur survole sur la ligne 2. (0.5Pt)

2. On veut établir une connexion à une base de données SQL Server sans DSN, alors définir la chaîne de connexion qui permet de faire ce travail. (1Pt)
3. Proposer un schéma qui permet de décrire le fonctionnement du service IIS au moment de la connexion à une page Web ASP qui accède à une base de données SQL Server dans une  Architecture 3-tires. Expliquer le déroulement de ce processus. (1Pt)
4. QCM (0.25Pt/Question) – (3Pts)

Question N° 1
Donnez, parmi les classes d’objets ADO suivantes, celles qui représentent des objets fonctionnant en mode connecté :
a. SQLConnection
b. DataTable
c. SQLCommand
d. DataRow

Question N° 2
Vous souhaitez créer une application en .Net et privilégiez la performance de l’application.
Vous choisissez :
a. Le fournisseur de données géré OLEDB Provider (.NET OLEDB Data Provider)
b. Le fournisseur de données géré SQL Provider (.NET SQL Server Data Provider)
c. De maintenir les connexions à la base de données ouvertes le plus longtemps possible.
d. De minimiser le temps de connexion de l’application à la base de données et de travailler  avec des objets déconnectés.

Question N° 3
Vous souhaitez afficher dans une DataGrid des données filtrées selon un critère exprimé sur la valeur d’une colonne d’un objet DataTable. Quelle solution privilégiez-vous ?
a. Vous modifiez la commande associée à la propriété SelectCommand du DataAdapter et faîtes appel à la méthode Fill de ce dernier.
b. Vous avez recours à la méthode Select de l’objet DataTable
c. Vous créez une DataView en spécifiant le filtre adéquat.
d. Vous parcourez les lignes de la datatable et affectez la propriété false à la propriiété Visible des lignes que vous souhaitez ignorer.

Question N°4
Parmi ces affirmations concernant ADO.Net, une est fausse : Laquelle ?
a. Les objets connectés (Connection, Command, et DataAdapter) sont différenciés en fonction du fournisseur de données qui peut-être un fournisseur OLEDB, un pilote ODBC ou un fournisseur spécialisé pour une base de données particulière (SQL Server, Oracle, …).
b. L’objet DataAdapter est un « pont » qui permet de reporter les mises à jour effectuées sur les objets DataTable dans les tables de la base de données à laquelle il est connecté.
c. Un objet DataTable ne peut être constitué qu’à partir d’une seule table. Il est en effet impossible de créer une DataTable à partir d’une requête portant sur plusieurs tables.
d. La méthode Fill du DataAdapter permet de récupérer la liste des champs de la requête sous-jacente de la commande SelectCommand du DataAdapter et de récupérer les lignes de données renvoyées par cette requête.

Question N° 5
JDBC permet d’accéder aux données présentes dans un SGBDR sans se préoccuper des détails techniques et des spécificités des différents moteurs relationnels
a. VRAI
b. FAUX

Question N°6
Les données d'un ResultSet ne sont pas consultables plusieurs fois
a. VRAI
b. FAUX

Question N° 7
Pour établir une connexion avec un SGBDR, il faut avoir un objet qui réalise l'interface Connexion
a. VRAI
b. FAUX

Question N° 8
Un Serveur IlS 5.0 sur un serveur Windows 2000 comporte comme services:
a. Serveur de vidéo en streaming
b. Serveur Web
c. Serveur de News
d. Serveur Ftp
e. Serveur de fichiers Windows

Question N° 9
IIS signifie
a. Intemet Information Service
b. Information Integral Server
c. Intranet Informatique de Service

Question N°10
Quel est le port par défaut du protocole http:
a. 21
b. 81
c. 80
d. 25

Question N° 11
Quel est le chemin physique du répertoire du site web par défaut
a. C: \Winnt\InetPub\WWWRoot
b. C:\Mes Documents\WWWRoot
c. C :\Program Files\Microsoft IIS\WWWRooot
d. C :\InetPub\WWWRoot
e. C :\Winnt\System32\Web

Question N° 12
Peut-on gérer plusieurs sites Web distinct sur IlS installé sur Windows 2000 pro
a. Qui
b. Non

Dossier 2 – UML (8Pts):

MonAuto est une entreprise qui fait le commerce, l'entretien et les réparations de voitures.
MonAuto désire un logiciel de gestion des réparations; elle dispose déjà d'un logiciel comptable. Les factures de réparations seront imprimées et gérées par le logiciel comptable.
Le logiciel de gestion des réparations devra communiquer avec le logiciel comptable pour lui transmettre les réparations à facturer.
Le logiciel de gestion des réparations est destiné en priorité au Chef d'atelier, il devra lui permettre de saisir les fiches de réparations et le travail effectué par les divers employés de l'atelier.
Pour effectuer leur travail, les mécaniciens et autres employés de l'atelier vont chercher des pièces de rechange au magasin. Lorsque le logiciel sera installé, les magasiniers ne fourniront des pièces que pour les véhicules pour lesquels une fiche de réparation est ouverte; ils saisiront directement les pièces fournies depuis un terminal installé au magasin.
Lorsqu'une réparation est terminée, le Chef d'atelier va essayer la voiture. Si tout est en ordre, il met la voiture sur le parc clientèle et bouclera la fiche de réparation informatisée. Les fiches de réparations bouclées par le Chef d'atelier devront pouvoir être importées par le comptable dans le logiciel comptable.
Une réparation est toujours relative à un véhicule, elle nécessite le travail d'un ou plusieurs employés selon leur qualification et, éventuellement, des pièces de rechange.
La facture est envoyée au propriétaire du véhicule ou à une compagnie d'assurance en cas d'accident; une compagnie d'assurance est un client pour le garage. En cas de réparation en garantie, aucune facture n'est envoyée.
Le modèle doit contenir les renseignements qui permettent de faire la facture, selon les règles suivantes :
     - Un véhicule vendu par MonAuto bénéficie d'une année de garantie à partir de la date de livraison.
     - Le montant de la facture s'obtient en additionnant :
          •    Le nombre d'heure de chacun des employés ayant participé à la réparation * taux horaire de l'employé en fonction de sa qualification (chef, mécanicien, manœuvre...)
          •    Prix unitaire * quantité de chaque pièces utilisées (4 bougies, 1 filtre à air...)
Pour bénéficier d'une réparation sous garantie, le client doit amener son véhicule à l'atelier avant l'expiration du délai de garantie. En fin de période de garantie, l'atelier peut être surchargé et le Chef d'atelier ne pourra pas toujours effectuer la réparation avant la date d'expiration. Pour résoudre ce dilemme et éviter toute réclamation, lorsqu'un client prend un rendez-vous pour effectuer une réparation en garantie le Chef d'atelier prépare une fiche de réparation "garantie" et y indique la date de la demande de rendez-vous du client, en plus des 2 dates de réception et restitution du véhicule pour la réparation; cette date de demande de rendez-vous sera utilisée comme critère de réparation en garantie.
Restrictions
Nous ne gérons pas l'historique des changements de propriétaires des voitures; chaque fois qu'une voiture change de propriétaire, un nouveau véhicule sera créé avec indication de la nouvelle immatriculation, du nouveau propriétaire et de la date de livraison s'il s'agit d'une vente de MonAuto.

Les véhicules qui appartiennent à MonAuto, le parc de voitures neuves et d'occasion, sont traités comme des véhicules sans propriétaire et sans indication d'immatriculation.
Les informations historiques non expressément demandées, comme les prix de pièces de rechanges, les taux horaire, les qualifications des employés, etc. ne doivent pas être traitées.
1. Concevez le diagramme de classe (5Pts).
2. Concevez le modèle de cas d'utilisation de la  gestion des réparations (3Pts)

Dossier 3 - JAVA (6Pts) :

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 personnephysique (nom,prenom). 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. Créer une classe PersonnePhysique, avec un constructeur , une méthode d'affichage et une méthode modification. (2Pts)
2. Créer une classe CompteBancaire prenant en compte la description précédente. Cette classe comprendra les méthodes suivantes : (2Pts)
     • 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
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é. (2Pts)
     • Précisez le(s) attribut(s) à ajouter à la classe comptebancaire et modifiez le(s) constructeur(s).
     • Ecrivez la méthode decouvertautorise.
     • Modifiez la méthode de retrait.

Dossier 4 – Procédures stockées & Triggers ( 10Pts) :

Vous participez à la réalisation d’un logiciel permettant de gérer les comptes bancaires d’un particulier.
Dans un premier temps, l’utilisateur définit les différents comptes à gérer en déclarant pour chacun le numéro de compte, le nom de la banque,  …
L’utilisateur saisit ensuite chacune des opérations réalisées sur l’un de ces comptes. Une opération correspond à un débit (paiement par chèque de la facture de téléphone, retrait d’espèce à l’aide d’une carte bancaire, …) ou à un crédit (dépôt à la banque de chèque reçu par exemple).
Chaque fin de mois, l’utilisateur reçoit un relevé de compte ( un par compte bancaire). Il effectue alors le rapprochement entre les opérations qu’il a saisies et celles constatées par la banque :
     - pointage des opérations saisies apparaissant sur le relevé. Ce pointage consiste à mémoriser le fait qu’une opération a été constatée par la banque. L’opération est dite « pointée » et le numéro du relevé est mémorisé.
     - Ajout des opérations non saisies apparaissent sur le relevé (réception d’un virement correspondant au salaire mensuel par exemple). Ces opérations sont automatiquement pointées puisqu’elles ont été constatées par la banque.
Les opérations permettent de calculer le solde d’un compte, différence entre la somme des opérations de crédit et la somme des opérations de débit. En fait, chaque compte possède deux soldes :
     - le solde réel qui prend en considération toutes les opérations saisies par l’utilisateur, qu’elles aient été constatées ou non par la banque.
     - Le solde en banque qui ne prend en considération que les opérations constatées par la banque, c’est à dire ayant fait l’objet d’un pointage à partir d’un relevé.
Le calcul des soldes des comptes conduit à additionner un grand nombre d’opérations, et ce depuis la mise en service de l’application. Pour éviter ces calculs, il a été décidé de mémoriser les soldes réels et « en banque » dans la table Compte.
Dès lors se pose le problème de la cohérence entre les opérations et le solde des comptes. La solution adoptée est le recours à un ensemble de procédures stockées et de déclancheurs destinés à maintenir à jour les soldes dans la table COMPTE.

Schéma de la base de données :
     Banque (Bid, Bnom)
     Compte ( Cid, Cnuméro, Clibelle, CsoldeReel, CsoldeBanque, #Cbanque)
     Operation (Oid, Odate, Omantant, Osens, #Oreleve, #Ocompte)
     Releve (Rid, Rdate, #Rcompte)

Le MCD correspondant au schéma de la base de données est :
Examen Fin Formation - Théorique - 2007 - HTML - Réseaux - ADO.NET - UML - JAVA - Merise
Examen Fin Formation - Théorique - 2007

Remarques :
- CsoldeReel et CsoldeBanque représentent respectivement le solde réel et le sole en banque du compte.
- Osens est un caractère mémorisant la nature de l’opération (D : Débit, C : Crédit)
- Oreleve contient le numéro de relevé Rid ayant permis de pointer l’opération. Cet attribut contient la valeur NULL si l’opération n’a pas encore été pointée.

Rédiger l’ensemble des procédures stockées et des déclencheurs nécessaires à la gestion des informations calculées CsoldeReel et CsoldeBanque :
- PROCEDURE MAJSOLDEBANQUE (2Pts)
- PROCEDURE MAJSOLDEREEL (2Pts)
- TRIGGER INSERTION OPERATION (2Pts)
- TRIGGER MISE A JOUR OPERATION (2Pts)
- TRIGGER SUPPRESSION OPERATION (2Pts)


Dossier 5 – MERISE ( 8Pts) :

Le service de formation d'une entreprise souhaite gérer ses actions de formation. Afin d'adresser des convocations aux employés,  on enregistre les agents avec leur numéro,  leur nom,  prénom ainsi que l'établissement auquel ils appartiennent (l'entreprise est implantée dans différents lieux géographiques). De cet établissement on connaît le code,  le nom et l'adresse.
Un certain nombre de cours sont offerts aux employés qui peuvent s'y inscrire. Ces cours sont connus dans un catalogue,  où ils figurent avec un code et un intitulé. Tous les cours sont animés par des employés internes à
l'entreprise. On s’assurera des cours que les personnes affectées à l'animation ne sont pas sujettes à une inscription à ce même cours. Personne dans cette entreprise n'ayant le don d'ubiquité.
On désire établir des convocations aussi bien pour le personnel inscrit que pour le personnel enseignant. A ce sujet,  il faut savoir que tout cours ( initiation informatique,  anglais débutant,  espagnol perfectionnement, ...) est planifié plusieurs fois par an et que l'on parle plus volontiers de session. Une session est repérée par un numéro et a un intitulé (printemps, été, ...). La planification consistera à décider quels cours seront offerts dans une session, et pour chacun d’entre eux quelle en sera la date et la durée, puis de les inscrire au catalogue. Les inscriptions ou animations ou convocations se font par référence aux cours et aux sessions.
Lors de la convocations on fait savoir la liste des ouvrages (dont on donne le numéro, la référence et l'intitulé) qu’il est conseillé de consulter pour un cours donné.

1- Construire le modèle conceptuel de données. (4Pts)
2- En déduire :
     a- Le modèle logique de données (2Pts)
     b- Le modèle physique de données (2Pts)

Retrouvez-nous sur Facebook
×Facebook Les Filières Informatiques