Devoirs Hebdomadaire N°1
CDL...DH1


M. Joseph DASSE BRIKA


back

Soit Spécifier/Formaliser en ProPlog le DEST Dominante Informatique, Conception, Développement en supposant le premier cycle acquis :

dominante informatique conception développement    
  approfondissement spécialisation  
    Management

 

    DEST

 

Un DEST est composé des 4 valeurs du cycle Probatoire, de 2 1/2 valeurs de Spécialisation et d'une valeur Socio-Economique.


Un programme ProPlog est un ensemble fini de règles et de faits. Une procédure est un ensemble de règles avec le même prédicat (atome) en tête de règle.

Alors pour le DEST en Informatique en ProPlog on a écrit :

dest :- cycle_Probatoire_CDI , uv_Approfondissement , uv_SocioEconomique.

Rappel : les noms d'atomes en Prolog sont des chaînes alphanumériques commençant par une lettre minuscule ou bien, si cette syntaxe n'est pas respectée, des chaînes de caratères entre ' et '.

Le cycle probatoire (cycle_Probatoire_CDI ) est composé de 4 uv. Alors en ProPlog on a écrit :

cycle_Probatoire_CDI :- uvCDI1 , uvCDI2 , uvCDI3 , uvCDI4.

INFORMATIQUE CYCLE PROBATOIRE CDI
0.5 Modélisation,optimisation,complexité et algorithmes (MOCA B1)B 1  Cours  10863

0.5 Une 1/2 UV au choix parmi:
 Modélisation,optimisation,complexité et algorithmes (MOCA B2) B 2 Cours 10872
 
 Architectures des systèmes informatiques B 4 Cours 16883
 
 Génie logiciel B 5 Cours 16767
 
 Systèmes de gestion de bases de données B 7 Cours 19786
 
 
1.0 Conception et développement du logiciel B 3 Cours 16472
 
1.0 Systèmes et réseaux informatiques B 4 Cours 19339
 
1.0 Projet conception et développement informatique B 0 TP 16392

Remarque : les uv seront représentées en ProPlog par leurs codes précédés de uv. Exemple : uv16472.

l'uvCDI1 est composée de 2 1/2 uv dont une est obligatoire et l'autre est au choix. En ProPlog on va donc avoir plusieurs définition de uvCDI1 :

uvCDI1 :- uv10863 , uv10872.
uvCDI1 :- uv10863 , uv16883.
uvCDI1 :- uv10863 , uv16767.
uvCDI1 :- uv10863 , uv19786.

Pour les autres, en ProPlog, on a écrit :

uvCDI2 :- uv16472.

uvCDI3 :- uv19339.

uvCDI4 :- uv16392.

QUESTION 1 : Enregistrez l'ensemble des règles dans le fichier destCDI_1.pl. Lancez Prolog-SWI à partir de ce fichier i.e. en double-cliquant dessus et constatez que les règles sont bien chargées dans l'espace de travail par la commande ?- listing. (répondre par le listing de la session Prolog depuis son ouverture).

Remarques : les procédures ne sont pas dans l'ordre du fichier destCDI_1.pl mais dans une procédure l'ordre des règles est respecté.

top
Spécialisation/Approfondissement  : choisir deux 1/2 valeurs parmi
Intitulé Cycle Code
Recherche opérationnelle et programmation linéaire avancée

Evaluation de performances et sûreté de fonctionnement

Intelligence artificielle

Techniques de tests et validation du logiciel

Techniques pour la qualité du logiciel

Bases mathématiques pour la construction de modèles et programmes

Réseaux : compléments et applications

Systèmes et applications répartis

Interaction homme-machine

Systèmes temps réel et leur programmation

Conception de systèmes intégrés matériels et logiciels

Intégration des systèmes client-serveur

Applications concurrentes : conception et outils  

Images et sons numériques

Programmation et développement orientés objets

Analyse des données : méthodes descriptives (STATISTIQUE)

Analyse des données : méthodes explicatives

