Compilatoare. Generarea codului obiect
|
|
- Σωφρονία Μέλιοι
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Compilatoare Generarea codului obiect
2 Generarea codului intermediar Cod intermediar vs. cod obiect Reduce diferenta semantica cod sursa cod obiect Acelasi compilator pe mai multe procesoare Acelasi compilator pentru mai multe limbaje Unele optimizari se fac mai simplu pe limbaj intermediar Se pot utiliza arbori sau limbaj pentru masina virtuala Cel mai frecvent folosit quadruples, three-address code - max. 3 operanzi/instructiune id1:= id2 op id3 id1:= op id2 id1:= val id1:= &id2 id1:= * id2 * id1:= id2 id1:= id2[id3] goto id if id1 oprel id2 goto id3 { op este un operator binar aritmetic sau logic} { op este un operator unar aritmetic sau logic} { val este un scalar sau o constanta } { adresa unui obiect in memorie } { citire din memorie via pointer } { scriere din memorie via pointer } { id2 adresa unui array, id2 index in array } { oprel este un operator relational }
3 Nivelul codului intermediar HIR mentine structura limbajului MIR tinde sa fie independent de limbaj si masina LIR e dependent de masina
4 Mai mult de 3 operanzi Pentru apelul de subprograme se utilizează o secvenţă de instrucţiuni de forma: param id.1 param id.2... param id.n call id, n Expresiile cu mai mult de 3 operanzi se despart in expresii elementare
5 Evaluarea de expresii Expresiile cu mai mult de 3 operanzi se despart in expresii elementare d=b 2-4ac Pe masinile load-store creeaza un nou temporar pentru fiecare rezultat intermediar Se presupune deocamdata ca exista un numar infinit de registri Se poate lucra cu un numar finit prin tehnici simple de alocare, dar e mai bine sa lasam un pas special de optimizare sa se ocupe de asta Index: nr. instructiunii care a produs valoarea Generarea se face printr-o traversare a arborelui sintactic = d - b * b * * 4 a c t1:= b * b t2:= 4 * a t3:= t2 * c t4:= t1 t2 d := t4
6 Expresii pe masinile cu stiva Instructiuni cu 0 adrese: push, pop, aritmetice; operatiile binare scot doua valori de pe stiva, pun la loc una Pe masinile cu stiva: Pt a evalua o variabila incarca valoarea Pt a evalua o constanta push valoarea Pt a evalua o expresie Evalueaza stanga Evalueaza dreapta Aplica operatorul = d - b * b Load b Dupl Mult Load a Push 4 Mult Load c Mult Sub Store d * * 4 a c
7 Tipuri simple Integer atentie la cross-compiling Caractere tipuri de codificari; Unicode Floating point Reprezentare standard (IEEE 754) Valori speciale: ±0, ±inf, NotANumber Overflow, dar si underflow Care este cel mai mic numar pozitiv reprezentabil? Numere denormalizate Rotunjire, trunchiere, si aritmetica pe intervale
8 Tipuri compuse A:array(L1..L1+M-1, L2..L2+N-1) of integer; A[i,j] e de fapt tmp=(i-l1)*n+j-l2; A[tmp] Se poate tine A-L1*N-L2 in symbol table, accesam direct in functie de i si j Atribuirea devine de fapt o bucla dubla / memcpy char a[2][3] char *a[2] a a a[1][1] a[1][1]
9 Aliniere, padding A:record (structuri) se aloca memorie secvential pentru campurile structurii; de obicei, se aliniaza; nu ne putem baza pe layout c1 i c2 struct { char c1; int i; char c2}; Bit fields c1 c2 i1 i2 struct { char c1:6; char c2:6; short i1:6; short i2:6;};
10 Generarea de cod pentru atribuire Genereaza adresa partii stangi Variabila (tip scalar? poate fi tinuta in registru) Membru (expresie cu. ) Adresa structurii + offsetul in cadrul structurii. Element (expresie cu [] ) Adresa array + valoare index * dimensiune element. Genereaza valoarea partii drepte Atribuie (*addr)=val Se presupune ca am transformat deja casturile implicite in casturi explicite
11 Generarea de cod pentru if if cond then then_statements else else_statements; end if; t1 = cond if not t1 goto else_label {quadruples for then_statements} goto endif_label else_label: {quadruples for else_statements} endif_label: Genereaza etichete Genereaza instructiuni pentru nodurile fii Plaseaza etichete in cod (poate avea nevoie de etichete si pt then -> cand?) Daca avem elif, e practic else if ; eticheta de endif poate fi mostenita de la parinte
12 Evaluarea booleana partiala Se trateaza expresiile booleene ca instructiuni de tip if then else If(B1 B2) S1 else S2 => if(b1) goto S1 else if (B2) S1 else S2; If(B1&&B2) S1 else S2 => if(b1) then if(b2) then S1 else goto S2 else S2; Practic, se mostenesc etichetele de then si else de la if-ul parinte
13 Generarea de cod pt. while while (cond) { start_loop: if (!cond) goto end_loop s1; quadruples for s1 if (cond2) break; if (cond2) goto end_loop s2; quadruples for s2 if (cond3) continue; if (cond3) goto start_loop s3; quadruples for s3 }; goto start_loop end_loop: Genereaza doua etichete: start_loop, end_loop Restul codului ca mai sus
14 Alte tipuri de bucle Bucle numerice Semantica: bucla nu se executa daca intervalul variabilei e vid deci testul se executa initial E de fapt o bucla while: For J in expr1..expr2 -> J=expr1; while(j<=expr2){ ;J++;} Trebuie avut grija la continue J++ se executa in acest caz! Bucle repeat until Sunt bucle while, dar se copiaza o data corpul buclei inaintea ei
15 Plasarea testului la sfarsit K in expr1.. Expr2 loop t1 = expr1 t2 = expr2 K = t1-1 goto test_label start_label: S1; quadruples for S1 end loop; test_label: K = K + 1 if K <= t2 goto start_label end_label: Generarea de bucle hardware Procesoare cu o instructiune de loop Se detecteaza secventa de mai sus in codul intermediar
16 Generarea de cod pentru switch Daca intervalul e mic si majoritatea cazurilor sunt definite, se poate creea tabela de salt ca vector de etichete case x is when up: y := 0; when down : y := 1; end case; table label1, label2 jumpi table+x label1: y = 0 goto end_case label2: y = 1 goto end_case end_case: Altfel, se foloseste o serie de if-uri
17 Operatii complexe Ridicarea la putere cazurile simple pot fi tratate eficient x 2 = x*x; x 4 =x 2 *x 2 (strength reduction) Cazurile complicate apel de functii de biblioteca Tipurile care nu sunt suportate nativ tot prin functii de biblioteca Intrinsici operatii complexe la nivel inalt, simple la nivelul codului obiect DSP (mac), bitscan, instr. vectoriale
18 Generatoare de generatoare de cod Setul de instructiuni asamblare poate fi reprezentat ca un set de reguli de rescriere a arborelui sintactic Sablon, nod nou, cost, actiune replacement <- template (cost) = {action} Codul asamblare e generat in procesul de reducere al arborelui la un singur nod Alg. care cauta acoperirea de cost minim generator de generator de cod. Setul de reguli ( gramatica ) = schema de traducere a arborelui
19 Exemplu: reguli Regula Instructiune Cost reg r1 const c mov r1, c 2 reg r1 read (a) mov r1, a 2 λ write a := (reg r1) mov a, r1 2+r1 λ write (reg r1) := (reg r2) mov [r1], r2 1+r1+r 2 reg r1 read (reg r2) mov r1, [r2] 1+r2 reg r1 read ((const c) + (reg r2)) mov r1,c[r2] 2+r2 reg r1 (reg r1) + (read ((const c) + (reg r2))) add r1,c[r2] 2+r1+r 2 reg r1 (reg r1) + (reg r2) add r1, r2 1+r1+r 2 reg r1 (const 1) + (reg r1) inc r1 1+r1
20 Reguli, rescriere arbore
21 Exemplu arbore a[i] = b + 1 write a, i > pe stiva (fp + offset) b -> in.data + + const 1 read b + read const off_a fp + const off_i fp
22 Cum se face generarea de cod Intr-un prim pas, se acopera arborele cu sabloane, a.i. sa se obtina un cost minim In al doilea pas, se executa codul asociat cu sabloanele care va produce programul in limbaj de asamblare. Descrierea e similara cu gramaticile pt. parsare dar algoritmul e fundamental diferit!
23 Generare de cod Arbore Regula Instructiuni Cost const off_a reg r1 const off_a mov r1, off_a 2 const off_a + fp reg r1 (reg r1) + (reg fp) mov r1, off_a add r1, fp 3 read + reg r2 read (reg r1) mov r1, off_i add r1, fp mov r2, [r1] 4 const off_i fp reg r2 read ((const off_i) + (reg fp)) mov r2, off_i[fp] 2
24 Generare de cod Arbore Regula Instructiuni Cost + + const off_a fp read + const off_i fp reg r1 (reg r1) + (read ((const c) + (reg r2))) reg r1 (reg r1) + (reg r2) mov r1, off_a add r1, fp add r1, off_i[fp] mov r1, off_a add r1, fp mov r2, off_i[fp] add r1,r reg r3 (reg r3) + (reg r4) mov r3, 1 mov r4, b add r3, r4 5 const 1 read b reg r3 (const 1) + (reg r3) mov r3,b inc r3 3
25 Generare de cod Arbore Instructiuni Cost write + + const 1 + read const off_a fp + read b mov r1, off_a add r1, fp add r1, off_i[fp] mov r3,b inc r3 mov[r1],r3 9 const off_i fp
26 Algoritmul de generare de cod Acoperirea optima e formata din acoperirea optima a fiilor + costul aplicarii unui sablon Principiul optimalitatii programare dinamica Cautati iburg, lburg
27 Memoria la runtime Variabilele locale, parametrii in cadrul de stiva local Variabilele globale, statice in memorie (alocate static) Alocarea dinamica (new, malloc) in heap
28 Cadrul de stiva Stack Pointer Frame Pointer Cand este nevoie de fp? Conventii de apel Parametri Valori intoarse Caller / Callee saved Cine curăţă stiva?
29 Legatura statica procedure f var x:integer; begin h; end; procedure g; begin read(x); end; procedure h; begin g; end;
30 Apelarea procedurilor 1. Asamblarea argumentelor ce trebuie transferate procedurii si pasarea controlului. Fiecare argument este evaluat si pus in registrul sau locatia de pe stiva corespunzatoare. Cum se trimit structuri prin valoare? Se salveaza in memorie registrii caller saved folositi. Daca este necesar, se calculeaza legatura statica a procedurii apelate Se salveaza adresa de intoarcere si se executa un salt la adresa codului procedurii (de obicei o instructiune call face aceste lucruri)
31 Apelarea procedurilor 2. Prologul procedurii este executat la intrarea in procedura. Creaza cadrul de stiva si stabileste mediul necesar adresarii. Se salveaza vechiul fp, vechiul sp devine noul fp, si se calculeaza noul sp Se salveaza in memorie registrii callee saved folositi. 3. Se executa procedura, care la randul ei poate apela alte proceduri Proceduri frunza nu mai apeleaza alte proceduri. Optimizari?
32 Apelarea procedurilor 4. Epilogul procedurii este executat la iesirea din procedura. Restaureaza mediul de adresare si reda controlul apelantului. Valoarea care trebuie intoarsa se pune in locul corespunzator (daca procedura intoarce o valoare) Intoarcerea structurilor pointer la struct! Registrii salvati de procedura apelata sunt restaurati din memorie Se restaureaza vechiul sp si vechiul fp Se incarca adresa de revenire si se executa un salt la aceasta adresa (de obicei, o instructiune ret face acest lucru)
33 Apelarea procedurilor 5. Codul din procedura apelanta termina restaurarea mediului său şi continuă execuţia: Registrii salvati de catre procedura apelanta sunt restaurati din memorie Se foloseste valoarea intoarsa de procedura apelata
34 Politici de apel Prin valoare Prin referinta Prin rezultat Prin valoare-rezultat Prin nume
Compilatoare. Generarea codului obiect
Compilatoare Generarea codului obiect Computer architecture A computer architecture is a contract between the class of programs that are written for the architecture and the set of processor implementations
Metode iterative pentru probleme neliniare - contractii
Metode iterative pentru probleme neliniare - contractii Problemele neliniare sunt in general rezolvate prin metode iterative si analiza convergentei acestor metode este o problema importanta. 1 Contractii
Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.
Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie p, q N. Fie funcţia f : D R p R q. Avem următoarele
4. CIRCUITE LOGICE ELEMENTRE 4.. CIRCUITE LOGICE CU COMPONENTE DISCRETE 4.. PORŢI LOGICE ELEMENTRE CU COMPONENTE PSIVE Componente electronice pasive sunt componente care nu au capacitatea de a amplifica
5.4. MULTIPLEXOARE A 0 A 1 A 2
5.4. MULTIPLEXOARE Multiplexoarele (MUX) sunt circuite logice combinaţionale cu m intrări şi o singură ieşire, care permit transferul datelor de la una din intrări spre ieşirea unică. Selecţia intrării
Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor
Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor. Fiind date doua multimi si spunem ca am definit o functie (aplicatie) pe cu valori in daca fiecarui element
Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1
Functii definitie proprietati grafic functii elementare A. Definitii proprietatile functiilor. Fiind date doua multimi X si Y spunem ca am definit o functie (aplicatie) pe X cu valori in Y daca fiecarui
Curs 4 Serii de numere reale
Curs 4 Serii de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Criteriul rădăcinii sau Criteriul lui Cauchy Teoremă (Criteriul rădăcinii) Fie x n o serie cu termeni
(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.
Definiţie Spunem că: i) funcţia f are derivată parţială în punctul a în raport cu variabila i dacă funcţia de o variabilă ( ) are derivată în punctul a în sens obişnuit (ca funcţie reală de o variabilă
Limbaje de Programare Curs 3 Iteraţia. Reprezentare internă. Operatori pe biţi
Limbaje de Programare Curs 3 Iteraţia. Reprezentare internă. Operatori pe biţi Dr. Casandra Holotescu Universitatea Politehnica Timişoara Ce discutăm azi... 1 Iteraţia 2 Reprezentare internă 3 Operaţii
5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.
5 Eerciţii reolvate 5 UNCŢII IMPLICITE EXTREME CONDIŢIONATE Eerciţiul 5 Să se determine şi dacă () este o funcţie definită implicit de ecuaţia ( + ) ( + ) + Soluţie ie ( ) ( + ) ( + ) + ( )R Evident este
Teme de implementare in Matlab pentru Laboratorul de Metode Numerice
Teme de implementare in Matlab pentru Laboratorul de Metode Numerice As. Ruxandra Barbulescu Septembrie 2017 Orice nelamurire asupra enunturilor/implementarilor se rezolva in cadrul laboratorului de MN,
riptografie şi Securitate
riptografie şi Securitate - Prelegerea 12 - Scheme de criptare CCA sigure Adela Georgescu, Ruxandra F. Olimid Facultatea de Matematică şi Informatică Universitatea din Bucureşti Cuprins 1. Schemă de criptare
Metode de interpolare bazate pe diferenţe divizate
Metode de interpolare bazate pe diferenţe divizate Radu Trîmbiţaş 4 octombrie 2005 1 Forma Newton a polinomului de interpolare Lagrange Algoritmul nostru se bazează pe forma Newton a polinomului de interpolare
Integrala nedefinită (primitive)
nedefinita nedefinită (primitive) nedefinita 2 nedefinita februarie 20 nedefinita.tabelul primitivelor Definiţia Fie f : J R, J R un interval. Funcţia F : J R se numeşte primitivă sau antiderivată a funcţiei
MARCAREA REZISTOARELOR
1.2. MARCAREA REZISTOARELOR 1.2.1 MARCARE DIRECTĂ PRIN COD ALFANUMERIC. Acest cod este format din una sau mai multe cifre şi o literă. Litera poate fi plasată după grupul de cifre (situaţie în care valoarea
a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea
Serii Laurent Definitie. Se numeste serie Laurent o serie de forma Seria n= (z z 0 ) n regulata (tayloriana) = (z z n= 0 ) + n se numeste partea principala iar seria se numeste partea Sa presupunem ca,
Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"
Curs 14 Funcţii implicite Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie F : D R 2 R o funcţie de două variabile şi fie ecuaţia F (x, y) = 0. (1) Problemă În ce condiţii ecuaţia
Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro
Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM Seminar S ANALA ÎN CUENT CONTNUU A SCHEMELO ELECTONCE S. ntroducere Pentru a analiza în curent continuu o schemă electronică,
III. Reprezentarea informaţiei în sistemele de calcul
Metode Numerice Curs 3 III. Reprezentarea informaţiei în sistemele de calcul III.1. Reprezentarea internă a numerelor întregi III. 1.1. Reprezentarea internă a numerelor întregi fără semn (pozitive) Reprezentarea
Subiecte Clasa a VII-a
lasa a VII Lumina Math Intrebari Subiecte lasa a VII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate
a. 11 % b. 12 % c. 13 % d. 14 %
1. Un motor termic funcţionează după ciclul termodinamic reprezentat în sistemul de coordonate V-T în figura alăturată. Motorul termic utilizează ca substanţă de lucru un mol de gaz ideal având exponentul
Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare
1 Planul în spaţiu Ecuaţia generală Plane paralele Unghi diedru 2 Ecuaţia generală Plane paralele Unghi diedru Fie reperul R(O, i, j, k ) în spaţiu. Numim normala a unui plan, un vector perpendicular pe
5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE
5.5. A CIRCUITELOR CU TRANZISTOARE BIPOLARE PROBLEMA 1. În circuitul din figura 5.54 se cunosc valorile: μa a. Valoarea intensității curentului de colector I C. b. Valoarea tensiunii bază-emitor U BE.
V O. = v I v stabilizator
Stabilizatoare de tensiune continuă Un stabilizator de tensiune este un circuit electronic care păstrează (aproape) constantă tensiunea de ieșire la variaţia între anumite limite a tensiunii de intrare,
Aplicaţii ale principiului I al termodinamicii la gazul ideal
Aplicaţii ale principiului I al termodinamicii la gazul ideal Principiul I al termodinamicii exprimă legea conservării şi energiei dintr-o formă în alta şi se exprimă prin relaţia: ΔUQ-L, unde: ΔU-variaţia
Curs 1 Şiruri de numere reale
Bibliografie G. Chiorescu, Analiză matematică. Teorie şi probleme. Calcul diferenţial, Editura PIM, Iaşi, 2006. R. Luca-Tudorache, Analiză matematică, Editura Tehnopress, Iaşi, 2005. M. Nicolescu, N. Roşculeţ,
DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE
DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE ABSTRACT. Materialul prezintă o modalitate de a afla distanţa dintre două drepte necoplanare folosind volumul tetraedrului. Lecţia se adresează clasei a VIII-a Data:
V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile
Metode de Optimizare Curs V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile Propoziţie 7. (Fritz-John). Fie X o submulţime deschisă a lui R n, f:x R o funcţie de clasă C şi ϕ = (ϕ,ϕ
III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.
III. Serii absolut convergente. Serii semiconvergente. Definiţie. O serie a n se numeşte: i) absolut convergentă dacă seria modulelor a n este convergentă; ii) semiconvergentă dacă este convergentă iar
Valori limită privind SO2, NOx şi emisiile de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili
Anexa 2.6.2-1 SO2, NOx şi de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili de bioxid de sulf combustibil solid (mg/nm 3 ), conţinut de O 2 de 6% în gazele de ardere, pentru
Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca
Conice Lect. dr. Constantin-Cosmin Todea U.T. Cluj-Napoca Definiţie: Se numeşte curbă algebrică plană mulţimea punctelor din plan de ecuaţie implicită de forma (C) : F (x, y) = 0 în care funcţia F este
Curs 2 Şiruri de numere reale
Curs 2 Şiruri de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Convergenţă şi mărginire Teoremă Orice şir convergent este mărginit. Demonstraţie Fie (x n ) n 0 un
Foarte formal, destinatarul ocupă o funcţie care trebuie folosită în locul numelui
- Introducere Αξιότιμε κύριε Πρόεδρε, Αξιότιμε κύριε Πρόεδρε, Foarte formal, destinatarul ocupă o funcţie care trebuie folosită în locul numelui Αγαπητέ κύριε, Αγαπητέ κύριε, Formal, destinatar de sex
Esalonul Redus pe Linii (ERL). Subspatii.
Seminarul 1 Esalonul Redus pe Linii (ERL). Subspatii. 1.1 Breviar teoretic 1.1.1 Esalonul Redus pe Linii (ERL) Definitia 1. O matrice A L R mxn este in forma de Esalon Redus pe Linii (ERL), daca indeplineste
10. STABILIZATOAE DE TENSIUNE 10.1 STABILIZATOAE DE TENSIUNE CU TANZISTOAE BIPOLAE Stabilizatorul de tensiune cu tranzistor compară în permanenţă valoare tensiunii de ieşire (stabilizate) cu tensiunea
Examen AG. Student:... Grupa:... ianuarie 2011
Problema 1. Pentru ce valori ale lui n,m N (n,m 1) graful K n,m este eulerian? Problema 2. Să se construiască o funcţie care să recunoască un graf P 3 -free. La intrare aceasta va primi un graf G = ({1,...,n},E)
Sisteme diferenţiale liniare de ordinul 1
1 Metoda eliminării 2 Cazul valorilor proprii reale Cazul valorilor proprii nereale 3 Catedra de Matematică 2011 Forma generală a unui sistem liniar Considerăm sistemul y 1 (x) = a 11y 1 (x) + a 12 y 2
R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.
5p Determinați primul termen al progresiei geometrice ( b n ) n, știind că b 5 = 48 și b 8 = 84 5p Se consideră funcția f : intersecție a graficului funcției f cu aa O R R, f ( ) = 7+ 6 Determinați distanța
Fig Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36].
Componente şi circuite pasive Fig.3.85. Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36]. Fig.3.86. Rezistenţa serie echivalentă pierderilor în funcţie
Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu
INTRODUCERE Laborator 1: ÎN ALGORITMI Întocmit de: Claudia Pârloagă Îndrumător: Asist. Drd. Gabriel Danciu I. NOŢIUNI TEORETICE A. Sortarea prin selecţie Date de intrare: un şir A, de date Date de ieşire:
ANEXA 4. OPERAŢII ARITMETICE IMPLEMENTĂRI
ANEXA 4. OPERAŢII ARITMETICE IMPLEMENTĂRI ADUNAREA ÎN BINAR: A + B Adunarea a două numere de câte N biţi va furniza un rezultat pe N+1 biţi. Figura1. Anexa4. Sumator binar complet Schema bloc a unui sumator
SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0
SERII NUMERICE Definiţia 3.1. Fie ( ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0 şirul definit prin: s n0 = 0, s n0 +1 = 0 + 0 +1, s n0 +2 = 0 + 0 +1 + 0 +2,.......................................
Asupra unei inegalităţi date la barajul OBMJ 2006
Asupra unei inegalităţi date la barajul OBMJ 006 Mircea Lascu şi Cezar Lupu La cel de-al cincilea baraj de Juniori din data de 0 mai 006 a fost dată următoarea inegalitate: Fie x, y, z trei numere reale
Criptosisteme cu cheie publică III
Criptosisteme cu cheie publică III Anul II Aprilie 2017 Problema rucsacului ( knapsack problem ) Considerăm un număr natural V > 0 şi o mulţime finită de numere naturale pozitive {v 0, v 1,..., v k 1 }.
2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER
2. Circuite logice 2.4. Decodoare. Multiplexoare Copyright Paul GASNER Definiţii Un decodor pe n bits are n intrări şi 2 n ieşiri; cele n intrări reprezintă un număr binar care determină în mod unic care
Laborator 11. Mulţimi Julia. Temă
Laborator 11 Mulţimi Julia. Temă 1. Clasa JuliaGreen. Să considerăm clasa JuliaGreen dată de exemplu la curs pentru metoda locului final şi să schimbăm numărul de iteraţii nriter = 100 în nriter = 101.
Analiza bivariata a datelor
Aaliza bivariata a datelor Aaliza bivariata a datelor! Presupue masurarea gradului de asoiere a doua variabile sub aspetul: Diretiei (aturii) Itesitatii Semifiatiei statistie Variabilele omiale Tabele
Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent
Laborator 3 Divizorul de tensiune. Divizorul de curent Obiective: o Conexiuni serie şi paralel, o Legea lui Ohm, o Divizorul de tensiune, o Divizorul de curent, o Implementarea experimentală a divizorului
III.2.2. Reprezentarea în virgulă mobilă
III... Reprezentarea în virgulă mobilă Una dintre cele mai răspândite reprezentări internă (în PC-uri) a numerelor reale este reprezentarea în virgulă mobilă. Reprezentarea în virgulă mobilă presupune
SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0
Facultatea de Hidrotehnică, Geodezie şi Ingineria Mediului Matematici Superioare, Semestrul I, Lector dr. Lucian MATICIUC SEMINAR 4 Funcţii de mai multe variabile continuare). Să se arate că funcţia z,
Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice
1 Conice pe ecuaţii reduse 2 Conice pe ecuaţii reduse Definiţie Numim conica locul geometric al punctelor din plan pentru care raportul distantelor la un punct fix F şi la o dreaptă fixă (D) este o constantă
Codificatorul SN74148 este un codificator zecimal-bcd de trei biţi (fig ). Figura Codificatorul integrat SN74148
5.2. CODIFICATOAE Codificatoarele (CD) sunt circuite logice combinaţionale cu n intrări şi m ieşiri care furnizează la ieşire un cod de m biţi atunci când numai una din cele n intrări este activă. De regulă
Instructiunea while. Forma generala: while (expresie) instructiune;
Instructiunea while while (expresie) instructiune; Modul de executie: 1) Se evalueaza expresie, daca expresie = 0 (fals) se iese din instructiunea while, altfel (expresie 0, deci adevarat) se trece la
TEMA 9: FUNCȚII DE MAI MULTE VARIABILE. Obiective:
TEMA 9: FUNCȚII DE MAI MULTE VARIABILE 77 TEMA 9: FUNCȚII DE MAI MULTE VARIABILE Obiective: Deiirea pricipalelor proprietăţi matematice ale ucţiilor de mai multe variabile Aalia ucţiilor de utilitate şi
Arhitectura Calculatoarelor. Fizică - Informatică an II. 2. Circuite logice. Copyright Paul GASNER 1
Arhitectura Calculatoarelor Fizică - Informatică an II gasner@uaic.ro 2. Circuite logice Copyright Paul GASNER 1 Funcţii booleene Porţi logice Circuite combinaţionale codoare şi decodoare Cuprins multiplexoare
Lucrarea de laborator nr. 2
Metode Numerice Lucrarea de laborator nr. I. Scopul lucrării Reprezentarea numerelor reale în calculator. Erori de rotunjire. II. III. Conţinutul lucrării. Reprezentarea numerelor reale sub formă normalizată..
1.3 Baza a unui spaţiu vectorial. Dimensiune
.3 Baza a unui spaţiu vectorial. Dimensiune Definiţia.3. Se numeşte bază a spaţiului vectorial V o familie de vectori B care îndeplineşte condiţiile de mai jos: a) B este liniar independentă; b) B este
2. Circuite logice 2.5. Sumatoare şi multiplicatoare. Copyright Paul GASNER
2. Circuite logice 2.5. Sumatoare şi multiplicatoare Copyright Paul GASNER Adunarea în sistemul binar Adunarea se poate efectua în mod identic ca la adunarea obişnuită cu cifre arabe în sistemul zecimal
Laborator 4 suport teoretic Tipuri de date utilizate în limbajul de programare C.
Laborator 4 suport teoretic Tipuri de date utilizate în limbajul de programare C. Toate valorile parametrilor unei probleme, adică datele cu care operează un program, sunt reprezentate în MO sub formă
RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,
REZISTENTA MATERIALELOR 1. Ce este modulul de rezistenţă? Exemplificaţi pentru o secţiune dreptunghiulară, respectiv dublu T. RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii
4. Măsurarea tensiunilor şi a curenţilor electrici. Voltmetre electronice analogice
4. Măsurarea tensiunilor şi a curenţilor electrici oltmetre electronice analogice oltmetre de curent continuu Ampl.c.c. x FTJ Protectie Atenuator calibrat Atenuatorul calibrat divizor rezistiv R in const.
Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor
Facultatea de Matematică Calcul Integral şi Elemente de Analiă Complexă, Semestrul I Lector dr. Lucian MATICIUC Seminariile 9 20 Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reiduurilor.
1 INTRODUCERE - ORGANIZAREA UNUI COMPILATOR ELEMENTE DE TEORIA LIMBAJELOR FORMALE... 7
Irina Athanasiu 3/1/2002 Limbaje formale şi automate 1 1 INTRODUCERE - ORGANIZAREA UNUI COMPILATOR... 2 1.1 Analiza lexicala... 4 1.2 Analiza sintactică... 4 1.3 Analiza semantică... 5 1.4 Generarea de
COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.
SUBIECTUL Editia a VI-a 6 februarie 005 CLASA a V-a Fie A = x N 005 x 007 si B = y N y 003 005 3 3 a) Specificati cel mai mic element al multimii A si cel mai mare element al multimii B. b)stabiliti care
Capitolul 4 Amplificatoare elementare
Capitolul 4 mplificatoare elementare 4.. Etaje de amplificare cu un tranzistor 4... Etajul emitor comun V CC C B B C C L L o ( // ) V gm C i rπ // B // o L // C // L B ro i B E C E 4... Etajul colector
28. SUPRADEFINIREA OPERATORILOR
28. SUPRADEFINIREA OPERATORILOR Pentru un tip clasă se poate defini un set de operatori asociaţi prin supradefinirea operatorilor existenţi, ceea ce permite realizarea de operaţii specifice cu noul tip
Integrale cu parametru
1 Integrle proprii cu prmetru 2 3 Integrle proprii cu prmetru Definiţi 1.1 Dcă f : [, b ] E R, E R este o funcţie cu propriette că pentru orice y E, funcţi de vribilă x x f (x, y) este integrbilă pe intervlul
Subiecte Clasa a VIII-a
Subiecte lasa a VIII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul
Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)).
Teoremă. (Y = f(x)). Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism Demonstraţie. f este continuă pe X: x 0 X, S Y (f(x 0 ), ε), S X (x 0, ε) aşa ca f(s X (x 0, ε)) = S Y (f(x 0 ), ε) : y
Πού μπορώ να βρω τη φόρμα για ; Unde pot găsi un formular pentru? Για να ρωτήσετε που μπορείτε να βρείτε μια φόρμα
- Γενικά Πού μπορώ να βρω τη φόρμα για ; Unde pot găsi un formular pentru? Για να ρωτήσετε που μπορείτε να βρείτε μια φόρμα Πότε εκδόθηκε το [έγγραφο] σας; Για να ρωτήσετε πότε έχει εκδοθεί ένα έγγραφο
Olimpiada Naţională de Matematică Etapa locală Clasa a IX-a M 1
Calea 13 Septembrie, r 09, Sector 5, 0507, București Tel: +40 (0)1 317 36 50 Fax: +40 (0)1 317 36 54 Olimpiada Naţioală de Matematică Etapa locală -00016 Clasa a IX-a M 1 Fie 1 abc,,, 6 şi ab c 1 Să se
Stabilizator cu diodă Zener
LABAT 3 Stabilizator cu diodă Zener Se studiază stabilizatorul parametric cu diodă Zener si apoi cel cu diodă Zener şi tranzistor. Se determină întâi tensiunea Zener a diodei şi se calculează apoi un stabilizator
Programarea Calculatoarelor
Programarea Calculatoarelor Modul 1: Rezolvarea algoritmică a problemelor Introducere în programare Algoritm Obiectele unui algoritm Date Constante Variabile Expresii Operaţii specifice unui algoritm şi
Compilatoare. Curs 4 Analiza semantica
Compilatoare Curs 4 Analiza semantica ANALIZA SEMANTICA Calculeaza toate atributele asociate nodurilor din arborele sintactic Atributele terminalilor se seteaza de obicei direct din analiza lexicala Restul
CIRCUITE LOGICE CU TB
CIRCUITE LOGICE CU T I. OIECTIVE a) Determinarea experimentală a unor funcţii logice pentru circuite din familiile RTL, DTL. b) Determinarea dependenţei caracteristicilor statice de transfer în tensiune
Profesor Blaga Mirela-Gabriela DREAPTA
DREAPTA Fie punctele A ( xa, ya ), B ( xb, yb ), C ( xc, yc ) şi D ( xd, yd ) în planul xoy. 1)Distanţa AB = (x x ) + (y y ) Ex. Fie punctele A( 1, -3) şi B( -2, 5). Calculaţi distanţa AB. AB = ( 2 1)
Curs 2 DIODE. CIRCUITE DR
Curs 2 OE. CRCUTE R E CUPRN tructură. imbol Relația curent-tensiune Regimuri de funcționare Punct static de funcționare Parametrii diodei Modelul cu cădere de tensiune constantă Analiza circuitelor cu
CARACTERISTICILE LIMBAJULUI DE PROGRAMARE
CARACTERISTICILE LIMBAJULUI DE PROGRAMARE Pentru a putea executa cu ajutorul calculatorului algoritmii descrişi în pseudocod, aceştia trebuie implementaţi într-un limbaj de programare, adică trebuie să-i
2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2
.1 Sfera Definitia 1.1 Se numeşte sferă mulţimea tuturor punctelor din spaţiu pentru care distanţa la u punct fi numit centrul sferei este egalăcuunnumăr numit raza sferei. Fie centrul sferei C (a, b,
Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite
Capitolul 4 Integrale improprii 7-8 În cadrul studiului integrabilităţii iemann a unei funcţii s-au evidenţiat douăcondiţii esenţiale:. funcţia :[ ] este definită peintervalînchis şi mărginit (interval
SEMINARUL 3. Cap. II Serii de numere reale. asociat seriei. (3n 5)(3n 2) + 1. (3n 2)(3n+1) (3n 2) (3n + 1) = a
Capitolul II: Serii de umere reale. Lect. dr. Lucia Maticiuc Facultatea de Hidrotehică, Geodezie şi Igieria Mediului Matematici Superioare, Semestrul I, Lector dr. Lucia MATICIUC SEMINARUL 3. Cap. II Serii
* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1
FNCȚ DE ENERGE Fie un n-port care conține numai elemente paive de circuit: rezitoare dipolare, condenatoare dipolare și bobine cuplate. Conform teoremei lui Tellegen n * = * toate toate laturile portile
Principiul Inductiei Matematice.
Principiul Inductiei Matematice. Principiul inductiei matematice constituie un mijloc important de demonstratie in matematica a propozitiilor (afirmatiilor) ce depind de argument natural. Metoda inductiei
MULTIMEA NUMERELOR REALE
www.webmteinfo.com cu noi totul pre mi usor MULTIMEA NUMERELOR REALE office@ webmteinfo.com 1.1 Rdcin ptrt unui numr nturl ptrt perfect Ptrtul unui numr rtionl este totdeun pozitiv su zero (dic nenegtiv).
, semestrul 2. Curs 2
Paradigme de programare 2010-2011, semestrul 2 Curs 2 Cuprins Teza lui Church Calcul lambda sintaxa si semantica operationala Functii curry/uncurry Forme normale Teorema Church Rosser Strategii de evaluare
Ovidiu Gabriel Avădănei, Florin Mihai Tufescu,
vidiu Gabriel Avădănei, Florin Mihai Tufescu, Capitolul 6 Amplificatoare operaţionale 58. Să se calculeze coeficientul de amplificare în tensiune pentru amplficatorul inversor din fig.58, pentru care se
Sortare. 29 martie Utilizarea şi programarea calculatoarelor. Curs 16
Sortare 29 martie 2005 Sortare 2 Sortarea. Generalitǎţi Sortarea = aranjarea unei liste de obiecte dupǎ o relaţie de ordine datǎ (ex.: pentru numere, ordine lexicograficǎ pt. şiruri, etc.) una din clasele
Εμπορική αλληλογραφία Ηλεκτρονική Αλληλογραφία
- Εισαγωγή Stimate Domnule Preşedinte, Stimate Domnule Preşedinte, Εξαιρετικά επίσημη επιστολή, ο παραλήπτης έχει ένα ειδικό τίτλο ο οποίος πρέπει να χρησιμοποιηθεί αντί του ονόματος του Stimate Domnule,
1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB
1.7. AMLFCATOARE DE UTERE ÎN CLASA A Ş AB 1.7.1 Amplificatoare în clasa A La amplificatoarele din clasa A, forma de undă a tensiunii de ieşire este aceeaşi ca a tensiunii de intrare, deci întreg semnalul
BARAJ DE JUNIORI,,Euclid Cipru, 28 mai 2012 (barajul 3)
BARAJ DE JUNIORI,,Euclid Cipru, 8 mi 0 (brjul ) Problem Arătţi că dcă, b, c sunt numere rele cre verifică + b + c =, tunci re loc ineglitte xy + yz + zx Problem Fie şi b numere nturle nenule Dcă numărul
Ταξίδι Γενικά. Γενικά - Τα απαραίτητα. Γενικά - Συνομιλία. Παράκληση για βοήθεια. Ερώτηση σε πρόσωπο αν μιλά αγγλικά
- Τα απαραίτητα Mă puteți ajuta, vă rog? Παράκληση για βοήθεια Vorbiți în engleză? Ερώτηση σε πρόσωπο αν μιλά αγγλικά Vorbiți _(limba)_? Ερώτηση σε πρόσωπο αν μιλά ορισμένη γλώσσα Nu vorbesc _(limba)_.
Problema a II - a (10 puncte) Diferite circuite electrice
Olimpiada de Fizică - Etapa pe judeţ 15 ianuarie 211 XI Problema a II - a (1 puncte) Diferite circuite electrice A. Un elev utilizează o sursă de tensiune (1), o cutie cu rezistenţe (2), un întrerupător
6 n=1. cos 2n. 6 n=1. n=1. este CONV (fiind seria armonică pentru α = 6 > 1), rezultă
Semiar 5 Serii cu termei oarecare Probleme rezolvate Problema 5 Să se determie atura seriei cos 5 cos Soluţie 5 Şirul a 5 este cu termei oarecare Studiem absolut covergeţa seriei Petru că cos a 5 5 5 şi
Noţiuni introductive
Metode Numerice Noţiuni introductive Erori. Condiţionare numerică. Stabilitatea algoritmilor. Complexitatea algoritmilor. Metodele numerice reprezintă tehnici prin care problemele matematice sunt reformulate
2. Circuite logice 2.2. Diagrame Karnaugh. Copyright Paul GASNER 1
2. Circuite logice 2.2. Diagrame Karnaugh Copyright Paul GASNER Diagrame Karnaugh Tehnică de simplificare a unei expresii în sumă minimă de produse (minimal sum of products MSP): Există un număr minim
Universitatea din Bucureşti Facultatea de Matematică şi Informatică. Algebră (1)
Universitatea din ucureşti.7.4 Facultatea de Matematică şi Informatică oncursul de admitere iulie 4 omeniul de licenţă alculatoare şi Tehnologia Informaţiei lgebră (). Fie x,y astfel încât x+y = şi x +
CIRCUITE INTEGRATE MONOLITICE DE MICROUNDE. MMIC Monolithic Microwave Integrated Circuit
CIRCUITE INTEGRATE MONOLITICE DE MICROUNDE MMIC Monolithic Microwave Integrated Circuit CUPRINS 1. Avantajele si limitarile MMIC 2. Modelarea dispozitivelor active 3. Calculul timpului de viata al MMIC
Componente şi Circuite Electronice Pasive. Laborator 4. Măsurarea parametrilor mărimilor electrice
Laborator 4 Măsurarea parametrilor mărimilor electrice Obiective: o Semnalul sinusoidal, o Semnalul dreptunghiular, o Semnalul triunghiular, o Generarea diferitelor semnale folosind placa multifuncţională
Seminar 5 Analiza stabilității sistemelor liniare
Seminar 5 Analiza stabilității sistemelor liniare Noțiuni teoretice Criteriul Hurwitz de analiză a stabilității sistemelor liniare În cazul sistemelor liniare, stabilitatea este o condiție de localizare