100% ont trouvé ce document utile (1 vote)
435 vues3 pages

THL Serie1 2017

Ce document contient une série d'exercices sur la théorie des langages formels. Il y a 13 exercices portant sur des sujets comme les langages réguliers, les grammaires, et les propriétés des langages formels.

Transféré par

Nesrine Azaiez
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
435 vues3 pages

THL Serie1 2017

Ce document contient une série d'exercices sur la théorie des langages formels. Il y a 13 exercices portant sur des sujets comme les langages réguliers, les grammaires, et les propriétés des langages formels.

Transféré par

Nesrine Azaiez
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 3

Université Mouloud MAMMERI de Tizi-Ouzou Année universitaire : 2016/2017

Faculté de génie électrique et informatique 2ième année Licence-Informatique


Département d’informatique module : Théorie des langages

SÉRIE D’EXERCICES no 1

EXERCICE 1 :
Soit le mot x = ((acbc)R.baca)R (αR désigne le reflet miroir de α)
1) Donner la chaîne de caractères à laquelle x est égal.
2) Quelle est la valeur de |x|, |x|a, |x|b et |x|c ?
3) Donner un préfixe propre de x contenant au moins deux lettres ‘c’.
4) Donner un suffixe propre de x contenant une seule lettre ‘a’.

EXERCICE 2 :
Soit la grammaire G = ({a, b, c} , {S, A} , S , P) ; où P contient les règles suivantes :
S → aS | bA ; A → cA | ε
1) Déterminer si les mots w1 = abac, w2 = aabccc, w3 = cabbac et w4 = ab sont générés par G.
2) Trouver le langage généré par G ( qu’on note L(G) ).

EXERCICE 3 :
Pour chacun des langages suivants, donner des exemples de mots contenus dans chacun des langages,
et des grammaires qui engendrent chacun des langages (Li)i=1,..,5 :
1) L1 = { w ∈ {a, b, c}* / w commence par la lettre ‘a’ } ;
2) L2 = { w ∈ {a, b, c}* / w se termine par la lettre ‘a’ } ;
3) L3 = { w ∈ {a, b, c}* / w contient au moins une occurrence de la lettre ‘a’ } ;
4) L4 = { w ∈ {a, b, c}* / w contient au moins deux occurrences la lettre ‘a’ } ;
5) L5 = { w ∈ {a, b, c}* / w contient au moins deux occurrences consécutives de la lettre ‘a’ }.

EXERCICE 4 :
Soient les grammaires Gi = ({a, b, c} , {S, A, B, R, T} , S , Pi), (i=1,..,6) ; où les Pi sont :
1) P1 : S → aA | bB ; A → a | ab ; B → b | cb
2) P2 : S → bA ; A → aA | ε
3) P3 : S → aSc | A
A → bA | b
4) P4 : S → aSbS | ε
5) P5 : S → aRbc | abc
R → aRTb | aTb ; Tb → bT ; Tc → cc
6) P6 : S → aAb | ε
A → aSb
Ab → ε

Théorie des Langages – série n° 1 Page 1 sur 3 2016/2017


I) Pour chacune des grammaires Gi (i=1,..,6) ; donner le type de celle-ci, puis trouver le langage engendré
par chacune d’elles.
II) Vérifier que G2 n’est pas de type 1 ; mais que L(G2) est de type 1.
III) Montrer que L(G6) est de type 2 en trouvant une grammaire de type 2 qui l’engendre.

EXERCICE 5 :
Pour chacun des langages suivants, donner une grammaire qui l’engendre :
a) L1 = { 02n / n ≥ 0 } f) L6 = { am bn an bm / n ≥ 1, m ≥ 1 }
b) L2 = { 0n 1n / n ≥ 0 } g) L7 = { w  {a, b}* / |w| ≡ 0[3] }
c) L3 = { an b2n / n ≥ 0 } h) L8 = { 0i 1j / i ≥ j ≥ 0 }
d) L4 = { an bm cn-m / n ≥ m ≥ 0 } i) L9 = { 0i 1j / i ≠ j, i ≥ 0, j ≥ 0 }
n
e) L5 = { palindromes de {a, b}* } j) L10 = { a2 / n ≥ 0 }

