CAPITOLUL I

Mărimea: px
Porniți afișarea la pagina:

Download "CAPITOLUL I"

Transcriere

1 CAPITOLUL I. LIMBAJE FORMALE 1.1. CONCEPTE DE BAZĂ Cunoaştem unele limbaje de nivel înalt, cum sunt Pascal, Fortran, Basic, C şi altele. Ne scriem programele în aceste limbaje iar când citim un program sau o descriere a unui algoritm scris într-unul din ele, de obicei, putem spune ce face programul sau algoritmul respectiv (cel puţin atunci când programul este bine scris şi are o lungime rezonabilă). Totodată ne dăm seama de erorile din programe sau dintr-o secvenţă de cod scrisă într-unul din aceste limbaje create de om. Următorul exemplu de linie de cod din Fortran, IF (IND.EQ.1) N = N + 1 (1.1) este corect, în timp ce IF (IND.EQ.1) N = (1.2) nu este corect. Surprinzător, nu doar noi, presupuse fiinţe inteligente, descoperim astfel de greşeli, da chiar şi maşinile (care în esenţă sunt formate dintr-o colecţie de elemente hardware). Cum se realizează acest lucru? De fapt, noi introducem programul într-o maşină simbol cu simbol. Când o expresia de forma (1.1) este prezentată calculatorului se transmite mai întâi litera I urmată de litera F, simbolul (, şi aşa mai departe. Maşina acceptă aceste simboluri unul câte unul şi după ce s-au introdus toate, ştie cum să procedeze în continuare. Ea poate determina de asemenea dacă şirul de simboluri primit este corect sau nu. Pentru aceasta,

2 maşina trebuie să cunoască ce înseamnă corect şi să fie în stare să determine dacă şirul (1.1) este scris corect, în timp ce (1.2) nu. În acest capitol vom discuta mai întâi cum se defineşte un limbaj. Această definiţie ne va permite să determinăm, în mod automat, dacă un şir de simboluri aparţine sau nu unui limbaj. O astfel de definire complet formală şi deterministă nu este posibilă pentru toate limbajele în particular, pentru limbaje naturale, cum sunt engleza, franceza şi rusa, este probabil imposibil. Dar ea pare adecvată pentru limbajele de calculator până la urmă calculatoarele funcţionează. Vom începe cu un alfabet fiecare limbaj presupune un alfabet. Alfabetul pentru Fortran se compune din 26 de litere: A, B,..., X, Y, Z; 1 numere:, 1, 2,..., 9, şi alte simboluri cum ar fi: =, +, /, *, (, (spaţiu). Alfabetul complet, numit şi mulţime de caractere, poate fi regăsit pe primele pagini ale oricărui manual dedicat limbajului respectiv. simboluri. Definiţia 1.1. Un alfabet este o mulţime nevidă şi finită de De obicei vom nota alfabetul cu simbolul Σ. Definirea unui limbaj peste un alfabet dat devine acum simplă. Definiţia 1.2. Un limbaj L peste un alfabet Σ este o mulţime de şiruri finite de elemente din Σ. Elementele uni alfabet Σ se mai numesc şi caractere. Şirurile dintr-un limbaj L se numesc şi propoziţii din L.

3 Exemplu 1.1. Fie alfabetul Σ, compus doar din două simboluri: şi 1, Σ= {,1}. Două exemple de limbaj peste Σ sunt: a) L 1 = {, 1,11}. Acest limbaj conţine doar trei propoziţii:, 1 şi 11. b) L 2 = Toate şirurile de şi 1 cu un număr egal de -uri şi 1-uri. Aşadar, 111 şi 11 sunt în limbajul L 2, în timp ce 11 şi 1 nu. Evident că limbajul L 2 (spre deosebire de L 1 ) conţine un număr infinit de propoziţii. Pe parcursul acestei lucrări vom folosi deseori şiruri de simboluri. Fapt pentru care folosim următoarele convenţii de notaţie. Dacă σ= xx xn şi yy ym τ= sunt două şiruri, atunci concatenarea lor, notată στ, este definită prin στ = xx xnyy y m. Aşadar, στ se obţine din σ şi τ prin alipirea şirurilor σ şi τ (în această ordine). De exemplu, dacă σ= 111 şi τ= 1, atunci στ = Se observă că τσ = 1111, deci, în general στ τσ 2 prin ca xx... x (de n ori). Observăm că x. Dacă x este un caracter, atunci x n este definit 3 = xx, y = yyy, etc. Lungimea unui şir σ= xx xm corespunde numărului de caractere din σ. Astfel, lungimea lui σ= abaa este 4. Convenabilă este introducerea conceptului de şir vid. Un astfel de şir nu are nici un caracter; lungimea lui este. El va fi notat întotdeauna cu λ şi reciproc, simbolul λ va fi rezervat pentru un astfel de şir. Dacă σ este un şir oarecare şi λ este şirul vid, atunci concatenarea lui σ cu λ va fi întotdeauna σ, σλ = λσ = σ. Din acest motiv, dacă x este un simbol oarecare, definim x ca fiind şirul vid λ, x = λ. Lungimea şirului vid λ este, el fiind singurul şir cu această lungime.

4 Definiţia 1.3. Fie Σ o mulţime nevidă. Limbajul tuturor şirurilor finite de elemente din Σ (inclusiv şirul vid) se notează cu Σ *. Limbajul + tuturor şirurilor nevide de elemente din Σ se notează Σ. În general, un limbaj L peste un alfabet Σ nu conţine toate şirurile posibile de elemente din Σ. Aceasta corespunde faptului că nu orice secvenţă de simboluri formează un program valid. Ceea ce dorim să facem în continuare este să descriem o regulă pentru a decide dacă un şir aparţine unui limbaj sau nu. Un astfel de exemplu putea fi considerat descrierea limbajului L 2 din exemplul 1.1. Aici regula este foarte simplă; mai mult, dat fiind un şir σ de simboluri de şi 1, este uşor de verificat dacă propoziţia face parte din limbaj sau nu. Pe de altă parte este greu de imaginat o regulă atât de simplă pentru un limbaj ceva mai real, cum e Pascal. Ca urmare, regula trebuie să fie sofisticată şi precisă astfel încât, dat fiind un program în Pascal (văzut ca un şir lung), ea să determine dacă este sau nu un program valid: Sunt toate BEGIN-uri închise cu END-uri? Sunt toate expresiile algebrice bine formate? etc. O metodă utilă şi generală pentru descrierea de limbaje se bazează pe gramatici. În general, o gramatică este o mulţime de reguli care, dacă sunt urmate, vor produce o propoziţie corectă într-un limbaj. O descrierea detaliată şi exactă a conceptului de gramatică este următoarea: Definiţia 1.4. O gramatică G se compune din patru obiecte: 1. O mulţime Σ nevidă şi finită numită alfabet. Limbajul generat de gramatica G se va compune din şiruri de simbolurile din Σ. Elementele din Σ se numesc terminale şi vor fi notate, în general, cu litere mici a, b, c, etc.

5 2. O mulţime nevidă şi finită de simboluri N, fiecare dintre ele diferit de terminalele din Σ (N Σ= ). Elementele din N se numesc neterminale sau variabile; în general se notează cu litere mari A, B, C, etc. 3. Un element dedicat S din N. Acest neterminal S se numeşte simbolul de start. 4. O mulţime P de producţii (numite şi reguli de producţie, reguli de substituire). Ea este formată din reguli de forma A X... 1X2 Xn, unde A este un neterminal şi XX X n este un şir finit de terminale sau neterminale ( Xi Σ N). Gramaticile astfel definite poartă denumirea de gramatici independente de context; le vom discuta amănunţit mai târziu. Şirul XX X n, din partea a 4-a a definiţie de mai sus, nu trebuie să conţină nici un simbol, el poate fi un şir vid λ. Producţia corespunzătoare ar fi atunci de forma A λ, şi se numeşte producţie vidă. O gramatică G cu Σ, N, S şi P, ca în definiţia 1.4., se va nota G = { Σ, N, S, P}. Exemplu 1.2. Fie următoarea descriere a unui gramatici {, N, S, P} G = Σ : 1. Mulţimea de terminale Σ (alfabetul) este { abc,, }. 2. Mulţimea de neterminale N este { S, A, B, C. } 3. Simbolul de start este S. 4. Mulţimea P este formată din următoarele producţii:

6 S AaB S B A ab A a B bc C ac C λ În ultima producţie λ este şirul vid şi C λ este o producţie vidă. Gramatica are trei terminale (a, b, c), patru neterminale (S, A, B, C) şi şapte producţii. În continuare vom descrie cum generează o gramatică un limbaj. Avem nevoie de următoarea terminologie: Definiţia 1.5. Fie G = { Σ, N, S, P} o gramatică. O formă propoziţională a lui G este orice şir XX X n de simboluri, fiecare X i fiind un terminal sau neterminal ( Xi Σ N). O formă propoziţională nu trebuie să conţină nici un simbol, ea poate fi chiar şirul vid λ. În exemplul 1.2. şirurile AaB, AAaCB, aba şi λ sunt exemple de forme propoziţionale. Definiţia 1.6. Fie G = { Σ, N, S, P} o gramatică. Presupunem că σ este o formă propoziţională exprimata astfel: σ = γ1aγ 2 unde γ 1 şi γ 2 sunt şiruri de terminale sau neterminale (forme propoziţionale) şi A este un neterminal. Mai presupunem că A X... 1X2 Xn este o producţie din P. Fie τ forma propoziţională obţinută din σ prin înlocuirea lui A cu XX X n, τ = γ1xx Xnγ 2. Vom spunem că forma propoziţională τ este imediat derivabilă din σ folosind producţia A X... 1X2 Xn. Folosim următoarea notaţie: σ τ