Traitement analogique du signal (ELECTRONIQUE)

Traitement numérique du signal

B1

B2

B4

B1

B2

B3

B1

B4

B2

B3

B2

B4

B3

B5

B4

B1

B2

B1

B2

18949

18903

19900

16776

16794

19348

16463

19302

16874

16972

16865

16847

16981

26567

19357

15911

15920

06074

12018

en ProPlog pour représenter des choix on donne autant de règles que de choix  possibles (cf. uvCDI1) ci dessus. Donc :

uv_Approfondissement :- uv18949 , uv18903.
uv_Approfondissement :- uv18949 , uv06074.
etc...

QUESTION 2 : Combien de règles faut-il pour spécifier complètement uv_Approfondissement (justifiez votre réponse) ?

 
valeur socio-économique/Management
Vous souhaitez conclure vos études au Cnam par l'obtention du DEST,
l est nécessaire de posséder une valeur socio-économique.

L'objectif général de ces enseignements est:

  1. - d'accroître les compétences des auditeurs, autres que techniques,
       dispensables aujourd'hui à l'exercice des métiers de l'ingénieur,
  2. de donner les moyens de comprendre la complexité du monde social et économique.

Vous pouvez choisir n'importe quelle valeur  (ou 2 1/2 valeurs) socio-économique dans la liste :

Management et économie de l'entreprise B1 - 26405 1/2 UV

Management social de l'entreprise pour l'ingénieur B1 - 19606 1/2 UV

Commerce international B2 11146 1 UV

Comptabilité financière A1 12303 1 UV

Droit des affaires A3 22607 1/2 UV

Droit des affaires A4 22618 1/2 UV

Droit des affaires B4 25864 1/2 UV

Droit social A1 02307 1/2 UV

Droit social B1 02281 1/2 UV

Economie A 00607 1 UV

Ergonomie B7 21240 1/2 UV

Ergonomie B3 13097 1/2 UV

Ergonomie B4 13104 1/2 UV

Formation des adultes B3 21302 1/2 UV et TP 21311 1/2 UV  (= 1 UV)

Histoire des techniques B1 07848 1 UV

Histoire des techniques B2 07857 1 UV

Hygiène et sécurité du travail A1 03957 1/2 UV

Hygiène et sécurité du travail A2 03993 1/2 UV

Hygiène et sécurité du travail A3 04034 1/2 UV

Information, veille, intelligence économique B 05700 1 UV

Management économique de l'entreprise pour l'ingénieur B1 26405 1/2 UV

Management social de l'entreprise pour l'ingénieur B1 19606 1/2 UV

Développement des systèmes d'organisation B 25480 1 UV

Sociologie du travail B1 08729 1 UV

QUESTION 3 : Combien de règles faut-il pour spécifier complètement uv_SocioEconomique (justifiez votre réponse)?


Il n'est donc pas raisonnable de spécifier en ProPlog uv_Approfondissement , uv_SocioEconomique ...

L'univers de Herbrand (ensemble des atomes figurant dans le programme) du  programme contenu dans le fichier destCDI_1 .pl est :

{dest ,cycle_Probatoire_CDI , uv_Approfondissement , uv_SocioEconomique , uvCDI1 , uvCDI2 , uvCDI3 , uvCDI4 , uv16472 , uv19339 ,uv16392 , uv10863 , uv10872 , uv16883 , uv16767 , uv19786}

 

SPECIFICATIONS des acquis d'un étudiant

Un étudiant possède un certain nombre d'UV. Ses acquis sont représentés par des atomes de l'univers de Herbrand  correspondant aux uv du cycle probatoire.

L'étudiant robert possède MOCA B1 , CDL_B3 , le Projet CDI , I.A. B4 , IHM B2.

QUESTION 4 : enregistrez votre spécification des acquis de Robert dans le fichier  acquis_Robert.pl et charger ce fichier dans l'espace de travail du programme (dans la session Prolog ouverte) par la commande ?- [acquis_Robert]. et vérifiez l'ajout des acquis de Robert aux règles du programme par la commande ?- listing.  (répondre par le listing de la session Prolog depuis la commande ?- [acquis_Robert]).


