mercredi 7 mai 2014

Exercice corrigé MCD Mise à disposition de personnes pour le compte des clients d'une PME

         Modèle Conceptuel de données –Etude de cas


Mise à disposition de personnes pour le compte 
des clients d'une PME
Énoncé :
Soit une PME (Petite ou Moyenne entreprise) spécialisée dans la mise à disposition de personnes pour le compte de ces clients.
Liste des données :
-         N° client
-         Nom client
-         Adresse client
-         N° de contrat
-         La date de début de contrat
-         N° de l’employé
-         Nom employé
-         Adresse employée
-         Tarif journalier pour une qualification
-         Nom de la qualification
-         N° de qualification
Nombre de jour X plus hommes prévus (en précise pour chaque contrat le nombre des hommes prévus et  le nombre de jour pour une qualification donnée)
Informations supplémentaires :
  • Tout client doit signer un contrat
  • A chaque qualification correspond un tarif journalier
  • La PME s’accorde en interne une certaine souplesse sur la détermination précise de la qualification de son personnel en procédant de la manière suivante :
ü  Chaque personne possède obligatoirement une qualification de base.
ü  A chaque intervention il est possible de réajuster la qualification dite d’intervention par rapport à la qualification de base. La qualification d’intervention d’un employé est déterminée pour un contrat donné.
La qualification retenue doit toujours appartenir à l’ensemble des qualifications standard.
Etablir le MCD correspondant ?

 Solution:

Exercice corrigé MCD de Location de boxes de garages

         Modèle Conceptuel de données –Etude de cas


Location de boxes de garages pour les automobiles

Énoncé :
           Faire le modèle conceptuel des données correspondant aux activités de location de boxes de garages pour véhicules automobiles, dans une société de gestion immobilière

Liste des données :

1.      adresse du parage
2.      N° du parage
3.      N° du box
4.      nom du locataire
5.      montant du loyer
6.      montant des charger
7.      N° d’immatriculation du véhicule garé habituellement dans un box. la société de gestion exige la connaissance de ce N° du véhicule ; elle accepte un maximum de deux véhicules pouvant se garer alternativement dans un box donné. Un même véhicule est autorisé à se garer dans plusieurs boxes.

Nota : il n’y a pas de notion d’historique.


 SOLUTION :


Exercice corrigé MCD Ticket de caisse d'un café

        Modèle Conceptuel de données –Etude de cas



Ticket de caisse d'un café

Énoncé :
Au café : établir le modèle conceptuel des données correspondant aux données qui apparaissent sur le ticket de caisse d’un café moderne.
Liste des données :
1.      numéro de serveur
2.      nom du serveur
3.      numéro de table
4.      numéro de consommation
5.      libellé de consommation
6.       prix unitaire de la consommation
7.      quantité d’une consommation commandée
8.      montant de la ligne (égale à la quantité d’une consommation commandées multipliée par le prix unitaire de la consommation)
9.      date de la commande
10. heur de la commande
11. numéro de la commande (N° remis à 1 chaque matin et incrémenté par pas de 1 dans l’ordre des commandes).
12. montant total de la commande

Informations complémentaires :

- Un serveur est affecté à plusieurs tables, par journées complètes.
- Une commande correspond à une table unique.

SOLUTION :


Exercice corrigé MCD courses de chevaux

         Modèle Conceptuel de données –Etude de cas


Courses de chevaux

Liste des données :
1.      type de course (tiercé, quarté,…)
2.      numéro de la course
3.      désignation de la course
4.      nom du champ de course
5.      catégorie (trot attelé, trot monté, obstacle,….)
6.      date de la course
7.      dotation de la course
8.      nom du cheval
9.      N° du dossard du jockey et du cheval pour la course
10. nom du propriétaire du cheval
11. gains du cheval depuis le début de la saison
12. sexe du cheval
13. nom du jockey
14. date de naissance du cheval

Informations complémentaires :

Il s’agit des courses sur une saison.
-         Un champ de course est équipé pour une ou des catégories de courses.
-         Un cheval a une parenté ascendante, et éventuellement descendante.
-         Une course est toujours d’un type et un seul.

SOLUTION  :


Exercice CRC

CRC : Cyclic Redundancy Check

Exercice:

            Montrer que le (CRC : Cyclic Redundancy Check) permet de détecter et de corriger les erreurs simples et doubles lors de la transmission de la trame entre l’émetteur et le récepteur.