7 Fie gramatica G = { Σ, N, S, P} din exemplul 1.2. Forma propoziţională folosind producţia B σ= ababc derivă imediat forma propoziţională τ= abcabc bc: σ= ababc abcabc Cu alte cuvinte, a spune că σ τ înseamnă că unul dintre neterminalele din σ poate fi înlocuit cu partea dreaptă a producţie şi devine şirul τ. În forma propoziţională producţie) şi am obţinut Aplicând la σ producţia C σ= ababc am înlocuit B cu bc (B bc fiind o τ= abcabc. Ca alt exemplu, fie σ= aacba. λ obţinem σ= aacba aaba Aici am substituit C cu partea dreaptă a producţiei C λ (şirul vid). Şirul λ, fiind şirul vid, nu are simboluri, deci aaλ ba = aaba, astfel simbolul C dispare. Definiţia 1.7. Fie σ 1 şi σ 2 două forme propoziţionale ale unei gramatici G. Presupunem că există o secvenţă de forme propoziţionale τ1, τ2,..., τ n astfel încât σ1 τ1 τ2... τn σ2. Vom spunem atunci că σ 1 derivă σ 2, sau σ 2 este derivabilă din σ 1 şi notăm σ * σ 1 2

8 În exemplul 1.2. avem S * aabc deoarece S AaB aab aabc S AaB A a B bc Sub fiecare simbol am indicat producţia corespunzătoare folosită din G la derivare. Fiind dată gramatica G = { Σ, N, S, P}, limbajul L(G) generat de G este mulţimea tuturor şirurilor de terminale derivabile din simbolul de start. Formal avem: Definiţia 1.8. Fie G = { Σ, N, S, P} o gramatică. Limbajul L(G) generat de G este definit a fi mulţimea de şiruri * { σ σ S σ} LG ( ) = Σ, *. Elementele (şirurile) din L(G) se numesc propoziţii din L(G). În exemplul 1.2. şirurile b, aabac şi bac aparţin toate lui L(G): S B bc b S AaB aab aabc aabac S B bc bac Observăm că şirul cb nu este în limbajul L(G). Într-adevăr, începând cu simbolul de start S, prima formă propoziţională derivată din

9 S va fi AaB sau B. Nici una dintre aceste două propoziţii va deriva într-o propoziţie care începe cu c. Exemplu 1.3. Gramatica din acest exemplu va da limbajul tuturor expresiilor algebrice corect formate care pot fi obţinute folosind simbolurile a, +, *, (, şi ). Astfel, expresia ( a+ a)* a va fi în limbaj, în timp ce ( a+ a)*( a+ nu. Această gramatică o notatăm G şi o vom întâlni des pe parcursul acestei lucrări. Alfabetul din G este Σ= { a, +,*,(,)}, mulţimea de neterminale N = { E, T, F} şi simbolul de start este E. Producţiile din G sunt: 1. E E+ T 2. E T 3. T T* F 4. T F 5. F ( E) 6. F a Expresia ( a+ a)* a face parte din limbajul LG ( ), derivarea sa fiind E T T* F F* F ( E)* F ( E+ T)* F ( T + T)* F ( F + T)* F ( a+ T)* F ( a+ F)* F ( a+ a)* F ( a+ a)* a Numărul deasupra simbolului indică producţia folosită la fiecare derivare. Pentru a vedea că şirul ( a+ a)*( a+ nu este în LG ( ), observăm că singura posibilitate de apariţie a simbolurilor ) şi ( într-o formă propoziţională este prin aplicarea producţiei F ( E). De aici, orice şir derivat din E va avea acelaşi număr de ) ca şi (, iar şirul cu pricina nu are

10 această proprietate. Literele E, T şi F, care formează mulţimea neterminalelor, sunt mnemonice pentru expresie, termen şi factor. Există o serie de convenţii folosite la descrierea de gramatici. În lipsa unei alte specificaţii, terminalele alfabetului Σ vor fi notate cu litere mici a, b, c, etc., cu numere, 1, 2,..., 9 sau cu simboluri specifice ca +, *, (, ). Neterminalele sunt notate cu litere mari A, B, C,..., şi simbolul de start cu S. Şirul vid se notează întotdeauna cu λ. Prima producţie va avea simbolul de start pe partea stângă. Elementele mulţimii Σ N se vor numi simboluri gramatice; deci un simbol gramatic este sau terminal sau neterminal. Dacă A α 1 A α M A α 2 k sunt toate producţiile cu aceeaşi parte stângă A, atunci, pentru a se salva spaţiu, ele vor fi scrise sub următoare formă A α α L α α. 1 2 k 1 k Ca urmare, gramatica din exemplul 1.2. se va scrie S AaB B A a ab B bc C ac λ iar gramatica G din exemplul 1.3.

11 E E+ T T T T* F F F ( E) a Înţelesul simbolurilor reiasă din context. Dacă nu se specifică în mod explicit, fiind dată descrierea unei gramatici prin S AB A BSB BB 1 B A1 λ tragem concluzia că mulţimea de terminale Σ este {,1 }, mulţimea de neterminale N = { S, A, B} şi producţiile sunt S AB A BSB A BB A 1 B A1 B B λ Forma această o vom folosi des pentru descrierea gramaticilor. Derivarea unei propoziţii într-un limbaj generat de o gramatică se poate reprezentat grafic printr-un arbore de derivare. Ca exemplu considerăm gramatica G: S aba B Sb bcc C abb şi o derivare a propoziţiei aababbabbaba:

12 S aba asba aababa aabccaba aababbcaba aababbabbaba O derivarea reprezentată schematic printr-un graf, se numeşte arbore de derivare, figura 1.1. Figura 1.1. Un arbore de derivare a unui şir. Obiectele rotunde din graf se numesc noduri. Nodul din vârf, S, se numeşte rădăcina arborelui. Dacă un nod X este legat de un nod de pe un nivel mai jos, atunci X se numeşte părintele lui Y şi Y se numeşte fiul lui X. Nodurile care nu au fii se numesc frunze, nodurile cu fiu/fii şi părinte se numesc noduri interne. Formarea grafului, numit arbore de derivare, este evidentă. Dacă A este un neterminal, care se înlocuieşte cu partea dreaptă a producţiei A X1X2L Xn, atunci nodul A are ca fii X1, X2,..., Xn (de la stânga la dreapta). Rădăcina arborelui este nodul S, unde S este simbolul de start a gramatici iar frunzele sunt noduri de forma x, unde x Σ sunt terminale. Dat fiind un arbore de derivare a unui şir, vom obţine acest şir prin concatenarea frunzelor arborelui de la stânga la dreapta.

13 Figura 1.2. Formarea unui arbore de derivarea Propoziţia ( a+ a)* a în limbajul LG ( 2) din exemplul 1.3., are arborele de derivare din figura 1.3. Figura 1.3. Arborele de derivare pentru ( a+ a)* a Exemplu 1.4. Ca un alt exemplu, prezentăm o gramatică pentru limbajul tuturor constante reale valide din Fortran. În manualul de Fortran, aceste constante sunt descrise în diferite moduri. Printre care o constantă reală este reprezentată printr-un şir de numere; conţine un punct zecimal şi un exponent reprezentând o putere a lui 1 sau amândouă. Constante reale pot fi în următoarele formate: n. n n.,. n, n. ne ± s, n. E ± s,. ne ± s, ne ± s.

14 Exemple sunt: 3.E1, , E-1, ,.31415E1, E+279,.31415E+1. Un exemplu de gramatică care generează un astfel de limbaj este: S AB A XD B EXI λ D. I I. I. I I X + λ I M MI M Terminalele formează mulţimea {,1, 2, 3, 4, 5, 6, 7, 8, 9, E,,,.} Σ= +, mulţimea de neterminale este N = { S, A, B, D, I, M, X} şi simbolul de start este S. Arborele de derivare pentru -3.14E1 este dat în figura 1.4. Evident, că toate constantele Fortran (şi numai acestea) pot fi derivate folosind această gramatică. Bineînţeles că aceasta nu este unica gramatică care poate fi folosită pentru descrierea acestui limbaj; este posibil să avem două gramatici distincte G 1 şi G 2 astfel încât LG ( 1) = LG ( 2). Vom discuta acest concept mai târziu. De fapt, întregul limbaj Pascal, ca şi oricare alt limbaj de calculator, poate fi descris prin gramatica lui. Aceste gramatici sunt lungi şi includ mai multe sute de producţii. Metodă aceasta de descriere a limbajului de calculator este numită Backus Normal Form sau BNF. Notaţia folosită aici diferă puţin de notaţia introdusă mai sus. Săgeata este reprezentată prin simbolul ::= şi neterminalele sunt scrise ca fraze auto explicative închise între < L >. De pildă, o descriere BNF a constantelor întregi din Fortran (sau oricare alt limbaj) poate fi:

15 < IntegerConstant > :: =< Sign >< Number > < Sign > :: =+ λ < Number > :: =< Digit > < Digit >< Number > < Digit > :: = Evident, că această formă de descriere a gramaticilor (şi a limbajelor), în afara convenţiilor de notaţie, este identică cu aceea prezentată anterior. Figura 1.4. Arbore de derivare pentru -3.14E TIPURI DE GRAMATICI ŞI CLASIFICAREA LOR Ideea descrierii unui limbaj printr-o gramatică aparţine lui N. Chomsky. În prima parte a activităţii sale interesul lui s-a îndreptat spre limbaje naturale, ca engleza şi germana. Vom prezenta în continuare unele definiţii generale de gramatici. I. Gramatici de tip sau gramatici fără restricţii. O gramatică fără restricţii G se compune din patru obiecte: o mulţime nevidă de terminale Σ, o mulţime nevidă, N, de neterminale, cu N Σ=, un simbol de start

16 S N şi un ansamblu finit de producţii P. Într-o gramatică fără restricţii producţiile sunt de forma u v unde u şi v sunt şiruri oarecare de terminale sau neterminale; u λ. Această producţie permite înlocuirea arbitrară a unui şir (u) cu un şir (v). Se spune, că o forma propoziţională σ derivă imediat o formă propoziţională τ dacă σ = αuβ, τ = αvβ şi u v este o producţie a gramaticii. Vom nota aceasta prin σ τ. Limbajul LG ( ) este definit a fi mulţimea şirurilor de terminale derivabil din simbolul de start S. N Exemplu 1.5. Fie Σ= { abc,, } alfabetul unei gramatici G, = { S, X, Y} mulţimea neterminalelor, S simbolul de start şi mulţimea producţiilor dată de 1. S axyc 2. ax cad 3. Xc axa 4. XYc Xcc 5. Yc λ Un exemplu de derivare în această gramatică ar fi S axyc cadyc cad sau S a XYc a Xcc aax ac acadac.

17 În formele propoziţionale de mai sus am subliniat partea stângă a producţiilor folosite. Gramaticile de acest tip sunt foarte generale; orice limbaj (mulţime de şiruri) poate fi descris de o gramatică de tip. Un limbaj generat de o gramatică de tip se numeşte limbaj de tip. II. Gramatici de tip 1, sau gramatici dependente de context. Terminalele, neterminalele şi simbolul de start sunt aceleaşi. Fiecare producţie va avea acum forma αaβ ασβ unde A este un neterminal şi σ λ este un şir oarecare de terminale sau neterminale. Neterminalul A se înlocuieşte cu σ doar dacă A este înconjurat, sau în context, de α şi β. Evident că gramaticile dependente de context sunt şi de tip, dar reciproc nu. III. Gramatici de tip 2 sau gramatici independente de context. Dacă toate producţiile unei gramatici sunt de forma A σ, unde A este un singur neterminal şi σ un şir oarecare de terminale sau neterminale, atunci gramatica se numeşte gramatică independentă de context, notată GIC. Gramatici de tip 2 sunt o restricţie a gramaticilor de tip 1: este necesar ca α = β = λ. Astfel, dată fiind forma propoziţională γ1aγ 2 şi o producţie A σ, înlocuim A cu σ pentru a deriva o formă γσγ 1 2 indiferent de contextul γ 1 şi γ 2. Acest fapt explică denumirea de independent de context. Obţinem exact definiţia unei gramatici dată de definiţia 1.4. Strict văzut, gramatici de tip 2 nu sunt chiar restricţii ale gramaticilor de tip1, deoarece sunt permise producţii de forma A λ în

18 una dar nu şi în cealaltă. Acesta ne conduce la un caz special. Vom arăta într-un capitolul 7, că dată fiind o gramatică independentă de context cu producţii vide, există o gramatică independentă de context echivalentă (generând acelaşi limbaj) fără producţii vide, exceptând S λ (unde S este simbolul de strat). În particular, dacă G este o gramatică independentă de context astfel încât λ LG ( ) limbajul generat de G atunci LG ( ) = LG ( '), unde G ' este o gramatică independentă de context fără producţii vide. Astfel, dacă L este un limbaj de tip2 care nu-l conţine pe λ, atunci este şi de tip 1. Reciproca nu este adevărată: există limbaje de tip1 care n-au gramatici independente de context. Majoritatea gramaticilor discutate în această lucrare vor fi independente de context ele sunt mult mai uşor de analizat. Toate limbajele actuale de programare, Pascal, C, etc., sunt independente de context. IV. Gramatici de tip 3 sau gramatici regulare. Există o subclasă interesantă de gramatici independente de context, numite gramatici regulare sau liniare. Definiţia 1.9. Spunem că o gramatică G este liniară la dreapta sau regulară la dreapta, dacă fiecare din producţiile sale are una din formele următoare: S λ A ab A a. Unde, S este simbolul de start, λ şirul vid, A, B neterminale arbitrare şi a un terminal oarecare. O gramatică se numeşte liniară la stânga sau regulară la stânga dacă toate producţiile sale au una din formele următoare:

19 S λ A Ba A a O gramatică se numeşte regulară (liniară) dacă este regulă (liniară) la dreaptă sau la stânga. Evident, gramaticile regulare sunt independente de context. Le vom studia detaliat în capitolul 2. Această clasificarea a gramaticilor (tip j, j=, 1, 2, 3) este cunoscută sub denumirea de ierarhie Chomsky REPREZENTAREA LIMBAJELOR PRIN GRAMATICI Am văzut în paragrafele 1.2. şi 1.3. cum se descrie un limbaj în termeni de gramatici. Din punct de vedere a ştiinţei calculatoarelor următoarele două probleme inverse sunt mai importante (şi dificile). I. Fiind dat un şir σ de terminale, aparţine el limbajului? II. Fiind dat un şir σ dintr-un limbaj, cum a fost derivat? Importanţa problemei I este evidentă fiind dat un program scris într-un limbaj oarecare dorim să determinăm dacă este scris corect. Nu punem întrebarea dacă programul face ceea ce ar trebui să facă, ci doar dacă este valid sau nu. Ceea ce dorim să aflăm la acest punct este dacă programul este gramatical corect. Sunt toate instrucţiunile în forma potrivită? Sunt toate ciclurile DO închise? Se termină toate BEGIN-urle cu END-ul corespunzător? ş.a.m.d. Examinarea acestui tip de întrebare este cunoscută sub denumirea de analiză lexicală. Problema II este chiar mai importantă, ea permiţându-ne să interpretăm înţelesul programului şi să decidem cum va fi executat. Studierea acestei a doua probleme se numeşte analiză sintactică (eng. parsing). Vom ilustra aceste două puncte de vedere în următorul exemplu.

20 Exemplu 1.6. Fie G gramatica tuturor expresiilor aritmetice corecte scrise formate din întregi pozitivi şi simbolurile +, *, (, şi ). Această gramatică are producţiile 1. E E+ T 3. T T* F 5. F ( E) 2. E T 4. T F 6. F a Simbolul a reprezintă un şir oarecare de întregi pozitivi. Fiind dat o propoziţie în limbajul LG ( ), (5 + 3)*4, avem să decidem: I. Este o propoziţie validă? II. Ce înseamnă propoziţia? În II este implicată interpretarea sau evaluarea şirului (5 + 3)*4. Când acest şir va fi introdus, maşina ar trebui să ştie să ia numerele 5 şi 3, să le încarce în memorie sau în registre, să execute adunarea, să ia rezultatul adunării şi să-l încarce în locaţia potrivită, iar apoi să încarce numărul 4 şi să execute înmulţirea finală. Toate acestea se producă complet automat; maşina fiind programată astfel încât, când primeşte şirul (5 + 3)*4, toate operaţiile anterioare să se realizează în ordinea corectă. Vom arăta în continuare că dacă maşina este capabilă să reproducă arborele de derivare a propoziţiei, ea poate intui cum să realizeze cele de mai sus, de exemplu, poate descifra înţelesul sau valoare expresiei.

21 Figura 1.5. Arbore de derivare pentru (5 + 3)*4. Într-adevăr, presupunând că avem arborele de derivare pentru (5 + 3)*4, ca în figura 1.5., a verifica dacă şirul aparţine limbajului este simplu: concatenăm frunzele arborelui de la stânga la dreapta şi verificăm dacă şirul obţinut se potriveşte, simbol cu simbol, celui iniţial. Nu vom discuta cum se memorează un astfel de arbore, cum se accesează nodurile, etc. Acestea ţin de implementare şi, în particular, pot depinde de aspecte hardware ale maşinii. Pretindem că, dat fiind acest arbore de derivare putem determina înţelesul şirului. Vom rescrie arborele într-un mod diferit. Fiecare nod va fi reprezentat printr-o celulă X n : Simbolul X va fi simbolul gramatic al nodului, (terminal, neterminal) iar n specifică numărul producţiei folosite în obţinerea fiilor nodului.

22 E 2 T 3 T 4 * F 6 F 5 4 ( E 1 ) E 2 + T 4 T 4 F 6 F Figura 1.6. Derivarea lui (5 + 3)*4. Dacă X este un terminal, de exemplu când nodul este frunză, punem n =. Arborele de derivare pentru (5 + 3)*4 va arăta atunci ca în figura 1.6. Se defineşte o funcţie V ( X n ) V ( X, n) = pe noduri în felul următor: Xifn= V ( LeftChild( X, n)) + V ( RightChild( X, n)) if n = 1 V( X, n) = V( Child( X, n) if n= 2,4, sau 6 V ( LeftChild( X, n))* V ( RightChild( X, n)) if n = 3 V ( MiddleChild( X, n) if n = 5

23 Funcţia V( X, n ) este deci definită pentru acei X şi n pentru care X n poate fi nod într-un arbore de derivare a unei expresii aritmetice. Definiţiile funcţiilor LeftChild, RightChild, MiddleChild şi Child se subînţeleg. Dat fiind arborele de derivare a unei expresii, pentru aflarea înţelesului sau valorii acesteia, se evaluează V(Root). În exemplul discutat, vom avea: V( Root) = V( E,2) = VT (,3) = VT (,4)* VF (,6) = V( F,5)* V(4,) = V( E,1)*4 = ( V( E,2) + V( T,4))*4 = ( VT (,4) + VF (,6))*4 = ( V( F,6) + V(3,))*4 = ( V (5,) + 3)*4 = ( V (5,) + 3)*4 = (5 + 3)*4 = 32 Evident, funcţia V va calcula corect valoarea oricărei expresii aritmetice valide, dacă cunoaşte arborele de derivare a expresiei. Funcţia V este recursivă, ea se va autoapela la evaluarea unor argumente. S-ar putea ca să nu fie clar cititorului cum se implementează, în mod complet automat, pe calculator evaluarea unei astfel de funcţii. Acest lucru, însă, poate fi realizat, iar implementarea specifică va depinde, la rândul ei, de limbajul şi de hardware-ul folosi. Nu intrăm în amănuntele acestui subiect. Mai degrabă vom studia procesului de reconstruire a arborelui de derivare pentru un şir dat. Motivul introducerii funcţiei V a fost, de a convinge cititorul că procesul de reconstruire a arborelui de derivare este întradevăr folositor şi chiar necesar.

24 Următoarea problemă se ridică imediat ce discutăm de parsing (de exemplu despre reconstruirea arborelui de derivare): Fiind dată o gramatică G şi un şir σ din limbajul LG ( ), atunci poate avea σ doi arbori distincţi de derivare? Se constată, desigur, că astfel de fenomene exista. Exemplu 1.7. Fie G gramatica S A A A A 1 Figura 1.7. arată doi arbori de derivare distincţi pentru şirul σ= 111. Figura 1.7. Arbori de derivare distincţi pentru şirul σ= 111. Aceasta ne conduce la următorul concept: Definiţia 1.1. O gramatică G se numeşte ambiguă dacă există o propoziţie σ în LG ( ) cu doi arbori de derivare distincţi. Dacă o gramatică nu este ambiguă, ea se numeşte neambiguă. Exemplu 1.8. Următorul este un exemplu concret relativ la construcţia if C1 then C2 else C 3 din Pascal sau din alt limbaj de

25 programare. Un fragment a unei gramatici pentru Pascal care foloseşte această construcţie poate fi dat în felul următor: < statement > if < condition > then < statement > if < condition > then < statement > else < statement > < other kind of statement > (1.3) Dacă aceste construcţii sunt descrise de gramatica de mai sus, atunci arborele de derivare a unor propoziţii nu va fi unic. Considerăm următoarea propoziţie: if C = then if D = 1 then A: = 3 else A: = 4 (1.4) Ea are doi arbori de derivare distincţi, ca în figura 1.8. Înţelesul sau valoarea lui σ, diferă pentru fiecare dintre cei doi arbori. Presupunând că în timpul execuţiei, variabila C are valoarea 1, D=1, A=5 şi se întâlneşte propoziţia σ. Dacă se admite ca arborele de derivare să fie dat de figura 1.8.(a), valoarea A = 5 rămâne. Dacă, pe de altă parte, se consideră arborele din figura 1.8.(b) ca fiind cel corect, valoarea lui A devine 4. Astfel, la compilarea programelor derivate de la o gramatică ambiguă, trebuie luată o decizie arbitrară şi anume, care dintre arborii de derivare se va folosi, adică, ce înţeles se atribuie propoziţiei. În acest exemplu, este preluat înţelesul dat de arborele din figura 1.8.(a). Regula arbitrar aleasă, însă fixată, este: Fiecare else se asociază cu cel mai apropiat then precedent.

26 (a) <statement> if C = then <statement> if D = 1 then A := 3 else A := 4 (b) <statement> if C = then <statement> else A := 4 if D = 1 then A := 3 Figura 1.8. Ambiguitate pentru if...then...else. Observăm că, gramaticile neambigue sunt preferabile celor ambigue. În general, fiind dată o gramatică G, nu există un algoritm pentru a determina dacă ea este ambigua sau nu. Unele gramatici speciale permit însă acest lucru în capitolul 8 vom arăta că gramatica expresiilor aritmetice, G, este neambiguă. Se poate întâmpla, ca pentru o gramatică dată G, care generează un limbaj LG ( ), să existe o altă gramatică diferită care generează acelaşi limbaj, adică, LG ( ') = LG ( ). Următorul exemplu arată acest fenomen. Exemplu 1.9. Fie gramatica G S A A S λ

27 şi gramatica G ' S B B S Este evident că ambele gramatici generează acelaşi limbaj L mulţimea tuturor şirurilor având un număr par de zerouri. Gramaticile la rândul lor, sunt total diferite: nu are nici una din aceste proprietăţi. G ' este o gramatică regulară fără producţii vide, iar G Se poate da o gramatică ambiguă G şi să existe o altă gramatică astfel încât LG ( ) = LG ( '). Rescriem gramatica pentru if...then...else din exemplul 1.8. în felul următor: G ' < statement > S S < other kind of sentence > 1 2 S if < condition > then S 1 1 if < condition > then S else S 2 1 < other kind of sentence > S if < condition > then S else S < other kind of sentence > (1.5) Această gramatică generează aceeaşi propoziţie ca gramatica din exemplul 1.8., dar ambiguitatea a fost înlăturată. Aşadar, dacă propoziţia if C = then if D = 1 then A: = 3 else A: = 4 este analizată sintactic, înţelesul ei se interpretează ca if C = then ( if D = 1 then A: = 3 else A: = 4) opus lui

28 if C = then ( if D = 1 then A: = 3) else A: = 4 Definiţia Un limbaj se numeşte ambiguu în mod inerent dacă orice gramatică care generează L este ambiguă. Un exemplu de astfel de limbaj este k k m n {,, şi 1,cu ( 1şi )sau ( şi )} L= abc d k l m n k= m= n k= n l= m. Şiruri din L sunt aabbcccddd ( k = l = 2, m= n= 3) şi aabbbcccdd ( k = n= 2, l = m= 3). A demonstra că acesta este un limbaj ambiguu în mod inerent, nu face parte din scopul acestei lucrări O INTRODUCERE ÎN PARSING (ANALIZA SINTACTICĂ) Considerăm problema reconstruirii arborelui de derivare pentru o propoziţie dată, adică, problema analizei sintactice. Întreaga lucrare se va concentra asupra acestei probleme, actualul paragraf fiind doar partea de introducere. Am putea crede că pentru specificarea arborelui de derivare este de ajuns folosirea secvenţei de producţii de la derivare. Urmând această idee, în lipsa unor restricţii, vor apărea dificultăţi. În primul rând, două secvenţe diferite de producţii pot conduce la acelaşi arbore. De exemplu, fie gramatica expresiilor aritmetice G 1. E E+ T 3. T T* F 5. F ( E) 2. E T 4. T F 6. F a

29 şi şirul a+ a din acest limbaj. Secvenţele 1, 2, 4, 6, 4, 6 şi 1, 4, 6, 2, 4, 6 sunt diferite şi corespund la două derivări pentru a+ a E E+ T T + T T + F T + a F + a a+ a şi E E+ T E+ F E+ a T + a F + a a+ a Ambele derivări generează acelaşi arbore din figura 1.9. Figura 1.9. Arbor de derivare pentru a+ a. Poate avea loc şi situaţia inversă: dacă nu specificăm la fiecare pas care neterminal este înlocuit, aceeaşi secvenţă de producţii poate conduce la arbori de derivare distincţi. Pentru a vedea asta considerăm gramatica 1. S A 2. A AA 3. A 1 Secvenţa de producţii 1, 2, 2, 3, 3, 3 conduce la două derivări distincte:

30 S A AA AA A 1AA 11A 111 şi S A AA AA A AA1 A (În fiecare formă propoziţională este subliniat neterminalul care va fi înlocuit.) Arborii de derivare a acelor două derivări, apar în figura 1.1., ei sunt diferiţi. Figura 1.1. Gramatici ambigue. Aşadar, pentru a specifica arborele de derivare prin secvenţele de producţii folosite, este totodată necesară şi specificarea, la fiecare pas, a neterminalului înlocuit. Aceasta este greu de realizat şi se observă că nu este necesar deoarece putem specifica dinainte care neterminal va fi ales pentru înlocuire.

31 Definiţia Fie G o gramatică, σ o propoziţie în limbajul LG ( ) şi S σ1 σ2... σn = σ (1.6) derivarea lui σ. Spunem că (1.6) este derivarea la stânga a lui σ, dacă la fiecare pas σi σ i + 1, neterminalul înlocuit din σ i, este cel mai din stânga. Spunem că (1.6) este derivarea la dreapta dacă la fiecare pas înlocuim neterminalul cel mai din dreapta. De exemplu, derivarea la stânga a lui ( a+ a)* a în G (gramatica expresiilor aritmetice din exemplul 1.3.) este E T T* F F* F ( E)* F ( E+ T)* F ( T + T) + F ( F + T)* F ( a+ T)* F ( a+ F)* F ( a+ a)* F ( a+ a)* a Derivarea la dreapta a aceleiaşi propoziţii este atunci E T T* F T* a F* a ( E)* a ( E+ T)* a ( E+ F)* a ( E+ a)* a ( T + a)* a ( F + a)* a ( a+ a)* a 1 Astfel, dacă ştim de dinainte ce fel de derivare se foloseşte (la stânga sau la dreapta), secvenţa de producţii din derivarea unei propoziţii va descrie complet arborul de derivare.

32 Definiţia O analiză la stânga a unui şirσ este secvenţa de producţii folosită în derivare la stânga a lui σ. O analiză la dreapta a lui σ este inversa secvenţei de producţii folosite în derivarea la stânga a lui σ. Motivul folosirii inversei din definiţia analizei la dreapta va fi, pe scurt, discutată în această parte şi detaliat în capitolul 8. Astfel, analiza la stânga pentru ( a+ a)* a este: 2, 3, 4, 5, 1, 2, 4, 6, 4, 6, 6. Analiza la dreapta a aceluiaşi şir va fi: 6, 4, 2, 6, 4, 1, 5, 4, 6, 3, 2. Putem vorbi de o analiză la stânga şi la dreapta a oricărei forme propoziţionale derivate din simbolul de start S. De exemplu, analiza la stânga pentru a*( E ) în gramatica G este 2, 3, 4, 6, 5, deoarece E T T* F F* F a* F a*( E) Toate acestea nu ne dau o metode de determinare a analizei (la stânga sau la dreapta) a unui şir. Fiind dat un şir de terminale σ= aa an, singurul lucru pe care-l ştim despre arborele lui de derivare este, că are simbolul S în vârf iar frunzele din partea de jos formează şirul aa a n : Figura Arborul de derivare pentru aa a n.

33 Există două posibilităţi de a popula interiorul arborelui: una este de a-l reconstrui de sus în jos (eng. top-down) iar cealaltă de jos în sus (eng. bottom-up). În schema de analiză top-down, pornim cu neterminalul S şi încercăm să descoperim prima producţie S σ1 care garantează o derivarea a lui aa a n de forma S σ L aa a n Odată ce a fost determinată, avem de examinat şirul σ 1 şi de descoperit care din neterminalele sale, fie acesta A, trebuie înlocuit cu partea dreaptă a producţiei A α, producând astfel forma propoziţională σ 2 în derivarea S σ σ L aa a n Procedura se repetă până când întreaga derivare este reconstruită. Dacă ne limităm la derivarea la stânga, de exemplu, la fiecare pas vrem să aflăm neterminalul cel mai din stânga care va fi înlocuit, dintr-o formă propoziţională σ, există o modalitate foarte bună pentru efectuarea acestei alegeri avansate. Ea va fi prezentată în capitolul 6. În schema de analiză bottom-up, procesul este invers: Începând cu şirul aa a n, încercăm să găsim o formă propoziţională σ k astfel încât derivarea lui aa a n să aibă forma S L σ... k aa 1 2 an.

34 Pentru aceasta, trebuie să localizăm un subşir α din aa a n care corespunde părţii drepte a unei producţii A α şi să înlocuim acest α cu A. (Un astfel de subşir α se numeşte referinţă (eng. handle)). În continuare repetăm procedura cu şirul σ k în loc de 1 aa 2... a n. Continuăm până când ajungem la S. Nu reiese limpede cum se obţine aceasta, dar este posibil, dacă ne limităm la construirea derivării la stânga. Vom explica acest proces în capitolul 8. Aşa se explica de ce analiza la dreapta a fost definit ca fiind inversul secvenţei de producţii folosite în derivarea la stânga a şirului: În analiza bottom-up determinăm mai întâi ultima producţie folosită în derivare, iar apoi penultima ş.a.m.d. PROBLEME 1. Fie G limbajul expresiilor algebrice din exemplul 1.3. Daţi arborele de derivare, analiza la stânga şi la dreapta a următoarelor şiruri: a) a+ a+ a b) ( a+ a)* a+ a*( a+ a) c) a* a* a+ a* a Daţi în problemele 2 12 o gramatică independentă de context care descrie limbajul dat şi un arbore de derivare pentru şirul σ indicat. * 2. Toate şirurile σ {,1} având un subşir 1; σ = * 3. Toate şirurile σ {,1} de lungime impară; σ = m+ n m n 4. L= { a b d m, n } σ = aaaabccc. 5. { m n L= a b 1 n m 2 n} ; σ = aaabb. 6. { m n L= a b 2 2n m 3 n} ; σ = aaaabb.

35 7. Mulţimea tuturor şirurilor peste Σ= {, 1} de lungime impară; σ = Mulţimea tuturor şirurilor peste Σ= {, ab} în care numărul de a-uri este egal cu numărul de b-uri; σ = abbaaabb. 9. Mulţimea tuturor şirurilor peste Σ= {, ab} în care este un a mai mult decât b-uri; σ = aabbbaa. 1. Mulţimea şirurilor peste Σ= {, 1} în care 1 apare cep puţin de 3 ori; σ = Mulţimea şirurilor peste Σ= {, ab} în care primul simbol este diferit de ultimul simbol; σ = aababab. 12. Mulţimea tuturor datelor valide pentru anul 19 până 1999 dat sub forma NOIEMBRIE 3, Observăm că anul 19 nu a fost un an bisect deci nu a existat un FEBRUARIE 29 în 19; σ = OCTOMBRIE 3, În problemele 13 15, descrieţi limbajul generat de gramatica dată. 13. S aasb A, A cadd cd 14. S ASBB AB, A aa b, B Bc d 15. S asb asbb asbbb ab Fiecare gramatică din problemele este ambiguă. Găsiţi pentru aceste gramatici o propoziţie cu doi arbori distincţi de derivare. 16. S SaSa b 17. S asb Sb Sa a 18. S aas aaas a

36 19. S as asb A, A Aa a 2. S AA, A AAA a ba Ab 21. S AaA, A aa ba λ 22. Arătaţi că fiecare gramatică stâng liniară are şi o gramatică drept liniară, şi reciproc. 23. Un fragment al gramatici corespunzătoare construcţiilor if...then...else, dat în (1.3), a fost ambiguu, propoziţia (1.4) având, ca în figura 1.8., doi arbori distincţi de derivare. Acest fragment a fost rescris în (1.5) astfel încât propoziţia (1.4) să aibă arborele de derivare dat de figura 1.8.(a). Rescrieţi gramatica din (1.3) astfel încât propoziţia (1.4) să aibă un unic arbore de derivare dat de figura 1.8.(b).

1

1 Contents 1 Automate finite... 2 1.1 Probleme cu AF... 2 1.2 Structuri de date pentru automate finite... 4 2 Gramatici si limbaje; gram. indep. de context... 5 2.1 Limbaje... 5 2.2 Gramatici si limbaje...

Mai mult

Limbaje Formale, Automate si Compilatoare

Limbaje Formale, Automate si Compilatoare Limbaje Formale, Automate şi Compilatoare Curs 1 2018-19 LFAC (2018-19) Curs 1 1 / 45 Prezentare curs Limbaje Formale, Automate şi Compilatoare - Curs 1 1 Prezentare curs 2 Limbaje formale 3 Mecanisme

Mai mult

Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

Logică și structuri discrete Limbaje regulate și automate Marius Minea   marius/curs/lsd/ 24 noiembrie 2014 Logică și structuri discrete Limbaje regulate și automate Marius Minea marius@cs.upt.ro http://www.cs.upt.ro/ marius/curs/lsd/ 24 noiembrie 2014 Un exemplu: automatul de cafea acțiuni (utilizator): introdu

Mai mult

Curs7

Curs7 Analizor sintactic LL(1) S A { a a 1 i-1 a i Algoritm liniar LL(k) L = left (secvența este parcursă de la stânga la dreapta L = left (se folosesc derivări de stânga) Predicția are lungimea k S A { Principiu

Mai mult

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx SDA (PC2) Curs 9 Liste / Grafuri / Arbori Iulian Năstac Lista dublu înlănțuită Recapitulare Într-o astfel de listă fiecare nod conţine doi pointeri: unul spre nodul următor şi unul spre nodul precedent.

Mai mult

Cursul 12 (plan de curs) Integrale prime 1 Sisteme diferenţiale autonome. Spaţiul fazelor. Fie Ω R n o mulţime deschisă şi f : Ω R n R n o funcţie de

Cursul 12 (plan de curs) Integrale prime 1 Sisteme diferenţiale autonome. Spaţiul fazelor. Fie Ω R n o mulţime deschisă şi f : Ω R n R n o funcţie de Cursul 12 (plan de curs) Integrale prime 1 Sisteme diferenţiale autonome. Spaţiul fazelor. Fie Ω R n o mulţime deschisă şi f : Ω R n R n o funcţie de clasă C 1. Vom considera sistemul diferenţial x = f(x),

Mai mult

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja far Mohammed ibn Musâ al- Khowârizmî în cartea sa intitulată

Mai mult

Şiruri de numere reale Facultatea de Hidrotehnică Universitatea Tehnică Gheorghe Asachi Iaşi, 2015 Analiză Matematică Lucian Maticiuc 1 / 29

Şiruri de numere reale Facultatea de Hidrotehnică Universitatea Tehnică Gheorghe Asachi Iaşi, 2015 Analiză Matematică Lucian Maticiuc 1 / 29 Şiruri de numere reale Facultatea de Hidrotehnică Universitatea Tehnică Gheorghe Asachi Iaşi, 2015 Analiză Matematică Lucian Maticiuc 1 / 29 Definiţie. Şiruri mărginite. Şiruri monotone. Subşiruri ale

Mai mult

E_d_Informatica_sp_SN_2014_bar_10_LRO

E_d_Informatica_sp_SN_2014_bar_10_LRO Examenul de bacalaureat naţional 2014 Proba E. d) Informatică Varianta 10 Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu. Timpul de lucru efectiv este de 3 ore. În rezolvările cerute,

Mai mult

Microsoft Word - Curs_09.doc

Microsoft Word - Curs_09.doc Capitolul 7. Proiectarea conceptuală Scop: reprezentarea cerinţelor informale ale aplicaţiei în termenii descrierii complete şi formale dar independent de criteriul folosit pentru reprezentare în sistemul

Mai mult

Microsoft Word - D_ MT1_II_001.doc

Microsoft Word - D_ MT1_II_001.doc ,1 SUBIECTUL II (30p) Varianta 1001 a b 1 Se consideră matricea A = b a, cu a, b şi 0 http://wwwpro-matematicaro a) Să se arate că dacă matricea X M ( ) verifică relaţia AX = XA, atunci există uv,, astfel

Mai mult

Microsoft Word - TIC5

Microsoft Word - TIC5 CAPACITATEA CANALELOR DE COMUNICAŢIE CAPITOLUL 5 CAPACITATEA CANALELOR DE COMUNICAŢIE În Capitolul 3, am văzut că putem utiliza codarea sursă pentru a reduce redundanţa inerentă a unei surse de informaţie

Mai mult

Limbaje de ordinul I LOGICA DE ORDINUL I Un limbaj L de ordinul I este format din: o mulţime numărabilă V = {v n n N} de variabile; conectorii şi ; pa

Limbaje de ordinul I LOGICA DE ORDINUL I Un limbaj L de ordinul I este format din: o mulţime numărabilă V = {v n n N} de variabile; conectorii şi ; pa Limbaje de ordinul I LOGICA DE ORDINUL I Un limbaj L de ordinul I este format din: o mulţime numărabilă V = {v n n N} de variabile; conectorii şi ; paranteze: (, ); simbolul de egalitate =; cuantificatorul

Mai mult

Analiză de flux de date 29 octombrie 2012

Analiză de flux de date 29 octombrie 2012 Analiză de flux de date 29 octombrie 2012 Analiză statică: definiţie O analiză a codului sursă (fără a executa programul), cu scopul de a determina proprietăţi ale programului sursă. (in principal corectitudinea,

Mai mult

Grafuri neorinetate Aplicatii 1 Care este numărul maxim de componente conexe pe care le poate avea un graf neorientat cu 20 noduri şi 12 muchii? a. 6

Grafuri neorinetate Aplicatii 1 Care este numărul maxim de componente conexe pe care le poate avea un graf neorientat cu 20 noduri şi 12 muchii? a. 6 Grafuri neorinetate Aplicatii 1 Care este numărul maxim de componente conexe pe care le poate avea un graf neorientat cu 20 noduri şi 12 muchii? a. 6 b. 12 c. 10 d. 15 2 Câte grafuri neorientate, distincte,

Mai mult

Microsoft Word - cap1p4.doc

Microsoft Word - cap1p4.doc Algebră liniară, geometrie analitică şi diferenţială.6 Subspaţii vectoriale Fie V un spaţiu vectorial peste corpul K. În cele ce urmează vom introduce două definiţii echivalente pentru noţiunea de subspaţiu

Mai mult

E_d_Informatica_sp_MI_2015_bar_02_LRO

E_d_Informatica_sp_MI_2015_bar_02_LRO Examenul de bacalaureat naţional 2015 Proba E. d) Informatică Varianta 2 Filiera teoretică, profilul real, specializările: matematică-informatică matematică-informatică intensiv informatică Toate subiectele

Mai mult

Logică și structuri discrete Logică propozițională Marius Minea marius/curs/lsd/ 3 noiembrie 2014

Logică și structuri discrete Logică propozițională Marius Minea   marius/curs/lsd/ 3 noiembrie 2014 Logică și structuri discrete Logică propozițională Marius Minea marius@cs.upt.ro http://www.cs.upt.ro/ marius/curs/lsd/ 3 noiembrie 2014 Unde aplicăm verificarea realizabilității? probleme de căutare și

Mai mult

1. Găsiți k numerele cele mai apropiate într-un şir nesortat Dându-se un şir nesortat și două numere x și k, găsiți k cele mai apropiate valori de x.

1. Găsiți k numerele cele mai apropiate într-un şir nesortat Dându-se un şir nesortat și două numere x și k, găsiți k cele mai apropiate valori de x. 1. Găsiți k numerele cele mai apropiate într-un şir nesortat Dându-se un şir nesortat și două numere x și k, găsiți k cele mai apropiate valori de x. Date de intrare: arr [] = {10, 2, 14, 4, 7, 6}, x =

Mai mult

Gheorghe IUREA Adrian ZANOSCHI algebră geometrie clasa a VII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA 45 Matematică. Clasa a VII-

Gheorghe IUREA Adrian ZANOSCHI algebră geometrie clasa a VII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA 45 Matematică. Clasa a VII- Gheorghe IUREA Adrian ZANOSCHI algebră geometrie clasa a VII-a ediţia a V-a, revizuită mate 2000 standard 3 Algebră Capitolul I. MULŢIMEA NUMERELOR RAŢIONALE Identificarea caracteristicilor numerelor raţionale

Mai mult

Slide 1

Slide 1 SCTR -SZOKE ENIKO - Curs 4 continuare curs 3 3. Componentele hard ale unui sistem de calcul in timp real 3.1 Unitatea centrala de calcul 3.1.1 Moduri de adresare 3.1.2 Clase de arhitecturi ale unitatii

Mai mult

Subiectul 1

Subiectul 1 Subiectul 1 În fişierul Numere.txt pe prima linie este memorat un număr natural n (n

Mai mult

DAN LASCU ADRIANA-LIGIA SPORIŞ ANDA OLTEANU PAUL VASILIU MATEMATICĂ. CULEGERE DE PROBLEME TIP GRILĂ PENTRU ADMITEREA ÎN ACADEMIA NAVALĂ MIRCEA CEL BĂT

DAN LASCU ADRIANA-LIGIA SPORIŞ ANDA OLTEANU PAUL VASILIU MATEMATICĂ. CULEGERE DE PROBLEME TIP GRILĂ PENTRU ADMITEREA ÎN ACADEMIA NAVALĂ MIRCEA CEL BĂT DAN LASCU ADRIANA-LIGIA SPORIŞ ANDA OLTEANU PAUL VASILIU MATEMATICĂ. CULEGERE DE PROBLEME TIP GRILĂ PENTRU ADMITEREA ÎN ACADEMIA NAVALĂ MIRCEA CEL BĂTRÂN Colecţia Matematică DAN LASCU ADRIANA-LIGIA SPORIŞ

Mai mult

Analiză statică Analiza fluxului de date 23 octombrie 2014

Analiză statică Analiza fluxului de date 23 octombrie 2014 Analiză statică Analiza fluxului de date 23 octombrie 2014 Analiză statică: definiție O analiză a codului sursă (fără a executa programul), cu scopul de a determina proprietăți ale programului sursă. (in

Mai mult

ExamView Pro - Untitled.tst

ExamView Pro - Untitled.tst Class: Date: Subiecte logica computationala licenta matematica-informatica 4 ani Multiple Choice Identify the letter of the choice that best completes the statement or answers the question. 1. Fie formula

Mai mult

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine numărul de operaţii efectuate de către un algoritm care determină

Mai mult

I. INTRODUCERE 1. Necesitatea studiului logicii Teodor DIMA În activitatea noastră zilnică, atunci când învăţăm, când încercăm să fundamentăm o părere

I. INTRODUCERE 1. Necesitatea studiului logicii Teodor DIMA În activitatea noastră zilnică, atunci când învăţăm, când încercăm să fundamentăm o părere I. INTRODUCERE 1. Necesitatea studiului logicii Teodor DIMA În activitatea noastră zilnică, atunci când învăţăm, când încercăm să fundamentăm o părere proprie sau o idee, când comunicăm anumite impresii

Mai mult

Microsoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx

Microsoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx SDA (PC2) Curs 10 Arbori Iulian Năstac Definiția 1: Arbori Recapitulare Arborele este un graf orientat, aciclic și simplu conex. Definiția 2: Un arbore este un ansamblu de structuri de date de natură recursivă

Mai mult

I

I METODA VECTORIALĂ ÎN GEOMETRIE prof. Andrei - Octavian Dobre Această metodă poate fi descrisă după cum urmează: Fiind dată o problemă de geometrie, după explicitarea şi reprezentarea grafică a configuraţiei

Mai mult

Programarea şi utilizarea calculatoarelor

Programarea şi utilizarea calculatoarelor Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Programarea calculatoarelor Lect.dr. Adrian Runceanu Curs 6 Instrucţiunile limbajului

Mai mult

COMENTARII FAZA JUDEŢEANĂ, 9 MARTIE 2013 Abstract. Personal comments on some of the problems presented at the District Round of the National Mathemati

COMENTARII FAZA JUDEŢEANĂ, 9 MARTIE 2013 Abstract. Personal comments on some of the problems presented at the District Round of the National Mathemati COMENTARII FAZA JUDEŢEANĂ, 9 MARTIE 2013 Abstract. Personal comments on some of the problems presented at the District Round of the National Mathematics Olympiad 2013. Data: 12 martie 2013. Autor: Dan

Mai mult

Elemente de aritmetica

Elemente de aritmetica Elemente de aritmetică Anul II Februarie 2017 Divizibilitate în Z Definiţie Fie a, b Z. Spunem că a divide b (scriem a b) dacă există c Z astfel încât b = ac. In acest caz spunem că a este un divizor al

Mai mult

gaussx.dvi

gaussx.dvi Algebră liniarăi 1 Recapitulare cunoştiinţe de algebră din clasa XI-a În clasa a XI s-a studiat la algebră problema existenţei soluţiei 1 şi calculării soluţiei sistemelor liniare 2 (adică sisteme care

Mai mult

LOGICA MATEMATICA SI COMPUTATIONALA Sem. I,

LOGICA MATEMATICA SI COMPUTATIONALA  Sem. I, LOGICA MATEMATICĂ ŞI COMPUTAŢIONALĂ Sem. I, 2017-2018 Ioana Leustean FMI, UB Partea III Calculul propoziţional clasic Consistenţă şi satisfiabilitate Teorema de completitudine Algebra Lindenbaum-Tarski

Mai mult

Clasa IX 1. O lăcustă face salturi, fiecare salt în linie dreaptă şi de două ori mai lung ca precedentul. Poate vreodată lăcusta să revină în punctul

Clasa IX 1. O lăcustă face salturi, fiecare salt în linie dreaptă şi de două ori mai lung ca precedentul. Poate vreodată lăcusta să revină în punctul Clasa IX. O lăcustă face salturi, fiecare salt în linie dreaptă şi de două ori mai lung ca precedentul. Poate vreodată lăcusta să revină în punctul de plecare iniţial? Soluţie. Răspunsul este negativ.

Mai mult

Microsoft Word - Curs1.docx

Microsoft Word - Curs1.docx 1. REPREZENTAREA INFORMAȚIILOR ÎN CALCULATOR 1.1. CONCEPTUL DE DATĂ ȘI INFORMAȚIE Datele desemnează elementele primare, provenind din diverse surse, fără o formă organizată care să permită luarea unor

Mai mult

Curs8

Curs8 Curs 8 Analiză sintactică LR(k) Termeni Predicție vezi LL(1) Manșa = simboluri din vârful stivei de lucru care formează (în ordine) pdp Analizor de tip deplasare - reducere: deplasează simboluripentru

Mai mult

Facultatea de Matematică Anul II Master, Geometrie Algebrică Mulţimi algebrice ireductibile. Dimensiune 1 Mulţimi ireductibile Propoziţia 1.1. Fie X u

Facultatea de Matematică Anul II Master, Geometrie Algebrică Mulţimi algebrice ireductibile. Dimensiune 1 Mulţimi ireductibile Propoziţia 1.1. Fie X u Facultatea de Matematică Anul II Master, Geometrie Algebrică Mulţimi algebrice ireductibile. Dimensiune 1 Mulţimi ireductibile Propoziţia 1.1. Fie X un spaţiu topologic. Următoarele afirma-ţii sunt echivalente:

Mai mult

Dorel LUCHIAN Gabriel POPA Adrian ZANOSCHI Gheorghe IUREA algebră geometrie clasa a VIII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA

Dorel LUCHIAN Gabriel POPA Adrian ZANOSCHI Gheorghe IUREA algebră geometrie clasa a VIII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA Dorel LUCHIAN Gabriel POPA Adrian ZANOSCHI Gheorghe IUREA algebră geometrie clasa a VIII-a ediţia a V-a, revizuită mate 000 standard 3 10 PP Algebră Capitolul I. NUMERE REALE Competenţe specifice: Determinarea

Mai mult

Spatii vectoriale

Spatii vectoriale Algebra si Geometrie Seminar 2 Octombrie 2017 ii Matematica poate fi definită ca materia în care nu ştim niciodată despre ce vorbim, nici dacă ceea ce spunem este adevărat. Bertrand Russell 1 Spatii vectoriale

Mai mult

Microsoft Word - Lab1a.doc

Microsoft Word - Lab1a.doc Sisteme de numeraţie şi coduri numerice 1.1. Sisteme de numeraţie 1.2. Conversii generale între sisteme de numeraţie 1.3. Reprezentarea numerelor binare negative 1.4. Coduri numerice 1.5. Aplicaţii In

Mai mult

Logică și structuri discrete Relații. Funcții parțiale Marius Minea marius/curs/lsd/ 20 octombrie 2014

Logică și structuri discrete Relații. Funcții parțiale Marius Minea   marius/curs/lsd/ 20 octombrie 2014 Logică și structuri discrete Relații. Funcții parțiale Marius Minea marius@cs.upt.ro http://www.cs.upt.ro/ marius/curs/lsd/ 20 octombrie 2014 Relații în lumea reală și informatică Noțiunea matematică de

Mai mult

PROGRAMA CONCURSULUI NAŢIONAL

PROGRAMA CONCURSULUI NAŢIONAL ANUL ŞCOLAR 2011-2012 CLASA a IX-a În programa de concurs pentru clasa a IX-a sunt incluse conţinuturile programelor din clasele anterioare şi din etapele anterioare. 1. Mulţimi şi elemente de logică matematică.

Mai mult

Electricitate II

Electricitate II Electricitate II Circuitul electric. Legile circuitului electric. Sumar Circuitul electric simplu Legile lui Ohm Legile lui Kirchhoff Gruparea rezistorilor Transformarea stea-triunghi Gruparea generatoarelor

Mai mult

Prelegerea 3 În această prelegere vom învăţa despre: Clase speciale de latici: complementate. modulare, metrice, distributive şi 3.1 Semi-distributivi

Prelegerea 3 În această prelegere vom învăţa despre: Clase speciale de latici: complementate. modulare, metrice, distributive şi 3.1 Semi-distributivi Prelegerea 3 În această prelegere vom învăţa despre: Clase speciale de latici: complementate. modulare, metrice, distributive şi 3.1 Semi-distributivitate şi semi - modularitate Fie L o latice. Se numeşte

Mai mult

Notiuni de algebra booleana

Notiuni de algebra booleana Noţiuni de algebră booleană (în lucru) Definiţie Algebră booleană = o structură algebrică formată din: O mulţime B Două operaţii binare notate cu (+) şi (.) O operaţie unară notată cu ( ) pentru care sunt

Mai mult

Limbaje de Programare Curs 6 – Functii de intrare-iesire

Limbaje de Programare   Curs 6 – Functii de intrare-iesire Limbaje de Programare Curs 6 Funcţii de intrare-ieşire Dr. Casandra Holotescu Universitatea Politehnica Timişoara Ce discutăm azi... 1 Citire formatată 2 Citirea şirurilor de caractere 3 Citirea unor linii

Mai mult

Cursul 8 Funcţii analitice Vom studia acum comportarea şirurilor şi seriilor de funcţii olomorfe, cu scopul de a dezvălui o proprietate esenţială a ac

Cursul 8 Funcţii analitice Vom studia acum comportarea şirurilor şi seriilor de funcţii olomorfe, cu scopul de a dezvălui o proprietate esenţială a ac Cursul 8 Funcţii analitice Vom studia acum comportarea şirurilor şi seriilor de funcţii olomorfe, cu scopul de a dezvălui o proprietate esenţială a acestor funcţii: analiticitatea. Ştim deja că, spre deosebire

Mai mult

Microsoft Word - _arbori.docx

Microsoft Word - _arbori.docx ARBORI Să presupunem că o firmă doreşte să conecteze la TV, prin cablu, cele n case ale unui sat. Cum vor fi conectate casele la cablu? Logic, va trebui ca fiecare casă să fie conectată. Apoi, la o casă

Mai mult

Microsoft Word - Curs_08.doc

Microsoft Word - Curs_08.doc Partea a II-a. Proiectarea bazelor de date Capitolul 6. Tehnici de proiectare şi modele În capitolele precedente s-au analizat modele de baze de date şi limbaje, presupunând în cele mai multe cazuri că

Mai mult

Microsoft Word - Matematika_kozep_irasbeli_javitasi_0911_roman.doc

Microsoft Word - Matematika_kozep_irasbeli_javitasi_0911_roman.doc Matematika román nyelven középszint 0911 ÉRETTSÉGI VIZSGA 011. május. MATEMATIKA ROMÁN NYELVEN KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM Indicaţii

Mai mult

2.1.Tipul tablou unidimensional

2.1.Tipul tablou unidimensional 7. Grafuri 7.1. Grafuri neorientate - Teste grilă 1. V_88_I_5. Care este numărul minim de noduri pe care îl poate conţine un graf neorientat cu 50 de muchii, şi în care 15 noduri sunt izolate? a. 25 b.

Mai mult

Concurs online de informatică Categoria PROGRAMARE Secţiunea 5-6 avansaţi PROBLEMA puncte DANS De 1 Iunie - Ziua Copilului se organizează un spe

Concurs online de informatică Categoria PROGRAMARE Secţiunea 5-6 avansaţi PROBLEMA puncte DANS De 1 Iunie - Ziua Copilului se organizează un spe PROBLEMA 1 DANS De 1 Iunie - Ziua Copilului se organizează un spectacol de dans cu şi pentru copii. Acesta este programat să se desfăşoare în intervalul orar 10.30-12.00. În spectacol se înscriu n trupe

Mai mult

D.Rusu, Teoria măsurii şi integrala Lebesgue 6 MĂSURA LEBESGUE Cursul 5 Teorema 6.26 Există submulţimi ale lui R care nu sunt măsurabile Lebesgue. Dem

D.Rusu, Teoria măsurii şi integrala Lebesgue 6 MĂSURA LEBESGUE Cursul 5 Teorema 6.26 Există submulţimi ale lui R care nu sunt măsurabile Lebesgue. Dem D.Rusu, Teoria măsurii şi integrala Lebesgue 6 MĂSURA LEBESGUE Cursul 5 Teorema 6.26 Există submulţimi ale lui R care nu sunt măsurabile Lebesgue. Demonstraţie. Fie mulţimea A = [0, ], pe care definim

Mai mult

Retele Petri si Aplicatii

Retele Petri si Aplicatii Reţele Petri şi Aplicaţii Curs 3 RPA (2019) Curs 3 1 / 48 Conţinutul cursului 1 Arbori de acoperire 2 Probleme de decizie în reţele Petri 3 Invarianţi tranziţie RPA (2019) Curs 3 2 / 48 Arbori de acoperire

Mai mult

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011 Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011 I. NOŢIUNI TEORETICE A. Instrucţiuni condiţionale 1. Intrucţiunea

Mai mult

Microsoft Word - CarteC.doc

Microsoft Word - CarteC.doc Introducere în limbajul de programare C - C este un limbaj de programare ale cărui caracteristici sunt economia de expresie, structuri moderne de control al fluxului şi de date, precum şi un set bogat

Mai mult

Probleme rezolvate informatica: Probleme rezolvate grafuri si a

Probleme rezolvate informatica: Probleme rezolvate grafuri si a Mai multe Creați blog Autentificare LUNI, 11 MARTIE 2013 Probleme rezolvate grafuri si arbori Probleme rezolvate de catre : Ginghina Cristian Onica Viorel Neculai Alexandru Anton Cosmin INFORMATICA Teorie

Mai mult

Probleme date la examenul de logică matematică şi computaţională. Partea a II-a Claudia MUREŞAN Universitatea din Bucureşti Facultatea de Matematică ş

Probleme date la examenul de logică matematică şi computaţională. Partea a II-a Claudia MUREŞAN Universitatea din Bucureşti Facultatea de Matematică ş Probleme date la examenul de logică matematică şi computaţională. Partea a II-a Claudia MUREŞAN Universitatea din Bucureşti Facultatea de Matematică şi Informatică Academiei 4, RO 0004, Bucureşti, România

Mai mult

1. a. Să se scrie un algoritm care să afişeze toate numerele de patru cifre care au cifra sutelor egală cu o valoare dată k, şi cifra zecilor cu 2 mai

1. a. Să se scrie un algoritm care să afişeze toate numerele de patru cifre care au cifra sutelor egală cu o valoare dată k, şi cifra zecilor cu 2 mai 1. a. Să se scrie un algoritm care să afişeze toate numerele de patru cifre care au cifra sutelor egală cu o valoare dată k, şi cifra zecilor cu 2 mai mare decât cifra sutelor. b. Se consideră algoritmul

Mai mult

CONCURSUL NAŢIONAL DE MATEMATICA PANAITOPOL EDIŢIA a X-a, TULCEA, 21 aprilie 2018 Clasa a VII - a 1. Se consideră numerele reale x, y şi z, cel puţin

CONCURSUL NAŢIONAL DE MATEMATICA PANAITOPOL EDIŢIA a X-a, TULCEA, 21 aprilie 2018 Clasa a VII - a 1. Se consideră numerele reale x, y şi z, cel puţin CONCURSUL NAŢIONAL DE MATEMATICA PANAITOPOL EDIŢIA a X-a, TULCEA, 21 aprilie 2018 Clasa a VII - a 1. Se consideră numerele reale x, y şi z, cel puţin două dintre ele fiind diferite. Arătaţi că x y z 0

Mai mult

Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici O

Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici O Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici Operatii pe biti Operatorul conditional Operatori Logici

Mai mult

BAC 2007 Pro Didactica Programa M1 2 Rezolvarea variantei 36 versiune finală Redactia Pro Didactica Suportul pe net:

BAC 2007 Pro Didactica Programa M1 2 Rezolvarea variantei 36 versiune finală Redactia Pro Didactica Suportul pe net: BAC 27 Pro Didactica Programa M1 2 Rezolvarea variantei 36 versiune finală Redactia Pro Didactica Suportul pe net: http://www./ CAPITOLUL 1 Varianta 36 1. Subiectul I. (a) Avem 2 ( ) 2+ ( ) 2= 7i = 2 7

Mai mult

Subiecte_funar_2006.doc

Subiecte_funar_2006.doc Clasa a VIII-a A. 1. Exista numere n Z astfel încât n si n+ sa fie patrate perfecte? (Gheorghe Stoica) A. 2. Se considera A N o multime cu 7 elemente si k N*. Aratati ca ecuatia 4x 2 4ax+b 2 +10k = 0,

Mai mult

Microsoft Word - 2 ES RO.doc

Microsoft Word - 2 ES RO.doc 2 MULTITASKING 2.1. Preliminarii Este deja foarte bine cunoscut faptul că o programare eficientă în domeniul sistemelor în timp real, în mod evident, vizând aici sistemele în timp real încorporate, este

Mai mult

RecMat dvi

RecMat dvi Conice şi cubice în probleme elementare de loc geometric Ştefan DOMINTE 1 Abstract. In this Note, a number of simple problems are presented to support the idea that conic and cubic curves can frequently

Mai mult

C:/Users/Lenovo/Dropbox/activitate matematica/cursuri/MS ETTI /msetti.dvi

C:/Users/Lenovo/Dropbox/activitate matematica/cursuri/MS ETTI /msetti.dvi Curs 1 Noţiuni de teoria câmpului 1.1 Vectori şi operaţii cu vectori 1.1.1 Scalari şi vectori Definiţie 1.1. Un număr real λ R se va numi scalar. O pereche de numere reale (a 1,a ) R se va numi vector

Mai mult

TEORIA MĂSURII Liviu C. Florescu Universitatea Al.I.Cuza, Facultatea de Matematică, Bd. Carol I, 11, R Iaşi, ROMANIA, e mail:

TEORIA MĂSURII Liviu C. Florescu Universitatea Al.I.Cuza, Facultatea de Matematică, Bd. Carol I, 11, R Iaşi, ROMANIA, e mail: TEORI MĂSURII Liviu C. Florescu Universitatea l.i.cuza, Facultatea de Matematică, Bd. Carol I, 11, R 700506 Iaşi, ROMNI, e mail: lflo@uaic.ro În mod intenţionat această pagină este lăsată albă! Cuprins

Mai mult

Microsoft Word - Algoritmi genetici.docx

Microsoft Word - Algoritmi genetici.docx 1.1 Generalităţi Algoritmii genetici fac parte din categoria algoritmilor de calcul evoluționist și sunt inspirați de teoria lui Darwin asupra evoluției. Idea calculului evoluționist a fost introdusă în

Mai mult

Microsoft Word - Mihailesc Dan_Test logica (1).doc

Microsoft Word - Mihailesc Dan_Test logica (1).doc Variantă subiecte bacalaureat 2018 Proba E. d) Logică, argumentare şi comunicare Conform modelului publicat Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu. Timpul de lucru efectiv este

Mai mult

Cursul 6 Cadru topologic pentru R n În continuarea precedentei părţi, din cursul 5, dedicată, în întregime, unor aspecte de ordin algebric (relative l

Cursul 6 Cadru topologic pentru R n În continuarea precedentei părţi, din cursul 5, dedicată, în întregime, unor aspecte de ordin algebric (relative l Cursul 6 Cadru topologic pentru R n În continuarea precedentei părţi, din cursul 5, dedicată, în întregime, unor aspecte de ordin algebric (relative la R n, în principal), sunt prezentate aici elemente

Mai mult

Curs 3 Permutari cu repetitie. Combinari. Algoritmi de ordonare si generare

Curs 3  Permutari cu repetitie. Combinari.  Algoritmi de ordonare si generare Curs 3 Permutări cu repetiţie. Combinări. Algoritmi de ordonare şi generare Octombrie 2015 Cuprins Algoritmi de ordonare şi generare pentru permutări cu repetiţie Reprezentarea binară a submulţimilor Algoritmi

Mai mult

B

B F.I.A. Laboratorul numărul 3 Cătălin Stoean Unificarea şi recursivitatea Unificarea Unificarea reprezintă modul în care Prologul realizează potrivirile între termeni. La prima vedere, procesul de unificare

Mai mult

Microsoft Word - CarteC.doc

Microsoft Word - CarteC.doc Transmiterea parametrilor unei funcții Parametrii se transmit de la funcţia apelantă la funcţia apelată prin intermediul stivei. La apelul unei funcţii, pe stivă se crează o înregistrare de activare, care

Mai mult

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A 1. Operatii cu matrici 1 Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A+B (adunare), aa (inmultire cu scalar), A-B scadere), AT (Transpusa),

Mai mult

Modelarea si Simularea Sistemelor de Calcul

Modelarea si Simularea Sistemelor de Calcul Modelarea şi Simularea Sistemelor de Calcul Generarea de numere aleatoare ( lab. 5) Numim variabilă aleatoare acea funcţie X : (Ω, δ, P) R, care în cazul mai multor experimente efectuate în condiţii identice

Mai mult

2

2 C5: Metoda matricilor de transfer BIBLIOGRAFIE E. Tulcan Paulescu, M. Paulescu Algorithms for electronic states in artificial semiconductors of use in intermediate band solar cells engineering. In Physics

Mai mult

Cursul 7 Formula integrală a lui Cauchy Am demonstrat în cursul precedent că, dacă D C un domeniu simplu conex şi f : D C o funcţie olomorfă cu f cont

Cursul 7 Formula integrală a lui Cauchy Am demonstrat în cursul precedent că, dacă D C un domeniu simplu conex şi f : D C o funcţie olomorfă cu f cont Cursul 7 Formula integrală a lui Cauchy Am demonstrat în cursul precedent că, dacă D C un domeniu simplu conex şi f : D C o funcţie olomorfă cu f continuă pe D, atunci, pe orice curbă rectificabilă şi

Mai mult

Prelegerea 4 În această prelegere vom învăţa despre: Algebre booleene; Funcţii booleene; Mintermi şi cuburi n - dimensionale. 4.1 Definirea algebrelor

Prelegerea 4 În această prelegere vom învăţa despre: Algebre booleene; Funcţii booleene; Mintermi şi cuburi n - dimensionale. 4.1 Definirea algebrelor Prelegerea 4 În această prelegere vom învăţa despre: Algebre booleene; Funcţii booleene; Mintermi şi cuburi n - dimensionale. 4.1 Definirea algebrelor booleene Definiţia 4.1 Se numeşte algebră Boole (booleană)

Mai mult

Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursu

Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursu Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursul precedent am prezentat modelul de spaţiu vectorial

Mai mult

Communicate at your best - Manual - Cap 3 - RO

Communicate at your best - Manual - Cap 3 - RO 1. Principii de bază Ce trebuie să luăm în considerare atunci când comunicăm la birou? Comunicarea la birou nu este nici complicată, nici foarte simplă. Fiecare dintre noi are competențe de bază în interacțiunea

Mai mult

ETTI-AM2, , M. Joița & A. Niță Notițe de Adrian Manea Seminar 11 Transformarea Laplace Aplicații Transformarea Z Ecuații și sisteme diferenți

ETTI-AM2, , M. Joița & A. Niță Notițe de Adrian Manea Seminar 11 Transformarea Laplace Aplicații Transformarea Z Ecuații și sisteme diferenți Seminar Transformarea Laplace Aplicații Transformarea Z Ecuații și sisteme diferențiale Folosind transformata Laplace, putem reolva ecuații și sisteme diferențiale. Cu ajutorul proprietăților transformatei

Mai mult

Probleme proiect TP BITPERM Implementați un algoritm care citește de la intrarea standard două numere naturale și scrie la ieșirea standard da

Probleme proiect TP BITPERM Implementați un algoritm care citește de la intrarea standard două numere naturale și scrie la ieșirea standard da Probleme proiect TP 2016 1. BITPERM Implementați un algoritm care citește de la intrarea standard două numere naturale și scrie la ieșirea standard dacă reprezentarea binară a unuia dintre numere poate

Mai mult

Microsoft Word - Programa finala olimpiadei matematica 2007 gimnaziu.doc

Microsoft Word - Programa finala olimpiadei matematica 2007 gimnaziu.doc ROMÂNIA MINISTERUL EDUCAŢIEI ŞI CERCETĂRII DIRECŢIA GENERALĂ ÎNVĂŢĂMÂNT PREUNIVERSITAR SERVICIUL NAŢIONAL DE EVALUARE ŞI EXAMINARE PROGRAMA OLIMPIADEI DE MATEMATICĂ CLASELE V XII AN ŞCOLAR 006 / 007 Pentru

Mai mult

Slide 1

Slide 1 STRUCTURI DE DATE Arbori B Sisteme de Gestiune a Bazelor de Date Relaţionale (SGBDR): operatie importanta regasirea rapida a datelor indecsi. Indexul: colecţie de perechi

Mai mult

Microsoft Word - Curs_10.doc

Microsoft Word - Curs_10.doc Capitolul 8. Proiectarea logică Scop - construirea unei scheme logice ce reprezintă corect şi eficient toate informaţiile descrise într-o schemă entitate-relaţie Etape: Restructurarea schemei E-R fază

Mai mult

Ministerul Educatiei, Cercetarii si Tineretului Grup Scolar Gh. Asachi Galati Proiect pentru obtinerea certificatului de competente profesionale Speci

Ministerul Educatiei, Cercetarii si Tineretului Grup Scolar Gh. Asachi Galati Proiect pentru obtinerea certificatului de competente profesionale Speci Ministerul Educatiei, Cercetarii si Tineretului Grup Scolar Gh. Asachi Galati Proiect pentru obtinerea certificatului de competente profesionale Specializare : matematica-informatica 2006-2007 Tema proiectului:

Mai mult

Coordonate baricentrice Considerăm în plan un triunghi ABC şi un punct Q în interiorul său, fixat arbitrar. Notăm σ c = aria ( QAB) σ a = aria ( QBC),

Coordonate baricentrice Considerăm în plan un triunghi ABC şi un punct Q în interiorul său, fixat arbitrar. Notăm σ c = aria ( QAB) σ a = aria ( QBC), Coordonate baricentrice Considerăm în plan un triunghi ABC şi un punct Q în interiorul său, fixat arbitrar Notăm σ c = aria ( QAB) = aria ( QBC), = aria ( QCA) şi σ = aria ( ABC), astfel încât σ = + +

Mai mult

CONCURSUL DE MATEMATICĂ APLICATĂ "ADOLF HAIMOVICI" ETAPA JUDEȚEANĂ 18 martie 2017 Filiera Tehnologică : profilul Tehnic Clasa a IX -a Problema 1. 2 Se

CONCURSUL DE MATEMATICĂ APLICATĂ ADOLF HAIMOVICI ETAPA JUDEȚEANĂ 18 martie 2017 Filiera Tehnologică : profilul Tehnic Clasa a IX -a Problema 1. 2 Se Clasa a IX -a Se consideră funcţia f : R R, f ( x) x mx 07, unde mr a) Determinaţi valoarea lui m ştiind că f( ), f() şi f () sunt termeni consecutivi ai unei progresii aritmetice b) Dacă f() f(4), să

Mai mult

Noțiuni matematice de bază

Noțiuni matematice de bază Sistem cartezian definitie. Coordonate carteziene Sistem cartezian definiţie Un sistem cartezian de coordonate (coordonatele carteziene) reprezintă un sistem de coordonate plane ce permit determinarea

Mai mult

METODE NUMERICE ÎN INGINERIE

METODE NUMERICE ÎN INGINERIE METODE NUMERICE ÎN INGINERIE REZOLVAREA NUMERICĂ A SISTEMELOR DE ECUATII LINIARE Aspecte generale (1) (2) (3) (4) (5) Unicitatea soluţiei Un sistem de ecuaţii liniare are o soluţie unică numai dacă matricea

Mai mult

Calcul Numeric

Calcul Numeric Calcul Numeric Cursul 4 2019 Anca Ignat Metode numerice de rezolvarea sistemelor liniare Fie matricea nesingulară A nn şi b n. Rezolvarea sistemului de ecuații liniare Ax=b se poate face folosind regula

Mai mult

Managementul Resurselor Umane

Managementul Resurselor Umane Universitatea Politehnica București Catedra de Calculatoare Laborator 4 Cereri SQL Autori Conf. Dr. Ing. Alexandru Boicea Ș.L. Dr. Ing. Ciprian-Octavian Truică Cuprins Cereri SQL Cereri simple 10.03.2019

Mai mult

CURBE BÉZIER În CAGD se utilizează adesea curbele polinomiale, adică acele curbe definite de o parametrizare polinomială: C : [a, b] R 3 C(t) = (x(t),

CURBE BÉZIER În CAGD se utilizează adesea curbele polinomiale, adică acele curbe definite de o parametrizare polinomială: C : [a, b] R 3 C(t) = (x(t), CURE ÉZIER În CAGD se utilizează adesea curbele polinomiale, adică acele curbe definite de o parametrizare polinomială: C : [a, b] R 3 C(t) = (x(t), y(t), z(t)) cu x, y, z polinoame de grad n. Maximul

Mai mult

O teoremă de reprezentare (II) Marian TETIVA 1 Abstract. In this paper some (in general well-known) results on complete sequences are exposed, with ap

O teoremă de reprezentare (II) Marian TETIVA 1 Abstract. In this paper some (in general well-known) results on complete sequences are exposed, with ap O teoremă de reprezentare (II) Marian TETIVA 1 Abstract. In this paper some (in general well-known) results on complete sequences are exposed, with applications to Erdős-Suranyi sequences. We start from

Mai mult

MergedFile

MergedFile PROIECT DIDACTIC Clasa a V-a Informatică și T.I.C. Proiect didactic realizat de Anișoara Apostu, profesor Digitaliada, revizuit de Radu Tăbîrcă, inspector școlar Informatică Textul și ilustrațiile din

Mai mult

Microsoft Word - a5+s1-5.doc

Microsoft Word - a5+s1-5.doc Unitatea şcolară: Şcoala cu cls. I-VIII Sf. Vineri Profesor: Gh. CRACIUN Disciplina: Matematică Clasa a V-a / 4 ore pe săpt./ Anul şcolar 007-008 PROIECTAREA DIDACTICĂ ANUALĂ Număr săptămâni: 35 Număr

Mai mult

Cuantizare Vectoriala.doc

Cuantizare Vectoriala.doc 4. Metoda de quadro în compresie fractala optimizata rata-distorsiune În cele ce urmeaza descriem o metoda de quadro bazata pe optimizarea criteriului ratadistorsiune în compresia fractala a imaginilor.

Mai mult