rapport 0 exercices d'algorithmique

UNIVERSITE DE YAOUNDE I

             ----------------

    Ecole Normale SupĂ©rieure

               ---------------- 

         FiliĂšre Informatique

               ----------------

NGO MBONDO Bernadette M I

Matricule :09YIO43

Niveau :IV

UNIVERSITY OF YAOUNDE I

 

Cours d’Algorithmique

Rapport d’exercices n°1,2,3 et 4

EXERCICE I :

SYSTEME : Commutateur tĂ©lĂ©phonique

      PROCESSEUR :

La machine virtuelle considĂ©rĂ©e ici est constituĂ©e :

·                                   Du commutateur ;

·                                   De l’appelant ;

·                                   De l’appelĂ© ;

·                                   Du combinĂ© de l’appelant ;

·                                   Du combinĂ© de l’appelĂ© ;

TYPE DE BASE :                        

1.      Les types d’objets :

·         Ligne_tĂ©lĂ©phonique{ OccupĂ©, disponible, en dĂ©rangement} ;

·         NumĂ©ro {AttribuĂ©, non_ attribuĂ©};

·         La liaison {Ă©tablie ,maintenue, coupĂ©e} ;

·         Le message {signal_erreur,signal_normal,signal_occupĂ©};

·         La durĂ©e d’un appel ;

2.      Les types d’états :

·         Etat du commutateur {en_panne, en_marche, en_arrĂȘt} ;

·         Etat_appelant {dĂ©sintĂ©ressĂ©,intĂ©ressĂ©,en_dĂ©crochage_combinĂ©,en_composition_numĂ©ro,en_attente,en_communication,en_ecoute_message} ;

·         Etat_appelĂ© {IntĂ©ressĂ©, dĂ©sintĂ©ressĂ©, en_attente, en_communication,         en_reception_message} ;

·         Etat_combinĂ©_appelant {raccrochĂ© dĂ©crochĂ©, occupĂ©, en_transmission, en_lecture_numero} ;

·         Etat_combinĂ©_appelĂ© {raccrochĂ© dĂ©crochĂ©, occupĂ©, connectĂ©, libre, en_transmission, en_lecture_message} ;

 

CONSTRUCTEUR DE TYPES :

Ici aucun constructeur ne serra utiliser

 

TYPE CONSTRUIT :

Donc il n’y a pas de type construit

VARIABLES D’OBJETS

1)      Variables d’états du processeur

 

Ă©tat_commutateur :        Etat_commutateur ;

Ă©tat_abonnĂ©_appelant :  Etat_appelant ;                                     

Ă©tat_abonnĂ©_appelĂ© :      Etat_appelĂ© ;                                         

Ă©tat_combinĂ©_appelant : Etat_combinĂ©_appelant ;                                               

Ă©tat_combinĂ©_appelĂ© :    Etat_combinĂ©_appelĂ© ;

 

            2) Variables d’objets     

 

               ligne :                       Ligne ;

            numĂ©ro:              NumĂ©ro ;

            message :            Message ;

                durĂ©e :                DurĂ©e     ;

DEFINITION DES OPERATIONS :

Ø  Composer_numĂ©ro :

Ø  DĂ©crocher_combinĂ©

Ø  Racrocher_combinĂ©

                                  

EXERCICE II :

SYSTEME :     Montre Ă  affichage digital

PROCESSEUR :

La machine abstraite considĂ©rĂ©e ici est composĂ© :

·         D’un afficheur temps qui est composĂ© :

-          D’un afficheur heure

-          D’un afficheur minute;

·         Du metteur Ă  jour temps qui lui se compose :

-          Du metteur Ă  jour heure;

-          Du metteur Ă  jour minute ;

TYPE DE BASE

1.       Type d’objets

Heure {initiale ,actualisĂ©e}

Minute { initiale ,actualisĂ©e}

2)      Types d’états du processeur

 

-          Etat_afficheur_heure{ En_panne,en_arrĂȘt,en_retard ,en_avance, en_affichage} ;

-          Etat_afficheur_minute{ En_panne, ,en_arrĂȘt,en_retard ,en_avance, en_affichage} ;    

-          Etat_metteur_Ă _jour_heure{ En_panne,en_arrĂȘt,en_incrĂ©ment} ;

-          Etat_metteur_Ă _jour_minute{ En_panne, en_incrĂ©ment} ;

CONSTRUCTEUR DE TYPE :

Dans ce problĂšme, nous utiliserons les constructeurs de types suivants :

1.     Assemblage de() dont la rĂšgle de construction est :

Type :T1,
,Tn/Type :assemblage de(y1 :T1,
,yn :Tn)

2.      Ensemble de dont la rĂšgle de construction est :

Type E/ensemble de E

 

TYPE CONSTRUIT :

Etat_afficheur_temps= assemblage de (

                                             Ă©tat _afficheur_heure :Etat afficheur heure ;                                                         Ă©tat_afficheur_minute :Etat afficheur minute ;                                                                  )

Etat_metteur Ă  jour temps= assemblage de (

                                        Ă©tat_metteur_Ă _jour_heure :Etat_metteur_Ă _jour_heure ;                                                  Ă©tat_metteur_jour_minute :Etat_metteur_Ă _jour_minute ;

                                            )