tapez la commande : ?- unknown(_ , fail).  vous obtenez la réponse 'yes'


QUESTION 5 : quelles sont les réponses de Prolog aux questions : (répondre par le listing de la session Prolog pour ces questions y compris la commande : ?- unknown(_ , fail).)

?- dest.

?- cycle_Probatoire_CDI .

?- uv_Approfondissement.s

?- uv_SocioEconomique .


QUESTION 1 :
a°/ fichier destCDI_1.pl.

dest :- cycle_Probatoire_CDI , uv_Approfondissement , uv_SocioEconomique.
cycle_Probatoire_CDI :- uvCDI1 , uvCDI2 , uvCDI3 , uvCDI4.

% uvCDI1 composée de deux 1/2 uv dont une est au choix.
uvCDI1 :- uv10863 , uv10872.
uvCDI1 :- uv10863 , uv16883.
uvCDI1 :- uv10863 , uv16767.
uvCDI1 :- uv10863 , uv19786.

% Pour les autres, unité de valeur, on va noter :
uvCDI2 :- uv16472.
uvCDI3 :- uv19339.
uvCDI4 :- uv16392.

b°/ Capture d'écran

% c:/Mes documents/Conservatoire.Exe/destCDI_1.pl compiled 0.00 sec, 3,100 bytes
Welcome to SWI-Prolog (Version 5.0.10)
Copyright (c) 1990-2002 University of Amsterdam.
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.

For help, use ?- help(Topic). or ?- apropos(Word).

?- listing.

uvCDI2 :-
        uv16472.

uvCDI3 :-
        uv19339.

uvCDI1 :-
        uv10863,
        uv10872.
uvCDI1 :-
        uv10863,
        uv16883.
uvCDI1 :-
        uv10863,
        uv16767.
uvCDI1 :-
        uv10863,
        uv19786.
gui_setup_ :-
        current_prolog_flag(gui, true), !.
gui_setup_ :-
        getenv('DISPLAY', A), !,
        set_prolog_flag(gui, true),
        use_module(library(swi_hooks)).
gui_setup_ :-
        current_prolog_flag(windows, true),
        set_prolog_flag(gui, true),
        use_module(library(win_menu)),
        use_module(library(swi_hooks)).

cycle_Probatoire_CDI :-
        uvCDI1,
        uvCDI2,
        uvCDI3,
        uvCDI4.

:- dynamic pcehomestore_/1.

pcehomestore_('c:/program files/pl/xpce').

pce_setup_ :-
        current_prolog_flag(xpce, true), !.
pce_setup_ :-
        current_prolog_flag(argv, [A|B]),
        \+member('-nopce', B),
        pcehome_(C),
        exists_directory(C),
        gui_setup_,
        (   member('-pce', B)
        ;   prolog_to_os_filename(D, A),
            file_base_name(D, E),
            '$apropos_match'(pce, E)
        ), !,
        load_files(library(pce), [silent(true)]),
        flag('$banner_goal', F, pce_welcome).
pce_setup_.

pcehome_(A) :-
        pcehomestore_(A), !.
pcehome_(A) :-
        (   getenv('XPCEHOME', B)
        ;   current_prolog_flag(home, C),
            (   current_prolog_flag(xpce_version, D),
                atom_concat('/xpce-', D, E)
            ;   E='/xpce'
            ),
            atom_concat(C, E, B)
        ),
        exists_directory(B), !,
        absolute_file_name(B, A),
        asserta(pcehomestore_(A)).

uvCDI4 :-
        uv16392.
dest :-
        cycle_Probatoire_CDI,
        uv_Approfondissement,
        uv_SocioEconomique.

Yes
?- 
 
            
 

QUESTION 2 :
Spécification complète de: uv_Approfondissement
Rappel Mathématique : Le nombre de parties à p éléments dans un ensemble de n éléments est égal à Cnp

