Exercices info3 a&g ds Théorie des langages-télécharger...

Théorie des langages : Exercices info3 a&g ds

Télécharger PDF

② YRfRfeyY② INFO3 - A&G - DS0 12 34 56 78 90 12 34 56 78 90 12 34 56 78 90 12 34 56 78 90 12 34 56 78 90 12 34 56 78 90 12 34 56 78 90 12 34 56 78 9

←−N’oubliez pas d’indiquer votre

numéro d’étudiant en grisant les cases

du tableau.

Donnez aussi votre numéro

d’étudiant au format standard

.................................

*QMbB;M2b

ěhQmb H2b TT`2BHb ûH2+i`QMB[m2b bQMi BMi2`/Bib ̈ HǶ2t+2TiBQM /2b KQMi`2bX

ěG2 bmD2i +QKTQ`i2 j 2t2`+B+2b BM/ûT2M/MibX

ě:`Bb2x H2b +b2b /2b #QMM2b `ûTQMb2bX lM +b2 KH ;`Bbû2 2bi +QMbB/û`û2 +QKK2!XliBHBb2x mM2 2M+`2 7QM+û2c

Tb /2 +`vQM ̈ TTB2` Qm HQ`b `2Tbb2x pQb `ûTQMb2b ̈ HǶ2M+`2 pMi /2 `2M/`2 pQi`2 +QTB2X

ěG2b [m2biBQMb♣T2mp2Mi pQB`THmbB2m`b T`QTQbBiBQMb +Q``2+i2bX

ělM2 KmpBb2 `ûTQMb2 7Bi T2`/`2 /2b TQBMibX

ěGǶ#b2M+2 /2 `ûTQMb2 pmi y TQBMiX

1 Le décalage à droite est la multi-

plication par 2 en binaire

࠭estion 1♣En notationliࡉle-endian, à quel en-

tier correspond le tableau ci-aprèsk01234 U[k]RyRRR28 1×2+1×4+1×8+1×1629 301×2 0+0×2 1+1×2 2+1×2 3+1×2 4

aucunedesréponsesproposéesn’estcorrecte

࠭estion 2Quel est le programme correspondant

à l’automate?BDCA ࠭estion 3Pour permettre de traiter facilement

l’effet de l’affectationD[0]:=0surψs , choississez une

version équivalente au terme∑ ℓ=Nℓ=0 D[ℓ]×2ℓ deψs D[0]×20 +∑ ℓ=Nℓ=1 D[ℓ]×2ℓ D[0]×2+∑ ℓ=Nℓ=1 D[ℓ]×2ℓ ∑ℓ=N ℓ=1

D[0] +D[ℓ]×2ℓ ∑ℓ=N ℓ=1D[ℓ]×2 ℓ

࠭estion 4Rédigez la preuve associée à la transi-tionq 5→q s

sur votre copie.

réservé au correcteur

࠭estion 5Quelle propriété avez-vous choisi pourψ 2? (ℓ=N ∑ℓ=1 D[ℓ]×2ℓ )? =2×( k=N∑ k=0U[k]×2 k) (ℓ=N ∑ℓ=i+1 D[ℓ]×2ℓ )? =2×( k=N∑ k=0U[k]×2 k) (ℓ=N ∑ℓ=i D[ℓ]×2ℓ )? =2×( k=N∑ k=iU[k]×2 k) (ℓ=N ∑ℓ=i+1 D[ℓ]×2ℓ )? =2×( k=N∑ k=iU[k]×2 k) ࠭estion 6Quelle est la transition qui correspond

à l’étape de vérification?②② ②

YRfkf8NY② q0 →q1 q1 →q2 q2 →q3 q2 →q5 ࠭estion 7Rédigez la preuve associée à la transi-tionq 1→q 2

sur votre copie.

réservé au correcteur

࠭estion 8La transitionq0 →q1 est

une transition affectation

une transition test

࠭estion 9De quelle forme est la preuve associée

à la transitionq0 →q1 ψ0 ∧U[N]=0=⇒ψ1 ψ0 ≡ψ1 [U[N]←0]ψ 1≡ψ 0

[U[N]←0]ψ 0=⇒ψ 1∧U[N]=0 ψ1 ∧U[N]=0=⇒ψ0 ࠭estion10Enfaisantlapreuvedecorrectionpar-

tielle, quelles conditions d’utilisation obtient-on?U[N]=2 N+1aucune U[N]=0U[N]̸=0 N≥0

N+1>N

࠭estion 11♣Pourquoi l’algorithme commence

t’il par vérifier queU[N]=0?

sinon l’indiceisortirait du tableauD

pour vérifier les conditions d’utilisation

sinon il bouclerait

sinonladernièrecasedutableauDcontiendrait

un 2

sinon le tableauDne peut pas représenter le

double deU

sinon le résultat ne pourrait pas être correct

aucunedesréponsesproposéesn’estcorrecte

2 Multiplication Rapide

࠭estion 12Exécutez l’algorithme mॺ avecA=

3.2etB=5; que valentx, y, r, ien sortie?

x=3.2,y=0,r= 16,i=1

x=3.2,y=0,r= 16,i=3

x= 16.0,y=0,r= 16,i=4

x= 12.8,y=0,r= 16,i=2

࠭estion 13♣Que calcule la variablei?

la somme des parités cumulatives dey

le quotient deypar 2

le nombre de réduction par 2 du problème

le logarithme (entier) en base 2 dey

le nombre d’itération de la boucle

aucunedesréponsesproposéesn’estcorrecte

࠭estion 14♣ PrenonsB =2i . Par rapport à l’al-

gorithme naif qui ferait2i additions, l’algorithme mॺ

en fait (en ordre de grandeur)iB 2log 2(B) √B B2 aucunedesréponsesproposéesn’estcorrecte

࠭estion 15Lequel des automates correspond à

l’algorithme mॺ?♠♦♣♥ ࠭estion 16♣Enq0 , que peut-on dire des va-

riables?x=? elles ont une valeur non nuller=i y=0

elles n’ont pas de valeurx=A y=B

aucunedesréponsesproposéesn’estcorrecte

࠭estion 17Dans quel ordre doit-on étudier les

transitions pour faire une preuve complète de correc-

tion partielle?q 1→q s;q 4→q 1;q 2→q 4;q 3→q 1;q 2→q 3; q1 →q2 ;q0 →q1 q1 →qs ;q3 →q1 ;q4 →q1 ;q2 →q4 ;q2 →q3 ;q 0→q 1q 0→q 1;q 1→q 2;q 2→q 3;q 2→q 4;q 3→q 1; q4 →q1 ;q1 →qs q1 →qs ;q4 →q1 ;q2 →q4 ;q1 →q2 ;q0 →q1 ࠭estion 18♣Donnez la propriété de correction

en sortie de programmer=x×y r=A×yy=0 r=x×By=2 ix×y=A×B r=A×B②② ②

YRfjf83Y② aucunedesréponsesproposéesn’estcorrecte

࠭estion19♣Rédigezlapreuveassociéeàlatran-sitionq 1→q s

sur votre copie.

réservé au correcteur

࠭estion 20♣Donnez l’invariantψ1 enq1 x=Ay=0 r+x×yy≥0 r+ x× y= A× B

r+(x−i)×(y+i)=A×B

r×x+y=A+Br=x+2×y aucunedesréponsesproposéesn’estcorrecte

࠭estion21Dequelleformeestlapreuveassociée

à la transitionq4 →q1 ?ψ 4≡ψ 1

[r←r+x;y←y−1]ψ 4=⇒ψ 1

∧r=r+x∧y=y+1ψ 1≡ψ 4

[r←r+x;y←y−1]ψ 4

∧r=r+x∧y=y+1=⇒ψ1 ࠭estion 22Rédigez la preuve associée à la tran-sitionq 3→q 1

sur votre copie.

réservé au correcteur

࠭estion 23Pourquoi la variablein’apparaît-elle

pas dans l’invariantψ3 associé àq3 ?

parce qu’elle n’apparaît que dans une branche

du ”i৒”

parce qu’elle disparaît quand on fait l’affecta-

tioni:=i+1

parce qu’elle n’a pas d’effet sur le calcul du ré-sutlatr parcequ’ellesertpourlapreuvedeterminaison

࠭estion 24♣En faisant la preuve de correction

partielle quelles conditions d’utilisation obtient-on?B̸=0 x, r∈7HQi

A>0B∈BMi B≥0A∈BMi aucunedesréponsesproposéesn’estcorrecte

࠭estion 25Que se passe-t’il si on exécute l’algo-

rithme mॺ avecA=0?

l’algorithme boucle

l’algorithme termine mais le résultat est incor-rect l’algorithme termine et le résultat est correct

l’algorithme peut ne pas terminer, cela dépenddeB ࠭estion 26Que se passe-t’il si on exécute l’algo-

rithme mॺ avecB=0?

l’algorithme boucle

l’algorithme termine et le résultat est correct

l’algorithme termine mais le résultat est incor-rect l’algorithme peut ne pas terminer, cela dépenddeA 3 Preuve de correction partielle

࠭estion 27♣À quoi sert l’étape de vérification?

à s’assurer qu’on sort de la boucle

à s’assurer qu’on ne peut pas revenir en arrière

dans la boucle

à s’assurer que les propriétés choisies sont des

invariants

à garantir la terminaison de la boucle

à s’assurer que le long de la boucle chaque pro-

priété implique la suivante

àgarantirquelespropriétéssontvraiesdèsl’en-

trée dans la boucle

àgarantirquelesinvariantssonttousdifférents

aucunedesréponsesproposéesn’estcorrecte

࠭estion 28♣Une preuve de correction partielle

ne prouve pas que le programme termine

est invalide si le programme ne termine pas

peut-être valide même si le programme ne ter-

mine pas

prouve que les propriétés associées aux états

sont des invariants

prouve que les conditions d’utilisation sont sa-

tisfaites

aucunedesréponsesproposéesn’estcorrecte

࠭estion 29♣Obtenir{0≥1,A=A}comme

conditions d’utilisation signifie que

l’algorithmetermineetrendlerésultatsouhaité

l’algorithme est correct (correction partielle)

car une des conditions est satisfaite

l’algorithme doit commencer par tester siA=A ②②② YRf9f8dY② l’algorithme n’est pas utilisable

l’algorithme est correct (correction partielle)

sans condition sur ses paramètres

si on atteint l’état de sortie le résultat sera cor-rect l’algorithme est correct (correction partielle)

car toutes les conditions sont satisfaites

aucunedesréponsesproposéesn’estcorrecte

࠭estion 30♣«la propriétéψest un invariant de

l’étatq» signifie

ensortiedeprogrammelapropriétéψestvalide

à chaque exécution du programmeqla pro-

priétéψest satisfaite

l’exécution passe par l’étatqquand la propriété

ψest vraie

les variables du programme satisfont la pro-priétéψ les valeurs des variables à l’étatqsatisfont la

propriétéψ

à chaque fois que l’exécution atteint l’étatqla

propriétéψest valide

aucunedesréponsesproposéesn’estcorrecte

࠭estion31♣Laméthodedepreuvedecorrection

partielle de programme est l’oeuvre de

Alan Mathison Tॽॺing

Stephen Cole Kleene

John ॾon Neॽmann

Donald Ervin Knॽॼh

Charles Antony Richard Hoaॺe

Robert William Floঁd

Edsger Wybe Dijkॻॼॺa

aucunedesréponsesproposéesn’estcorrecte

࠭estion32♣Obtenir{}commeconditionsd’uti-

lisation signifie

l’algorithme est correct (correction partielle)

sans condition sur ses paramètres

l’algorithmedoitcommenceravecunemémoirevide si on atteint l’état de sortie le résultat sera cor-rect l’algorithme est correct (correction partielle)

car toutes les conditions sont satisfaites

l’algorithme est correct (correction partielle)

car une des conditions est satisfaite

l’algorithmetermineetrendlerésultatsouhaité

l’algorithme n’est pas utilisable

aucunedesréponsesproposéesn’estcorrecte

②②