Upload
helalkamel
View
8
Download
0
Embed Size (px)
Citation preview
T.D. N°l Techniques de compilation
Exercice 1. Montrer par induction que si x ≠y alors xn - yn
est divisible par x - y
pour tout n dans lN.
Exercice 2. Montrer par induction que si x est un nombre non négatif alors
(1 + x)n -1
- 1 > nx pour tout n dans lN.
Exercice 3. On considère, sur l'alphabet X = {a,b} les suites de mots Un et Vn :
n > 0 définies par récurrence comme suit :
1. Démontrer que |Un|= |Vn| = 2n, pour tout n≥0.
2. Démontrer que chaque Un, Vn pour n ≥ 1 commence et finit par un mot de
l'ensemble {ab, ba} (pas nécessairement le même).
3. En déduire qu'aucun des Un, Vn ne contient aaa ou bbb comme facteur.
Exercice 4. Soit X = {a,b}, on définit récursivement des mots de X* appelés
TRUCS comme suit: w est un TRUCS ssi w = b ou w = WlaW2, avec Wl et W2 des
TRUCS. On note T le langage de tous les TRUCS,
1. Calculer les TRUCS de longueur inférieur à 5.
2. Démontrer que tout TRUCS w s'écrit sous la forme w = b(ab)n pour n ≥ 0
(récurrence)
3. Démontrer que tout w = b(ab)n, pour n ≥ 0, est un TRUCS.
Exercice 5. Montrer que (A* B*)* = (A U B)* = (A* U B*)* = (A* B)* A* et que
(BA)* B = B(AB)*
Exercice 6. Donner une définition formelle pour chacun des langages suivants:
L1 = {E, xxyy, xxxyyy, …}
L2 = {xy, yx, xxyy, xyxy, xyyx, yyxx, yxyx} et
L3 = {y, yx, xxyyy, xxxxyyyyy, xxxxxxyyyyyyy, ...}