Temps=assemblage de(

                                            Heure

                                            Minute

                                            )

Affichage=ensemble partant de l’affichage00 à l’affichage59

VARIABLES :

1.       Variables d’objets

                heure : Heure ;

            temps : Temps ;

           minute : Minute ;

           affichage :Affichage

2.       Variables d’état du processeur

Ă©tat_afficheur_heure : Etat_afficheur_heure ;

Ă©tat_afficheur_minute : Etat_afficheur_minute;

Ă©tat_metteur_a_jour_heure :  Etat_metteur_a_jour_heure

 Ă©tat_metteur_a_jour_minute :  Etat_metteur_a_jour_minute

en plus des variables des types construits

OPERATIONS DE BASE :

Ø  Afficher heure

Ø  Afficher minute

Ø  Mettre_Ă _jour_heure

Ø  Mettre_Ă _jour_minute

 

 

EXERCCICE III :

SYSTEME :     Distributeur automatique de carburant

PROCESSEUR :

La machine abstraite ici se compose

·         Du client ;

·         Du distributeur automatique de carburant qui lui-mĂȘme se dĂ©compose en - Le poste de distributeur dont les Ă©lĂ©ments sont :

                               * Le compteur prix unitaire de l’essence sans plomb ;

                        * Le compteur volume de l’essence sans plomb ;

                        * Le compteur prix Ă  payer de l’essence sans plomb ;

                        * Le pistolet de l’essence sans plomb ;

                       * Le compteur prix unitaire de l’essence super;

                        * Le compteur volume de l’essence super;                         

                        * Le compteur prix Ă  payer de l’essence super ;

                        * Le pistolet de l’essence super;

                       * Le compteur prix unitaire du gasoil;

                        * Le compteur volume du gasoil;

                        * Le compteur prix Ă  payer du gasoil;

                        * Le pistolet du gasoil.

                       * Le moteur ;

                       * Le lecteur de carte ;

TYPE DE BASE :

1.     Type d’objets :

·        Carburant {gasoil, essence_sans_plomb, super};;

·         Prix ;

·         Volume ;

·         Carte magnĂ©tique ;

·        EvĂšnement{rupture_de_stock,stock_disponible}

Type d’état :

Etat_Client {DĂ©sinterressĂ©, en_attente, en_authentification, choix_carburant,      

                    En_service, choix_quantitĂ©_carburant, choix_pistolet}       

Etat_Lecteur_de_carte {En panne, en lecture, en éjection, libre}

Etat_Moteur {En panne, en arrĂȘt, en_marche} ;

Etat_pistolet_gasoil{RangĂ©, retirĂ©, appuyĂ©, relĂąche} ;

Etat_compteur_prix_unitaire_gasoil {En panne, en arrĂȘt, hors_service, en_service} ;

Etat_compteur_volume_gasoil {En panne, en arrĂȘt, hors_service, en_service} ;

Etat_compteur_prix_Ă _payer_gasoil {En panne, en arrĂȘt, hors_service, en_service} ;

Etat_pistolet_essence_sans_plomb {RangĂ©, rĂ©tirĂ©, appuyĂ©, relachĂ©};

Etat_compteur_essence_sans_plomb{En panne, en arrĂȘt, hors_service, en_service} ;

Etat_compteur_volume_essence_sans_plomb {En panne, en arrĂȘt, hors_service, en_service} ;

Etat_compteur_prix_Ă _payer _essence_sans_plomb{En panne, en arrĂȘt, hors_service, en_service} ;

Etat_pistolet_super {RangĂ©, retirĂ©, appuyĂ©, relĂąchĂ©};

Etat_compteur_prix_unitaire_super {En panne, en arrĂȘt, hors_service, en_service} ;

Etat_compteur_volume_super {En panne, en arrĂȘt, hors_service, en_service} ;

Etat_compteur_prix_Ă _payer_super {En panne, en arrĂȘt, hors_service, en_service} ;

 

COSTRUCTEUR DE TYPE :

Dans ce problĂšme, nous utiliserons les constructeurs de types suivants :

Assemblage de() dont la rĂšgle de construction est :

Type :T1,
,Tn/assemblage de(y1 :T1,
,yn :Tn)

TYPE CONSTRUIT :

 Etat_distributeur _gasoil= assemblage de{

o   Ă©tat_pistolet_gasoil :  Etat_pistolet_gasoil ;

o   Ă©tat_compteur_prix_unitaire_gasoil : Etat_compteur_prix_unitaire_gasoil ;

o   Ă©tat_compteur_volume_gasoil : Etat_compteur_volume_gasoil ;

o   Ă©tat_compteur_prix_Ă _payer_gasoil : Etat_compteur_prix_Ă _payer_gasoil ;

}

Etat_distributeur_essence_sans_plomb= assemblage de{

o   Ă©tat_pistolet_essence_sans_plomb : Etat_pistolet_essence_sans_plomb ;

o   Ă©tat_compteur_prix_unitaire_essence_sans_plomb :Etat_compteur_prix_unitaire_essence_sans_plomb ;

//

01/12/2009
0 Poster un commentaire

A découvrir aussi


Inscrivez-vous au blog

Soyez prévenu par email des prochaines mises à jour

Rejoignez les 29 autres membres