Corrige Exam Comp Principal 2017 2018
Corrige Exam Comp Principal 2017 2018
Corrige Exam Comp Principal 2017 2018
Gestion
Sciences Mathématiques et Informatique (SMI/S5)
Compilation
Prof. : M. BENADDY
A.U:2017/2018
Exercice 1:
Soit l'expression régulière suivante :
a((b|a*c))x*|x*a
1. Quel est le langage dénoté par cette expression
Tout les mots qui commencent par ‘a’ suivi d’un ‘b’ ou plusieurs ‘a’ et un c suivi de
plusieurs x ou tout les mots qui commencent par plusieurs ‘x’ (y compris 0) et se terminent
par ‘a’
2. Donner l'AFN correspondant à cette expression.
Ou bien :
4. Minimiser l'AFD résultant de la question 3 (donner la table des transitions et le graphe des
états de l'AFD minimisé).
Les états d’acceptation {B, E, F, G, H} et les états de non-acceptation {A,C,D}
π={B,E,F,G,H} {A,C,D}
On prend le groupe {B,E,F,G,H}
sur le symbole a : T(B,a) = {D} ∉ {B, E, F, G, H} et sur les symboles b,c et x pas de
distinction alors, π={B} {E,F,G,H} {A,C,D}
on prend {E,F,G,H} sur les symboles a, b, c, et x pas de distinction.
On prend le groupe {A, C, D}
sur le symbole a on T(A,a)=B∉ {A, C, D} , T(C,a)=G∉ {A, C, D} et T(D,a)=D alors
π={B} {E,F,G,H} {A} {C} {D}
on prend E comme représentant de {E,F,G,H}
πfinale={B} {E} {A} {C} {D}
La table de transition de l’AFD minimal :
a b c x
A B E
B D E E
C E C
D D E
E E
Le graphe de transition :
Exercice 2:
Soit la grammaire G avec les règles de production suivantes :
S → (L) | a
L → L,S|S
Premier Suivant
L { a, ( } { ), , }
S { a, ( } { $, ) , , }
7. La grammaire G est-elle SLR ? Oui car, pas d’entrée multiple dans la table
8. Donner le résultat de l’analyse de la chaîne w = ((a,a),a,(a)).
Pile Tampon Action
0 ((a,a),a,(a))$ d1
0(1 (a,a),a,(a))$ d1
0 (1(1 a,a),a,(a))$ d3
0 (1(1a3 ,a),a,(a))$ r2
0 (1(1S5 ,a),a,(a))$ r4
0 (1(1L4 ,a),a,(a))$ d7
0 (1(1L4,7 a),a,(a))$ d3
0 (1(1L4,7a3 ),a,(a))$ r2
0 (1(1L4,7S8 ),a,(a))$ r3
0 (1(1L4 ),a,(a))$ d6
0 (1(1L4)6 ,a,(a))$ r1
0(1S5 ,a,(a))$ r4
0(1L4 ,a,(a))$ d7
0(1L4,7 a,(a))$ d3
0(1L4,7a3 ,(a))$ r2
0(1L4,7S8 ,(a))$ r3
0(1L4 ,(a))$ d7
0(1L4,7 (a))$ d1
0(1L4,7(1 a))$ d3
0(1L4,7(1a3 ))$ r2
0(1L4,7(1S5 ))$ r4
0(1L4,7(1L4 ))$ d6
0(1L4,7(1L4)6 )$ r1
0(1L4,7S8 )$ r3
Département de Mathématiques, Informatique &
Gestion
Sciences Mathématiques et Informatique (SMI/S5)
Compilation
Prof. : M. BENADDY
A.U:2017/2018
0(1L4 )$ d6
0(1L4)6 $ r1
0S2 $ acc
Exercice 3:
Donner le code intermédiaire correspondant au bloc du code en C suivant :
if (x >= 100 && x < 200 || x==y) z=0 ;
Exercice 4:
Convertir l'expression ((x + y) – ((x + y) * (x – y))) + ((x + y) * (x - y))
1. Arbre abstrait
2. Triplet
3. Triplet indirect
Arbre abstrait
Département de Mathématiques, Informatique &
Gestion
Sciences Mathématiques et Informatique (SMI/S5)
Compilation
Prof. : M. BENADDY
A.U:2017/2018
2. Triplet indirect
op arg1 arg2
0 + x y
1 - x y
2 * 0 1
3 - 0 2
4 + 3 2