EXERCICE 6 :
1) Soit L un langage de type i  {0, 1, 2, 3}. Est-il possible qu’un langage L’  L ne soit pas de type i ?
indication : on sait que le langage { 0n1n / n ≥ 0 } n’est pas régulier.
2) Montrer que toute grammaire régulière est aussi à contexte libre. Qu’en est-il de la réciproque ?

EXERCICE 7 :
Soit le langage L défini comme suit : L = { a2.n .b.c2.m+1 / n, m ≥ 0 }.
1) Montrer que L est de type 3 en trouvant une grammaire de type 3 qui l’engendre.
2) Trouver une grammaire de type 2, et qui n’est pas de type 3, qui engendre L.

EXERCICE 8 :
Soit le langage L défini comme suit :
L = ensemble de tous les mots de {0, 1}* qui contiennent un nombre pair de ‘1’.
Mêmes questions, pour L, que l’exercice 7.

EXERCICE 9 :
Soit la grammaire G dont les règles de production sont :
S → AB | ε
A → aAb | ε
bB → Bbb
B→ε
1) Déterminer L(G).
2) Construire une grammaire de type 2 équivalente à G.

EXERCICE 10 :
Soit la grammaire G dont les règles de production sont :
S → RD
R → aRb | A
Ab → bbA
AD → ε
Mêmes questions, pour G, que l’exercice 9.

Théorie des Langages – série n° 1 Page 2 sur 3 2016/2017


EXERCICE 11 :
Soit l’alphabet terminal π = { p,  ,  ,  ,  , (, ) }.
1) Soit L le langage des expressions de logique propositionnelle construites sur l’alphabet π.
Trouver une grammaire, de type 2, pour L.
2) Soit L’ le langage des expressions de logique propositionnelle défini sur π tel que l’on ne peut pas
avoir des parenthèses imbriquées directement l’une dans l’autre. À titre d’exemple, (p  (p  p))
ou (p) sont dans L’ mais (p  ((p  p))) ou (((p))) ne le sont pas.
Trouver une grammaire, de type 2, pour L’.

EXERCICE 12 :
Ecrire une grammaire pour générer les identificateurs d’un langage comme Pascal. On considérera qu’un
identificateur est valide s’il commence par une lettre alphabétique ( majuscule ou minuscule ) qui
peut éventuellement être suivie d’une ou plusieurs lettres alphabétiques et/ou chiffres.
Pour ce qui est des non terminaux de cette grammaire on pourra utiliser par exemple <Id1>, <Id2>,
<Id3>, <Lettre>, <Chiffre>, …

EXERCICE 13 :
On définit une fonction δ sur : {a, b}* → ℕ comme suit :
δ(ε) = 0 ; δ(a) = -1 ; δ(b) = +1 ; δ(u.v) = δ(u) + δ(v) pour tous u, v  {a, b}*.
On appelle mot de Lukasiewicz un mot u = u1.u2..…un, où ui  {a, b} pour i=1,..,n et tel que :
n k

  (u )  1
i 1
i et   (u )  0
i 1
i pour k = 1,..,n-1.

1) Donner tous les mots de Lukasiewicz de longueur 1, 2 et 3 ; puis tous les mots de longueur paire.
2) Montrer que si u et v sont deux mots de Lukasiewicz alors : b.u.v est un mot de Lukasiewicz.
3) Réciproquement, montrer que tout mot de Lukasiewicz de longueur supérieure ou égale à 3
admet une décomposition de la forme b.u.v, où u et v sont des mots de Lukasiewicz.
4) En déduire une grammaire à contexte libre engendrant l’ensemble de tous les mots de Lukasiewicz.
On appellera L ce langage.
5) Écrire une fonction et/ou une procédure en Pascal qui reçoit en entrée une chaîne de caractères et
renvoie en sortie un booléen = vrai si et seulement si la chaîne entrée  L.
Réaliser cela de deux manières :
5-a) en utilisant les propriétés des mots de L données au début de l’exercice ;
5-b) en utilisant la grammaire trouvée en 4).

----------------------------------Fin Série 1---------------------------------

Théorie des Langages – série n° 1 Page 3 sur 3 2016/2017

Vous aimerez peut-être aussi