I-Principe du CRC:

            CRC est un mécanisme de contrôle d’erreurs basé sur le calcul d’un polynôme générateur. Il permet de contrôler que les données d’un paquet, d’une trame ou d’une cellule n’ont pas été endommagées lors de la transmission sur le réseau.
            On suppose, lors de l’émission, que le nombre de bits transmis dans une trame est (N+1). Alors, ce bloc de données sera considéré comme un polynôme de degré N. On multiplie le polynôme représentatif du message par  Xm, où m étant le degré du polynôme générateur. Ensuite, on procède à la division polynomiale_ la division utilise le OU exclusif_ jusqu’à avoir le reste de degré inferieur à celui du diviseur ; ce reste correspond au CRC, celui-ci vient se coller à la fin des données émises.


Ceci revient à :


A la réception, l’ensemble « message+CRC » subit la même opération, si le reste de la division est égal à zéro, on suppose que le message n’a pas été affecté par une erreur de transmission. Sinon, des erreurs de bits ont eu lieu lors de la transmission.


II-Les polynômes générateurs et la détection des erreurs:


Les polynômes générateurs utilisés font objet de normalisation. Le degré du polynôme est d’autant plus important que la probabilité d’apparition d’une erreur le soit, ou que la longueur du bloc à protéger soit importante.
Ainsi, le polynôme générateur X16 + X12 + X5 +1 permet de détecter :
·         Toutes les séquences d’erreurs de longueur égale ou inférieure à 16 bits ;
·         Toutes les séquences erronées comportant un nombre impair de bits ;
·         99,99% des erreurs de longueur supérieure à 16 bits.
Correction des erreurs:

            Si le CRC peut détecter tous les erreurs simples et doubles. Alors il peut en principe corriger toutes les erreurs simples. Pour ce faire, supposons qu’on a reçu une donnée contenant une simple erreur ; Si on procède au changement de tous les bits un par un. Dans tous les cas sauf un,  cela se traduira par une double erreur détectée. Sauf lorsqu’on change le bit initialement erroné, dans ce cas les données seront corrigées.
            Alors, Ceci est d’autant plus intéressant quand la capacité de détection des erreurs est importante(le cas de G(x)= X16 + X12 + X5 +1). Dans ce cas le CRC peut détecter et corriger les erreurs simples et doubles, et encore plus.
N.B : La correction des erreurs présentes, toutefois, plusieurs complications, d’où le fait qu’on préfère de retransmettre l’ensemble de la trame  en cas d’erreurs.
Conclusion:

            Le contrôle d’erreurs CRC effectué au niveau de la couche liaison de données du modèle OSI, constitue une méthode efficace et fiable pour s’assurer de la réception correcte de la trame, permettant ainsi de détecter et de corriger les bits erronés.
            Ceci dit, la correction des données n’est pas appliquée. Le récepteur rejette la trame et la redemande à l’émetteur en cas d’erreur(s) détectée(s).

Exercice corrigé du système MIU

Informatique théorique

Exercice 3:

Système MIU :

        Nous avons le système MIU est une suite de ‘M’,’I’ et ’U’;  L0=MU étant son axiome. L’évolution du système étant basée sur 4 règles qui gèrent l’extension et la limitation du système. On obtient alors :
-         L0 = {MI}
-         L1 = {MI , MIU , MII}
-         L2 = {MI , MIU , MII , MIUIU , MIIU , MIIII}
-         L3 =  {MI , MIU , MII , MIUIU , MIIU , MIIII , MIUIUIUIU , MIIUIIU , MIIIIU , MIIIIIIII , MUI , MIU}
-         L4={MI, MII, MIU, MIUIU, MIIU, MIIII, MIUIUIUIU, MIIUIIU, MIIIIU, MIIIIIIII, MUI, MIUIUIIUIUIIUIUIIUIUI, MIIUIIUIIUIIU, MIIIIUIIIIU, MUIU, MIUU, MIIIIIIIIU, MIIIIIIIIIIIIIIII, MUUII, MIIUU, MIUUI, MUIIU, MUIUI}
-         Etc. …
        Le jeu du système MIU consiste à vérifier, à partir des règles de dérivation d’un coté et de l’axiome MI de l’autre, si tous les assemblages de lettres effectuées à partir de MIU existent. Autrement dit, il s’agit de savoir si les mots que l’on peut obtenir à partir de ‘M’ , ’I’ et ‘U’ sont des théorèmes du système.
        Après quelques tentatives pour trouver ‘MU’ ; on n’est pas arrivé à le trouver. Cependant, on ne peut donner une preuve formelle sur l’absence de celui-ci. Mais logiquement, ou plutôt intuitivement, on constate que ‘MU’ ne peut pas être théorème du système pour les raisons qui suivent :
