Vous êtes sur la page 1sur 2

TD1 suite

Donnez des ER pour les langages suivants :

Correction :

1. ER1=(bc)*(bc)(abc)*
2. ER2 = (a(abc)*a)(b(abc)*b)(c(abc)*c)
Si on pose r=(abc) pour éviter une longue ER, l’ER répondant à la question est :
ER2=(ar*a)(br*b)(cr*c)
3. ER3 = (bc)*a(bc)*a(bc)*a(bc)*
Si on pose r=(bc)pour éviter une longue ER, l’ER répondant à la question est :
ER3=r*ar*ar*ar*
4. On a : ER4=(abc)*a(abc)*a(abc)*a(abc)*
Si on pose r=(abc) pour éviter une longue ER, l’ER répondant à la question est :
ER4 = r*ar*ar*ar*
5. ER5=r0r1r2r3 ; avec :
r0 : ER correspondant aux mots contenant zéro a
r1 : ER correspondant aux mots contenant exactement un a
r2 : ER correspondant aux mots contenant exactement deux a
r3 : ER correspondant aux mots contenant exactement 3 a
On a :
r0=(bc)*
r1=(bc)*a(bc)*
r2=(bc)*a(bc)*a(bc)*
r3=(bc)*a(bc)*a(bc)*a(bc)*
donc :
ER5 = (bc)*((bc)*a(bc)*)((bc)*a(bc)*a(bc)*)((bc)*a(bc)*a(bc)*a(bc)*)
En factorisant, on obtient :
ER5 = (bc)*(ɛaa(bc)*aa(bc)*a(bc)*a)(bc)*
Si on pose r=(bc) pour éviter une longue ER, l’ER répondant à la question est :
ER5 = r*(ɛaar*aar*ar*a)r*
6. ER6=(ac)*(ab)*(a(ac)*(ab)*)*
L’idée est la suivante : des motifs qui ne contiennent de c qui suivent b qui se répètent
entrecoupés de a.
ER6 peut être simplifiée comme suit :
ER6=(ac)*b*(a(ac)*b*)*
7. L’idée est de ne pas avoir le facteur acc, donc, on doit entrecouper a du sous mot cc par un b,
ER7=(bccc)*a*b(bccc)a*b(bccc)*a*
8. Un entier est multiple de 5 s’il est divisible par 5. Un entier est divisible par 5 s’il se termine
par 0 ou par 5. Donc :
ER8=(0123456789)*(05)

Vous aimerez peut-être aussi