n!         pour n = 20 et p = 2 on aura 20 x 19 x 18!   = 190
p!(n-p)!                                   2 x 18!


Il faut 190 spécifications différentes pour exprimer uv_Approfondissement en proplog.


QUESTION 3 :
spécification de l'uv_SocioEconomique.
Formation des adultes B3 21302 1/2 UV et TP 21311 1/2 UV (= 1 UV), peut être considéré comme une unité non sécable.
On dénombre donc 9 unités de valeurs qui donnent 9 choix possibles. et donc 9 spécifications.
On dénombre également 15 1/2 unités de valeurs qui donnent (15 x 14)/2 = 105 spécifications.
D'où un total de 114 pour l'uv_SocioEconomique.

 


QUESTION 4 :
Spécification des acquis de Robert: Etant donné que Robert possède ces matière, nous les considérons comme des faits
acquis_Robert.pl
uv_10863.
uv_16472.
uv_16392.
uv_19900.
uv_16874.

?- [acquis_Robert].
% acquis_Robert compiled 0.00 sec, 1,344 bytes

Yes
?- listing.

uv_16472.

uvCDI2 :-
        uv16472.

uvCDI3 :-
        uv19339.

uv_10863.

uvCDI1 :-
        uv10863,
        uv10872.
uvCDI1 :-
        uv10863,
        uv16883.
uvCDI1 :-
        uv10863,
        uv16767.
uvCDI1 :-
        uv10863,
        uv19786.

gui_setup_ :-
        current_prolog_flag(gui, true), !.
gui_setup_ :-
        getenv('DISPLAY', A), !,
        set_prolog_flag(gui, true),
        use_module(library(swi_hooks)).
gui_setup_ :-
        current_prolog_flag(windows, true),
        set_prolog_flag(gui, true),
        use_module(library(win_menu)),
        use_module(library(swi_hooks)).
				
cycle_Probatoire_CDI :-
        uvCDI1,
        uvCDI2,
        uvCDI3,
        uvCDI4.

:- dynamic pcehomestore_/1.

pcehomestore_('c:/program files/pl/xpce').

pce_setup_ :-
        current_prolog_flag(xpce, true), !.
pce_setup_ :-
        current_prolog_flag(argv, [A|B]),
        \+member('-nopce', B),
        pcehome_(C),
        exists_directory(C),
        gui_setup_,
        (   member('-pce', B)
        ;   prolog_to_os_filename(D, A),
            file_base_name(D, E),
            '$apropos_match'(pce, E)
        ), !,
        load_files(library(pce), [silent(true)]),
        flag('$banner_goal', F, pce_welcome).
pce_setup_.

uv_16874.

pcehome_(A) :-
        pcehomestore_(A), !.
pcehome_(A) :-
        (   getenv('XPCEHOME', B)
        ;   current_prolog_flag(home, C),
            (   current_prolog_flag(xpce_version, D),
                atom_concat('/xpce-', D, E)
            ;   E='/xpce'
            ),
						            atom_concat(C, E, B)
        ),
        exists_directory(B), !,
        absolute_file_name(B, A),
        asserta(pcehomestore_(A)).

uv_19900.

uvCDI4 :-
        uv16392.

uv_16392.

dest :-
        cycle_Probatoire_CDI,
        uv_Approfondissement,
        uv_SocioEconomique.

Yes
?- 
 

QUESTION 5 :
Session prolog avec les questions données.

?- unknown(_, fail).

Yes
?- dest.

No
?- cycle_Probatoire_CDI.

No
?- uv_Approfondissement.
ERROR: Undefined procedure: uv_Approfondissement/0
?- uv_SocioEconomique.
ERROR: Undefined procedure: uv_SocioEconomique/0
?- unknown(_, fail).

Yes
?- 

 

FIN_dh1

ACCUEIL CONTACT FAVORIS ANNALES DH1 DH2 DH3 DH4 DH5 DH6 DH7 DH8 DH9 DH10 DH11 DH12 DH13 DH14 DH15 DH16