a-  L’assemblage « MU » comporte zéro « I ». Or, zéro est un multiple de 3.

b- R1 et R2 laissent intact le nombre de « I » autorisé. C’est R3 qui diminue le nombre de
« I » de 3, sans le changer quant à la divisibilité par 3. R2, quant à elle, double le nombre de « I ». Et, comme 2n ne peut être divisible par 3 que si « n » est divisible par 3, R2 ne produit pas de multiple de 3. Alors, aucune règle ne produit de multiple de 3.

c-L’axiome « MI » contient un nombre non multiple de 3 de « I », c’est-à-dire un seul « I ». Par conséquent, aucun théorème ne peut contenir de multiple de 3 de « I », donc en particulier zéro « I ».

d- Il est clair que, pour produire la preuve formelle de « MU » dans le système MIU, il faut supprimer tous les « I ».
         Toutes ces constatations, intuitives, ne constituent pas de preuves formelles, toutefois elles nous donnent une vision plus claire sur l’existence ou l’inexistence d’un tel ou tel phénomène.


Exercice corrigé de la fonction d'Ackermann

Informatique théorique

Exercice :

La Fonction d’Ackermann : Calcul de A(4,4)







Vu la complexité du calcul, on a procédé à la réalisation d’un programme sur C, dont voici le code :




                   


Donc on constate que le A(4,4) a causé une saturation du système. Ce phénomène étant tout à fait normal, vu le comportement de la fonction d’Ackermann. Celle-ci croit d’une manière extrêmement rapide, passant initialement d’une adition, à une multiplication, ensuite à une exponentiation, et par la suite à une réitération de l’exponentiel, ainsi de suite :

-         A( m , 1 ) = 2 + (m+3) – 3                 Adition
-         A( m , 2 ) = 2 * (m+3) – 3                 Multiplication
-         A( m , 3 ) = 2(m+3) – 3                     Exponentiation
-         A( m , 4 ) = (…(2)2)…)2 – 3             Réitération de l’exponentiel
                                            
         Alors A(4,4) ne peut être calculée via un ordinateur simple, du moment que l’unité de calcul (UC) de celui-ci ne peut supporter le nombre d’opérations que demande le calcul de A(4,4).

Exercice corrigé fonction définie

Informatique théorique


Exercice :


Démontrer est ce que f(n) est bien définie ? (calculer f(97) et f(0))






Pour  pouvoir calculer ces valeurs et observer la nature de la fonction, on a vu utile de réaliser un programme en C :




Après compilation et exécution du programme on obtient le résultat suivant :



Cette fonction reste constante pour n<100 et croissante pour n>100.voila quelques tests :



Donc on constate que f(0)=f(97)=91, ceci étant valable jusqu’à la valeur de 101 à partir de laquelle la fonction commence à suivre un comportement croissant jusqu’à l’infini. Ainsi, on peut observer le comportement de f qui est bien définie.

MCD Gestion des logements

Modèle Conceptuel de données –Etude de cas 

Gestion des logements pour une agence immobilière

           Une agence de location de maisons et d’appartements désire gérer sa liste de logements. Elle voudrait en effet connaître l’implantation de chaque logement (nom de la commune et du quartier) ainsi que les personnes qui les occupent (les signataires uniquement).
Le loyer dépend d’un logement, mais en fonction de son type (maison, studio, T1, T2...) l’agence facturera toujours en plus du loyer la même somme forfaitaire à ses clients. Par exemple, le prix d’un studio sera toujours égal au prix du loyer + 30 DH de charges forfaitaires par mois.
Pour chaque logement, on veut disposer également de l’adresse, de la superficie ainsi que du loyer. Quant aux individus qui occupent les logements (les signataires du contrat uniquement), on se contentera de leurs noms, prénoms, date de naissance et numéro de téléphone. Pour chaque commune, on désire connaître le nombre d’habitants ainsi que la distance séparant la commune de l’agence.
L’agence désire gérer l’historique de l’occupation des logements par les individus. On considèrera de plus qu’un individu peut être signataire de plusieurs contrats de location. On précise aussi qu’un logement peut faire l’objet de plusieurs locations disjointes dans le temps.

Travail à faire :
1.      Faire l’inventaire des données et des règles pour la gestion des locations
2.      Élaborer le MCD