4. Liste. Generalităţi. a1, a2,,an p<n ap+1 p>1 n Operaţii specifice listelor. operaţii fundamentale NULL

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "4. Liste. Generalităţi. a1, a2,,an p<n ap+1 p>1 n Operaţii specifice listelor. operaţii fundamentale NULL"

Transcript

1 4. Liste. Generalităţi. O listă liniară este o secvenţă finită de elemente: a 1, a 2,,a n (n 0), având toate acelaşi tip (lista este o colecţie omogenă de elemente). Se definesc: - n lungimea listei - a 1 primul element din listă - a n ultimul element din listă - p poziţia elementului a p Elementele listei sunt aranjate liniar, în sensul că fiecare element a p al listei (exceptând ultimul, p<n) are un succesor a p+1 şi un predecesor a p-1 (exceptând primul, p>1). Ordinea elementelor este semnificativă în listă şi un element poate apare de mai multe ori (poate avea duplicate). Numărul elementelor din listă n defineşte lungimea listei. O listă cu lungimea zero (fără elemente) este o listă vidă. Într-o listă L, de lungime n, fiecărui element x L i se asociază în mod unic o poziţie p sau iterator. Aceasta poate fi un întreg numit şi index caz în care 1 p n sau poate fi o adresă (pointer). Accesul la elementele listei se poate face pe baza poziţiei. În cazul implementării listelor prin tablouri, poziţia unui element corespunde indicelui acestuia în tablou. Dacă lista se implementează printr-o listă înlănţuită, atunci se admite înlocuirea poziţiei întregi printr-un pointer la element (adresă de nod) Operaţii specifice listelor. Asupra unei liste se pot efectua următoarele operaţii fundamentale: inserarea unui element, adică adăugarea unui element x listei L în orice poziţie (inclusiv înaintea primului element sau după ultimul element). Distingem o inserare înaintea unei poziţii şi o inserare după o poziţie, prima situaţie fiind considerată mai generală. ştergerea unui element, se poate face indicând o poziţie în listă a elementului ce urmează a fi şters sau o valoare de element, caz în care se şterge prima apariţie a valorii în listă. căutarea unui element, avînd ca rezultat poziţia din listă sau poziţia de după ultimul element (sau NULL), după cum elementul x există sau nu în listă. Pentru o listă nevidă a fost introdusă noţiunea de capul listei (head) pentru a desemna primul element din listă şi restul sau coada listei (tail) pentru ansamblul celorlalte elemente. Lista poate fi ordonată sau neordonată. În cazul unei liste ordonate, elementele listei aparţin unei mulţimi ordonabile liniar şi fiecare element respectă o regulă de precedenţă faţă de elementul următor. Pentru o listă ordonată crescător regula de precedenţă este.. Sunt posibile două modalităţi de parcurgere a unei liste: înainte începând cu primul element şi avansând spre ultimul şi înapoi se începe cu ultimul şi se avansează până la primul. Pentru traversare se utilizează un iterator, caracterizat prin: - poziţia de start (poziţia primului element la traversarea înainte, sau a ultimului element la traversarea înapoi) - poziţia de oprire (după ultimul element la traversarea înainte, sau înaintea primului element la traversarea înapoi) 1

2 - direcţia de avans (înainte către elementul următor sau înapoi către elementul precedent). Elementele listei pot fi de orice tip predefinit: int, double, char, şir de caractere sau mai general structuri definite de utilizator. În specificarea TAD se foloseşte TipElem. Pentru a folosi liste cu elemente de orice tip (liste generice) sunt posibile două soluţii: 1. definirea în fişierul de interfaţă a tipului elementelor listei. Exemplu: typedef double TipElem; Soluţia nu este flexibilă, deoarece utilizarea a două liste cu elemente de tip diferit presupune duplicarea codului. 2. un element al listei conţine nu o valoare ci o referinţă (un pointer) la o dată, care poate fi de orice tip (pointer generic void* ). Alocarea de memorie este lăsată pe seama utilizatorului (clientului), ceea ce presupune următoarele operaţii suplimentare: - la inserarea unui element în listă (cu L_Insert()), acesta trebuie să fie alocat şi referit printr-un pointer - la inspectarea unui element din listă, referit de un iterator (cu L_Get()), întrucât acesta rămâne în listă, se alocă, printr-un pointer memorie, în care se copiază elementul extras - la preluarea unui element care se şterge din listă cu L_Remove(), este necesar numai un pointer, care să se lege la informaţia extrasă. Specificarea TDA listă. Domeniile folosite de TDA sunt: TipElem, Pozitie, Lista, int. Semnăturile funcţiilor specifice TAD Listă sunt: Iniţializează o listă vidă new : Lista Şterge o listă: delete: Lista Determină lungimea unei liste: size : Lista int Test listă vidă: empty: Lista int Afişarea elementelor unei liste: print : Lista Şterge elementul dintr-o poziţie dată.răspuns valoarea elementului şters. remove : Lista Pozitie TipElem Caută asociativ o valoare în listă (răspuns poziţia primei apariţii) find : Lista TipElem Pozitie Extrage elementul dintr-o poziţie dată get : Lista Pozitie TipElem Modifică valoarea elementului dintr-o poziţie dată. modif : Lista Pozitie TipElem Lista Inserează o valoare înaintea unei poziţii date insert : Lista Pozitie TipElem Lista Poziţionare pe primul element din listă begin : Lista Pozitie Poziţionare pe ultimul element din listă rbegin : Lista Pozitie Test sfârşit de listă (poziţie după ultimul element) end : Lista Pozitie Test poziţie dinaintea primului element) rend : Lista Pozitie Poziţionare pe elementul următor din listă next : Lista Pozitie Pozitie Poziţionare pe elementul precedent din listă prev : Lista Pozitie Pozitie Traversarea înainte (respectiv înapoi) a listei poate fi reprezentată prin: 2

3 for(p=begin(l); p!=end(l); p=next(l,p) vizitare element din poziţia p; respectiv for(p=rbegin(l); p!=rend(l); p=prev(l,p) vizitare element din poziţia p; Poziţia de după ultimul elementare sens şi pentru o listă vidă. Poziţia primului element din listă nu are sens pentru o listă vidă; o vom defini totuşi pentru o listă vidă, ca poziţia după ultimul element. În mod asemănător, la o traversare înapoi a listei, poziţia de start (poziţia ultimului element), pentru o listă vidă se consideră poziţia după ultimul element traversat (poziţia dinaintea primului element). Cu aceste convenţii operaţiile rămân consistente pentru o listă vidă (ciclurile se repetă de zero ori). În cazul inserării înaintea unei poziţii realizată cu insert(l, p, x), adăugarea de elemente la sfârşitul listei se face cu: insert(l, end(l), x). În caz că lista este vidă, parametrul p nu este semnificativ, inserarea trebuind să asigure creerea unei liste cu un element. Remarcăm că inserarea înaintea unei poziţii p, în caz că lista este implementată printr-un tablou presupune modificarea lui p, deoarece toate elementele, începând cu cel din poziţia p se deplasează cu o poziţie la dreapta. Elementul inserat va ocupa vechea poziţie a lui p. Elementul înaintea căruia s-a făcut inserarea se va afla în poziţia p+1, deci poziţia lui este modificată. În cazul ştergerii unui element indicat de iteratorul p, după ştergere, iteratorul ar fi invalidat, întrucât elementul pe care l-a indicat nu mai există. Poziţia p, după ştergere va referi elementul situat după elementul şters. Aceste consideraţii ne determină, ca la implementarea funcţiilor de inserare şi de ştergere, iteratorul p să fie declarat ca un parametru variabil. Interfaţa TDA Lista. Un program care utilizează un TDA este un program multifişier. El cuprinde în mod minimal următoarele fişiere: aplicaţia, interfaţa şi implementarea. Interfaţa cuprinde: definirea tipurilor şi structurilor de date folosite de TDA declararea operaţiilor TDA, care este independentă de implementare Definirea listei, care este specifică implementării, este ascunsă în fişierul de implementare Atât aplicaţia cât şi implementarea includ interfaţa. Pentru a se evita includerea multiplă, în interfaţă se utilizează o directivă condiţională de forma: #ifndef _SIMBOL #define _SIMBOL declaraţii operaţii TAD #endif Ca exemplificare considerăm TDA Listă, implementată cu tablouri şi fişierele: test.c aplicaţia cu liste, Alist.h interfaţa şi Alist.c implementarea. Sunt necesare următoarele operaţii: - compilarea implementării: gcc c o Alist.o Alist.c - compilarea aplicaţiei: gcc c o test.o test.c - creerea executabilului: gcc o test test.o Alist.o Cele trei operaţii se realizează economic cu utilitarul make. 3

4 //fisierul de interfata List.h #ifndef _LIST_H #define _LIST_H // reprezentare specifica implementarii struct nod; //definirea este ascunsa in implementare struct lista; typedef struct lista *Lista; //pointer opac typedef struct nod *List_Iter; //implementarea cu liste inlantuite typedef int List_Iter; //implementarea cu tablouri typedef int (*PFC)(void*, void*); //pointer la functie // declarare operatii independente de implementare // initializare lista vida (constructor) Lista L_New(); // implementarea cu liste inlantuite Lista L_New(int cap); //implementarea cu tablouri void L_Delete(Lista *L); // sterge lista (destructor) int L_Empty(Lista L); // test lista vida int L_Size(Lista L); // lungime lista // intoarce adresa elementului din pozitia p void *L_Get(Lista L, List_Iter p); // modifica elementul din pozitia p void L_Modif(Lista L, List_Iter p, void *x); // intoarce pozitia elementului in lista L //(NULL daca nu este) List_Iter L_Find(Lista L, void *x, PFC egal); // sterge elementul din pozitia p void *L_Remove(Lista L, List_Iter p); // insereaza un element inainte de pozitia p void L_Insert(Lista L, List_Iter p, void *x); // intoarce pozitia primului element din lista List_Iter L_Begin(Lista L); // intoarce pozitia ultimului element din lista List_Iter L_RBegin(Lista L); // test pozitie dupa ultimul nod List_Iter L_End(Lista L); // test pozitie dinaintea primului nod List_Iter L_REnd(Lista L); // intoarce pozitia urmatoare pozitiei p List_Iter L_Next(Lista L, List_Iter p); // intoarce pozitia dinaintea pozitiei p List_Iter L_Prev(Lista L, List_Iter p); #endif 4

5 1. Prezentăm mai întâi complet o aplicaţie simplă: #include <stdio.h> #include <stdlib.h> #include "List.h" Aplicaţii cu liste.. //afisarea elementelor din lista de întregi void L_Print (Lista L){ List_Iter p; for(p=l_begin(l); p!=l_end(l); p=l_next(l,p)) printf("%2d ", *(int*)l_get(l)); printf("\n"); //compararea a 2 elemente referite prin pointeri generici int fcint(void *x, void *y){ return *(int*)x - *(int*)y; //copiază x în memorie alocata dnamic; intoarce pointer la memorie int *aloca(int x){ int *a; a = (int*)malloc(sizeof(int)); *a = x; return a; int main(){ Lista L; //creaza o lista vida ce poate avea cel mult 10 elemente L = L_New(10); printf("lungime initiala:%2d\n", L_Size(L)); List_Iter p; p = L_Begin(L); L_Insert(L, p, aloca(3)); L_Insert(L, p, aloca(5)); p = L_Begin(L); L_Insert(L, p, aloca(2)); p = L_End(L); L_Insert(L, p, aloca(10)); L_Print (L); int *x5 = (int*)malloc(sizeof(int)); *x5 = 3; //cauta elementul referit de x5 in lista {3,5,2,10 p = L_Find(L, x5, fcint); if(p==0) printf("elementul nu a fost gasit\n"); else printf("element gasit in pozitia %2d\n",p); L_Delete(L); 5

6 2. Sa se creeze o listă L având elemente valori întregi, introduse de la tastatură şi terminate prin 0, care nu aparţine listei şi apoi să se elimine duplicatele elementelor. /* crearea unei noi liste */ void creare (Lista *L){ int x, *px; List_Iter p; L = L_New(); p = L_Begin(L); do{ scanf( %d, &x); if (x!= 0) { px = (int*)malloc(sizeof(int)); *px = x; L_Insert (L, p, px); p = L_Next(L, p); while(x); void duplicate (Lista L){ List_Iter p, q; int x1, x2; p = L_Begin(L); while (p!=l_end(l)){ x1 = *(int*)l_get(l, p); q = L_Next(L, p); while (q!=l_end(l)){ x2 = *(int*)l_get(l, q); if (x1==x2) L_Remove(L, &q); else q = L_Next(L, q); p = L_Next(L, p); 3. Două numere lungi, care pot avea lungimea cel mult 100 de caractere sunt citite de la tastatură ca două şiruri de caractere. Să se calculeze şi să se afişeze suma acestora. Un număr lung va fi păstrat ca o listă de caractere, cu primul element cifra cea mai semnificativă. Pentru adunarea cifrelor începând cu cele mai puţin semnificative se face o traversare înapoi a listelor. După epuizarea numărului cu lungime mai mică se continuă cu celălalt număr, cu eventuala propagare a transportului. Inserarea cifrelor în numărul lung sumă se face la începutul listei. Lista suma(lista L1, Lista L2){ Lista L=L_New(); Lista L3; int l1, l2, lm, lm; /*lungime liste */ int i; l1=l_size(l1); l2=l_size(l2); 6

7 lm=(l1>l2)? l2 : l1; lm=(l1>l2)? l1 : l2; L_Iter p1, p2; void *x; int s, t=0; /*suma si transport */ p1=l_rbegin(l1); p2=l_rbegin(l2); for(i=0; i<lm; i++){ /*aduna pe lungime comuna*/ s = t + *(char*)l_get(l1,p1) + *(char*)l_get(l2,p2)-2* 0 ; t = s/10; s = s%10; x = (char*)malloc(1); *x = s; L_Insert(L, L_Begin(L), x); if(lm==l1) L3 = L2; else L3 = L1; /*adauga cifrele celui mai lung si propaga transport*/ for( ; i<lm; i++){ s = t + *(char*)l_get(l3,p2) 0 ; t = s/10; s = s%10; x = (char*)malloc(1); *x = s; L_Insert(L, L_Begin(L), x); return L; În funcţia main() se citesc cele două şiruri de caractere reprezentând cele două numere lungi, se crează listele prin inserarea cifrelor numerelor, se adună listele şi se face o traversare a listei sumă, afişând cifrele extrase. int main(){ char s1[100], s2[100]; /*numerele lungi*/ char *x; /*pointer la element*/ L_Iter p; //citire numere gets(s1); gets(s2); //initializare liste Lista L1=L_New(); Lista L2=L_New(); Lista L =L_New(); /*lista suma*/ //creere liste prin inserare elemente din s1 si s2 for(x=s1; x; x++) L_Insert(L1, L_End(L1), x); for(x=s2; x; x++) L_Insert(L2, L_End(L2), x); L = suma(l1, L2); 7

8 for(p=l_begin(l); p!=l_end(l); p=l_next(p,l)) printf("%c", *(char*)l_get(l, p)+"0'); printf("\n"); return 0; 4. n cursuri sunt specificate prin numele cursului şi numărul maxim de studenţi care-l pot urmări. Opţiunile studenţilor pentru aceste cursuri sunt precizate prin numele, prenumele şi numele cursului. Aceste elemente sunt trecute toate pe o linie, fiind separate prin spaţii libere. Un student poate avea mai multe opţiuni pentru cursuri diferite, numele lui apărând în fiecare opţiune. Opţiunile studenţilor sunt considerate în ordinea apariţiei lor. După înscrierea numărului maxim admis de studenţi la un curs, opţiunile ulterioare pentru acest curs sunt ignorate. Stabiliţi pentru fiecare curs, câţi studenţi s-au înscris, şi care sunt aceştia. Pentru fiecare student, care a avut cel puţin o opţiune luată în considerare, stabiliţi care sunt cursurile la care a fost înscris. Rezolvare: Fiecare curs va fi specificat prin: nume curs, număr maxim studenţi admişi şi lista studenţilor înscrişi. Numărul de locuri ocupate va fi lungimea acestei liste. typedef struct{ int max; char *numecrs; Lista studenti; curs; Un student va fi precizat, în final prin nume şi o listă de cursuri la care a fost înscris: typedef{ char *numestd; Lista cursuri; stud; Vom crea o listă de cursuri Lista c şi o listă de studenţi Lista s. O prezentare a algoritmului în pseudocod este: iniţializare listă cursuri c for fiecare curs citeşte nume curs şi număr maxim studenţi iniţializare listă studenţi înscrişi la curs iniţializare listă studenţi s for fiecare opţiune citeşte şi separă nume student şi nume curs caută nume curs în lista de cursuri c dacă nu s-a găsit ignoră opţiunea altfel dacă nu s-a depăşit capacitatea inserează nume în lista studenţilor înscrişi la curs altfel ignoră opţiunea caută nume student în lista studenţilor s dacă este găsit adaugă curs la lista cursurilor studentului altfel adaugă student la lista studenţilor 8

9 adaugă curs în lista cursurilor studentului for fiecare curs din lista c afisează nume curs şi număr studenţi înscrişi afişează lista studenţilor înscrişi la acest curs for fiecare student din lista s afişează nume student şi număr cursuri urmărite afişează listă cursuri urmate #include <stdio.h> #include <stdlib.h> #include <string.h> #include "Lista.h" typedef struct{ int max; char *numecrs; Lista studenti; curs; typedef struct{ char *numestd; Lista cursuri; stud; char* strdup(char *s){ char *p = (char*)malloc(strlen(s)+1); strcpy(p, s); return p; int cpsir(void *p, void *q){ return strcmp((char*)p, (char*)q); int main(){ Lista c; Lista s; Lista t; int n, i; List_Iter p, q; char linie[80], *pl, *pch; curs *pc; stud *ps; c = L_New(); scanf("%d", &n); for(i=0; i<n; i++){ gets(linie); /*citeste nume curs si nr.max stud*/ pl = strrchr(linie, ' '); /*separa nr.max stud la curs*/ *pl = 0; pc = (curs*)malloc(sizeof(curs)); pc->max = atoi(pl+1); pc->numecrs = strdup(linie); 9

10 pc->studenti = L_New(); L_Insert(c, L_End(c), pc); s = L_New(); while(gets(linie)){ pl = strrchr(linie, ' '); *pl = 0; pch = strdup(pl+1); p = L_Find(s, pl, cpsir); if(p==l_end(s)){ ps = (stud*)malloc(sizeof(stud)); ps->numestd = strdup(linie); ps->cursuri = L_New(); L_Insert(ps->cursuri, L_End(ps->cursuri), pch); L_Insert(s, L_End(s), ps); else{ t = ((stud*)l_get(s, p))->cursuri; L_Insert(t, L_End(t), pch); for(p=l_begin(c); p!=l_end(c); p=l_next(c,p)){ printf("%s\n", ((curs*)l_get(c, p))->numecrs); t = ((curs*)l_get(c, p))->studenti; printf( %3d inscrisi\n, L_Size(t)); for(q=l_begin(t); q!=l_end(t); q=l_next(t,q)) printf("%s\n", (char*)l_get(t, q)); for(p=l_begin(s); q!=l_end(s); p=l_next(s,p)) printf("%s\n", ((stud*)l_get(s, p))->numestd); t = ((stud*)l_get(s,p))->cursuri; printf( urmeaza %2d cursuri\n, L_Size(t)); for(q=l_begin(t); q!=l_end(t); q=l_next(t,q)) printf("%s\n", (char*)l_get(t, q)); return 0; 1. Implementare cu tablouri. Implementarea listelor. Elementele listei sunt memorate într-un tablou, alocat dinamic prin funcţia de iniţializare a listei. Vom distinge între numărul elementelor alocate pentru tablou cap şi numărul de elemente curent folosite dim; în general dim cap. // aceasta definitie apare in fisierul de implementare struct lista { int dim; //dimensiune efectiva int cap; //capacitate (dimensiune alocata) void **data; //tablou pointeri la date ; Pentru liste reprezentate prin tablouri poziţia este un întreg (index). typedef int List_Iter; 10

11 struct Lista cap dim 6 3 data Prin iniţializarea listei se face o alocare estimativă cap şi lungimea efectivă este dim=0. Lista L_new(int cap){ Lista L = (Lista)malloc(sizeof(struct lista)); L->dim = 0; L->cap = cap; L->data = (void**)malloc(l->cap * sizeof(void*)); return L; Lungimea unei liste şi testul de listă vidă inspectează pur şi simplu câmpul dim al structurii Lista.în caz că lista există. int L_Size(Lista L) { return L->dim; int L_Empty(List L) { return L->dim==0; Complexitatea operaţiilor L_Size() şi L_Empty() este Θ(1) Validarea unui indice (poziţie) se face verificând încadrarea sa între limite: int VerifPoz(Lista L, List_Iter p){ if(l_empty(l)) return 1; if(p < 1 p > L->dim) return 0; return 1; Complexitate VerifPoz() este Θ(1). Traversarea înainte presupune: poziţionarea pe primul element din listă, furnizarea poziţiei de după ultimul element şi avansul la următorul element. List_Iter L_Begin(Lista L){ 11

12 assert(l ); return 1; List_Iter L_End(Lista L){ return L_dim+1; List_Iter L_Next(Lista L, List_Iter p){ assert(l &&!L_Empty(L)); return p+1; Traversarea înapoi presupune: poziţionarea pe ultimul element din listă, furnizarea poziţiei de dinainte de primul element şi trecerea la elementul precedent. List_Iter L_RBegin(Lista L){ return L_dim; List_Iter L_REnd(Lista L){ return 0; List_Iter L_Prev(Lista L, List_Iter p){ assert(l &&!L_Empty(L)); return p-1; Extragerea unui element dintr-o poziţie dată, verifică în prealabil că poziţia există în listă: void *L_Get(Lista L, List_Iter p){ assert(l &&!L_Empty(L) && VerifPoz(L,p)); return L->data[p-1]; Funcţia de modificare a unui element dintr-o poziţie dată, verifică de asemeni validitatea poziţiei: void L_Modif(Lista L, List_Iter p, void *x){ assert(l &&!L_Empty(L) && VerifPoz(L,p)); L->data[p-1] = x; Complexitatea funcţiilor L_Get() şi L_Modif() este Θ(1) Căutarea unui element întoarce poziţia primei apariţii a acestuia sau poziţia după ultimul element dacă nu este găsit (poziţiile în listă încep cu 1). List_Iter L_Find(Lista L, void *x, PFC Egal){ List_Iter p; if(l_empty(l)) return L_End(L); for(p=l_begin(l); p!=l_end(l,p); p=l_next(l,p)) if((*egal)(l_get(l, p), x)) return p; return L_End(L); 12

13 Complexitatea funcţiei L_Find() este Θ(size) Inserarea, respectiv ştergerea unui element creşte, repectiv scade dim. Ştergerea elementului din pozitia p deplasează la stânga elementele situate după această poziţie. void *L_Remove(Lista L, List_Iter *p){ void *rez=null; int i; assert(l &&!L_Empty(L) && VerifPoz(L,*p)); rez = L->data[*p-1]; for(i=*p-1; i<l->dim-1; i++) L->data[i] =L->data[i+1]; L->dim--; return rez; Complexitatea funcţiei L_Remove()este Θ(size). Modificarea dimensiunii alocate cap se va face dacă dim=cap şi se face o inserare. Pentru a evita o realocare frecventă, vom folosi ca strategie dublarea dimensiunii. void ModifDim(Lista *L){ Lista L1; L1 = L_New(2*(*L)->cap); L1->dim = (*L)->dim; memcpy(l1->data, (*L)->data, (*L)->cap); L_Delete(L); *L = L1; void L_Insert(Lista L, List_Iter p, void *x){ assert(l && VerifPoz(L, p)); int i; if(l_empty(l)){ l->data[0] = x; else { if(l->dim == L->cap) ModifDim(&L); for(i=l->dim; i>=p; i--) L->data[i]=L->data[i-1]; L->data[p-1] = x; L->dim++; Complexitatea funcţiilor L_Insert() şi ModifDim() este Θ(size). 13

14 Implementare cu listă dublu înlănţuită. Vom considera lista ca o structură dinamică, alcătuită din noduri, dispersate în memorie. Un nod va conţine în afara unei referinţe la valoarea elementului adresele de legătură la nodul următor şi la nodul precedent. struct nod { void *data; struct nod *next; struct nod *prev; ; O poziţie în listă va fi o adresă de nod, tip declarat prin: typedef struct nod *List_Iter; Tipul Lista va fi un pointer la o structură formată din adresele primului nod, a ultimului nod şi din lungimea listei: struct lista{ struct struct int ; nod *prim; nod *ultim; dim; struct lista ultim prim dim 3 struct nod next prev data

15 Funcţia de iniţializare a unei liste alocă memorie structura listă şi îi iniţializează câmpurile la 0. Lista L_New(){ Lista L = (Lista)malloc(struct lista); L->dim = 0; L->prim = NULL; L->ultim = NULL; return L; Traversarea înainte a listei presupune: poziţionarea pe primul element, testul că s-a ajuns la ultimul element din listă şi avansul la următorul element. Poziţia primului element din listă este indicată de câmpul prim: List_Iter L_Begin(Lista L){ return L->prim; Ultimul nod din listă are legătura la elementul următor nulă List_Iter L_End(Lista L){ return NULL; In cazul avansării la următorul element, se verifică dacă nu s-a ajuns în afara listei. List_Iter L_Next(Lista L, List_Iter p){ assert(l &&!L_Empty(L) && VerifPoz(L,p)); return p->next; Funcţiile L_New(), L_Begin(), L_End() şi L_Next() au complexitate Θ(1). Pentru traversarea înapoi a listei se definesc funcţiile: List_Iter L_RBegin(Lista L){ return L->ultim; List_Iter L_REnd(Lista L){ return NULL; List_Iter L_Prev(Lista L, List_Iter p){ assert(l &&!L_Empty(L) && VerifPoz(L,p)); return p->prev; Funcţiile care utilizează o poziţie în listă trebuie să se asigure că acea poziţie există într-adevăr în listă. 15

16 In acest scop vom defini o funcţie de verificare a poziţiei, nedeclarată în interfaţă, deci ascunsă utilizatorului - VerifPoz(Lista L,List_Iter p), care caută poziţia p în câmpul de legătură al fiecărui element din listă.. int VerifPoz(Lista L, List_Iter p){ List_Iter poz = L->prim; if(p==null) return 1; while(poz!=null){ if(poz==p) return 1; poz = poz->next; return 0; Complexitate VerifPoz() este Θ(size). Extragerea unui element dintr-o poziţie dată, verifică în prealabil că poziţia există în listă: void *L_Get(Lista L, List_Iter p){ assert(l &&!L_Empty(L) && VerifPoz(L,p)); return p->data; Funcţia de modificare a unui element dintr-o poziţie dată, verifică de asemeni validitatea poziţiei: void L_Modif(Lista L, List_Iter p, void *x){ assert(l &&!L_Empty(L) && VerifPoz(L,p)); p->data = x; Căutarea asociativă a unei valori presupune traversarea listei, oprită la găsirea valorii sau la epuizarea listei, situaţie în care rezultatul căutării este NULL. List_Iter L_Find(Lista L, void *x, PFC egal){ List_Iter p; for(p=l_begin(l); p!=l_end(l); p=l_next(l,p)) if((*egal)(l_get(l, p), x)) return p; return NULL; Funcţia L_Find() are complexitate Θ(size). Ştergerea nodului dintr-o poziţie dată p din listă ar invalida iteratorul. Pentru a evita aceasta vom utiliza un alt iterator pentru ştergerea nodului şi vom actualiza poziţia iteratorului pe următorul element. Se reface legătura acesteia, izolând nodul de şters şi se eliberează memoria ocupată de nod. void *L_Remove(Lista L, List_Iter *p){ assert(l &&!L_Empty(L) && VerifPoz(L,*p)); L_Iter q=*p; //alt iterator pentru a sterge nodul *p = L_Next(L,*p); //actualizare iterator x = q->data; q->data = NULL; if(q->prev) //izolarea nodului de sters q->prev->next = q->next; else 16

17 L->prim = q->next; if(q->next) q->next->prev = q->prev; else L->ultim = q->prev; free(q); L->dim--; return x; Funcţia L_Remove()are complexitate Θ(size). void L_insert(Lista L, List_Iter p, void *x) { List_Iter nou; if(!verifpoz(l, p)) return; /*pozitia p nu exista*/ nou=(list_iter)malloc(sizeof(struct nod)); nou->data = x; if(p){ nou->next = p; if(p->prev){ nou->prev = p->prev; p->prev->next = nou; p->prev = nou; else { nou->prev = NULL; L->prim = nou; p->prev = nou; else { nou->next = NULL; nou->prev = L->ultim; if(l->ultim){ L->ultim->next = nou; L->ultim = nou; else L->ultim = L->prim = nou; L->dim++; Ştergerea unei liste o transformă într-o listă vidă (având numai antet). void L_Delete(Lista *L) { List_Iter crt, prc; crt = (*L)->prim; while(crt!= NULL){ prc = crt; 17

18 crt = crt->next; free(prc); free(*l); Complexitate L_Insert() şi L_Delete() este Θ(size). Probleme propuse. 1. Un colier este reprezentat prin pietrele care intră în alcatuirea lui, fiecare tip de piatră fiind specificată printr-o literă. În acest fel fiecare colier poate fi reprezentat printr-un şir de caractere. Se citesc mai multe şiruri de caractere reprezentând coliere. Să se stabilească 1) colierele contin cel mai mare numar de pietre diferite. 2) colierele identice (egale, permutate circular egale sau permutate circular şi reflectate egale 2. Un traseu de metrou din Bucuresti este de tipul dus-întors şi constă dintr-o listă de staţii specificate prin şiruri de caractere (de exemplu o listă începe cu Republica şi se termină cu Preciziei). Cele n trasee ale metroului bucurestean sunt citite din fluxul de intrare, staţiile fiind separate între ele prin spatii libere. Fiecare traseu este terminat printr-un sfarşit de linie. Pentru fiecare traseu se va crea o listă, având ca elemente numele staţiilor de pe traseu. În final toate traseele vor fi reprezentate printr-un vector de liste cu elemente şiruri. Se citesc de asemeni două staţii: start şi stop. Se cere să se stabilească: 1) dacă există trasee cere să conţină cele două staţii, şi în caz afirmativ se vor afişa: -traseul prin cele două staţii terminale, -numarul minim de staţii intermediare între start şi stop şi -numele acestor staţii. 2) dacă putem ajunge de la staţia start la staţia stop, schimbând metroul într-o staţie intermediara, şi în caz afirmativ se vor afişa staţiile de pe cele două trasee astfel: -o primă linie începe cu staţia start şi se continuă cu staţiile de pe primul traseu, pană la staţia de schimb, inclusiv aceasta -a doua linie va cuprinde staţiile de pe cel de-al doilea traseu, începând cu staţia de schimb şi termînând cu staţia stop. Indicaţie: Se crează două mulţimi de trasee care trec prin start, respectiv stop. Intersectia acestora determină staţia de tranzit. 3. Un polinom p este reprezentat printr-o listă de termeni sortaţi crescător după exponent. Scrieţi: a) o funcţie care adună două polinoame, funcţie având semnătura: Lista AdPol(Lista p1,lista p2); b) o funcţie care înmulţeşte două polinoame, funcţie având semnătura: Lista MulPol(Lista p1, Lista p2); 4. Un număr lung este reprezentat ca o listă de caractere. Scrieţi: a) o funcţie care adună două numere lungi, funcţie având semnătura: Lista aduna(lista n1, Lista n2); b) o funcţie calculează derivata de ordinul k a unui polinom, funcţie având semnătura: Lista DerPol(Lista p, int k); 5. O agendă are următoarea structură: 18

19 A C Albu Ion Cocoş Ion Axente Dan Curcă Ana Lista de litere şi listele de nume sunt sortate.definiţi funcţiile: void Insert(Lista L, char *nume); care inserează un nume în l void Remove(Lista *L, char *nume); care şterge un nume din listă. 19

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. 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

Διαβάστε περισσότερα

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

(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ă

Διαβάστε περισσότερα

Metode iterative pentru probleme neliniare - contractii

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

Διαβάστε περισσότερα

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu

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:

Διαβάστε περισσότερα

Curs 1 Şiruri de numere reale

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ţ,

Διαβάστε περισσότερα

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.

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

Διαβάστε περισσότερα

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

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

Διαβάστε περισσότερα

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

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

Διαβάστε περισσότερα

Metode de interpolare bazate pe diferenţe divizate

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

Διαβάστε περισσότερα

III. Reprezentarea informaţiei în sistemele de calcul

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

Διαβάστε περισσότερα

Curs 4 Serii de numere reale

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

Διαβάστε περισσότερα

Esalonul Redus pe Linii (ERL). Subspatii.

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

Διαβάστε περισσότερα

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

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

Διαβάστε περισσότερα

MARCAREA REZISTOARELOR

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

Διαβάστε περισσότερα

Integrala nedefinită (primitive)

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

Διαβάστε περισσότερα

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 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ă,

Διαβάστε περισσότερα

Examen AG. Student:... Grupa:... ianuarie 2011

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)

Διαβάστε περισσότερα

riptografie şi Securitate

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

Διαβάστε περισσότερα

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

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 ϕ = (ϕ,ϕ

Διαβάστε περισσότερα

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.

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

Διαβάστε περισσότερα

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

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

Διαβάστε περισσότερα

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

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

Διαβάστε περισσότερα

Laborator 11. Mulţimi Julia. Temă

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.

Διαβάστε περισσότερα

Subiecte Clasa a VII-a

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

Διαβάστε περισσότερα

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

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:

Διαβάστε περισσότερα

5.4. MULTIPLEXOARE A 0 A 1 A 2

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

Διαβάστε περισσότερα

Asupra unei inegalităţi date la barajul OBMJ 2006

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

Διαβάστε περισσότερα

Subiecte Clasa a VIII-a

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

Διαβάστε περισσότερα

B={0,1,...,MAX-1} : K

B={0,1,...,MAX-1} : K Tabele de Dispersie. Definiţii şi terminologie. Tabelele de dispersie reprezintă o modalitate foarte eficientă de implementare a dicţionarelor. Acestea asigură complexitate constantă O() în medie, pentru

Διαβάστε περισσότερα

Seminar 5 Analiza stabilității sistemelor liniare

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

Διαβάστε περισσότερα

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea

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,

Διαβάστε περισσότερα

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane Subspatii ane Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane Oana Constantinescu Oana Constantinescu Lectia VI Subspatii ane Table of Contents 1 Structura de spatiu an E 3 2 Subspatii

Διαβάστε περισσότερα

Teme de implementare in Matlab pentru Laboratorul de Metode Numerice

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,

Διαβάστε περισσότερα

Să se arate că n este număr par. Dan Nedeianu

Să se arate că n este număr par. Dan Nedeianu Primul test de selecție pentru juniori I. Să se determine numerele prime p, q, r cu proprietatea că 1 p + 1 q + 1 r 1. Fie ABCD un patrulater convex cu m( BCD) = 10, m( CBA) = 45, m( CBD) = 15 și m( CAB)

Διαβάστε περισσότερα

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R În cele ce urmează, vom studia unele proprietăţi ale mulţimilor din R. Astfel, vom caracteriza locul" unui punct în cadrul unei mulţimi (în limba

Διαβάστε περισσότερα

Subiecte Clasa a V-a

Subiecte Clasa a V-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 numarului intrebarii

Διαβάστε περισσότερα

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

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

Διαβάστε περισσότερα

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)).

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

Διαβάστε περισσότερα

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

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,

Διαβάστε περισσότερα

1.3 Baza a unui spaţiu vectorial. Dimensiune

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

Διαβάστε περισσότερα

Principiul incluziunii si excluziunii. Generarea şi ordonarea permutărilor. Principiul porumbeilor. Pri

Principiul incluziunii si excluziunii. Generarea şi ordonarea permutărilor. Principiul porumbeilor. Pri Generarea şi ordonarea permutărilor. Principiul porumbeilor. Principiul incluziunii si excluziunii Recapitulare din cursul trecut Presupunem că A este o mulţime cu n elemente. Recapitulare din cursul trecut

Διαβάστε περισσότερα

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

Διαβάστε περισσότερα

Sisteme diferenţiale liniare de ordinul 1

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

Διαβάστε περισσότερα

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

Διαβάστε περισσότερα

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 (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,.......................................

Διαβάστε περισσότερα

28. SUPRADEFINIREA OPERATORILOR

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

Διαβάστε περισσότερα

Curs 2 Şiruri de numere reale

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

Διαβάστε περισσότερα

Lucrare. Varianta aprilie I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2. sau p b.

Lucrare. Varianta aprilie I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2. sau p b. Lucrare Soluţii 28 aprilie 2015 Varianta 1 I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2 Definiţie. Numărul întreg p se numeşte număr prim dacă p 0,

Διαβάστε περισσότερα

Criptosisteme cu cheie publică III

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 }.

Διαβάστε περισσότερα

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

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.

Διαβάστε περισσότερα

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice

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ă

Διαβάστε περισσότερα

Tablouri unidimensionale

Tablouri unidimensionale Tablouri unidimensionale Problema 1 Să se determine mulţimea cifrelor unui număr natural n > 0, dat. Exemplu: n=1723237 Cifre = {1,2,3,7 Se cere să se utilizeze subprograme care să comunice între ele şi

Διαβάστε περισσότερα

Tipuri abstracte de date.

Tipuri abstracte de date. Tipuri abstracte de date. Limbajele de programare furnizează tipuri de date standard (sau tipuri primitive). De exemplu în C acestea sunt: char, int, float, double. Un tip de date precizează o mulţime

Διαβάστε περισσότερα

CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă.

CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă. Sala: 2103 Decembrie 2014 Conf. univ. dr.: Dragoş-Pătru Covei CURS 11: ALGEBRĂ Specializarea: C.E., I.E., S.P.E. Nota: Acest curs nu a fost supus unui proces riguros de recenzare pentru a fi oficial publicat.

Διαβάστε περισσότερα

Aplicaţii ale principiului I al termodinamicii la gazul ideal

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

Διαβάστε περισσότερα

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,

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

Διαβάστε περισσότερα

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca

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

Διαβάστε περισσότερα

Sortare. 29 martie Utilizarea şi programarea calculatoarelor. Curs 16

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

Διαβάστε περισσότερα

VII.2. PROBLEME REZOLVATE

VII.2. PROBLEME REZOLVATE Teoria Circuitelor Electrice Aplicaţii V PROBEME REOVATE R7 În circuitul din fiura 7R se cunosc: R e t 0 sint [V] C C t 0 sint [A] Se cer: a rezolvarea circuitului cu metoda teoremelor Kirchhoff; rezolvarea

Διαβάστε περισσότερα

Problema a II - a (10 puncte) Diferite circuite electrice

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

Διαβάστε περισσότερα

Al cincilea baraj de selecţie pentru OBMJ Bucureşti, 28 mai 2015

Al cincilea baraj de selecţie pentru OBMJ Bucureşti, 28 mai 2015 Societatea de Ştiinţe Matematice din România Ministerul Educaţiei Naţionale Al cincilea baraj de selecţie pentru OBMJ Bucureşti, 28 mai 2015 Problema 1. Arătaţi că numărul 1 se poate reprezenta ca suma

Διαβάστε περισσότερα

Examen AG. Student:... Grupa: ianuarie 2016

Examen AG. Student:... Grupa: ianuarie 2016 16-17 ianuarie 2016 Problema 1. Se consideră graful G = pk n (p, n N, p 2, n 3). Unul din vârfurile lui G se uneşte cu câte un vârf din fiecare graf complet care nu-l conţine, obţinându-se un graf conex

Διαβάστε περισσότερα

Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă

Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă Noţiunea de spaţiu liniar 1 Noţiunea de spaţiu liniar Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară 2 Mulţime infinită liniar independentă 3 Schimbarea coordonatelor unui vector la o schimbare

Διαβάστε περισσότερα

Valori limită privind SO2, NOx şi emisiile de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili

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

Διαβάστε περισσότερα

FLUXURI MAXIME ÎN REŢELE DE TRANSPORT. x 4

FLUXURI MAXIME ÎN REŢELE DE TRANSPORT. x 4 FLUXURI MAXIME ÎN REŢELE DE TRANSPORT Se numeşte reţea de transport un graf în care fiecărui arc îi este asociat capacitatea arcului şi în care eistă un singur punct de intrare şi un singur punct de ieşire.

Διαβάστε περισσότερα

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB

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

Διαβάστε περισσότερα

Ecuatii trigonometrice

Ecuatii trigonometrice Ecuatii trigonometrice Ecuatiile ce contin necunoscute sub semnul functiilor trigonometrice se numesc ecuatii trigonometrice. Cele mai simple ecuatii trigonometrice sunt ecuatiile de tipul sin x = a, cos

Διαβάστε περισσότερα

Toate subiectele sunt obligatorii. Timpul de lucru efectiv este de 3 ore. Se acordă din oficiu 10 puncte. SUBIECTUL I.

Toate subiectele sunt obligatorii. Timpul de lucru efectiv este de 3 ore. Se acordă din oficiu 10 puncte. SUBIECTUL I. Modelul 4 Se acordă din oficiu puncte.. Fie numărul complex z = i. Calculaţi (z ) 25. 2. Dacă x şi x 2 sunt rădăcinile ecuaţiei x 2 9x+8 =, atunci să se calculeze x2 +x2 2 x x 2. 3. Rezolvaţi în mulţimea

Διαβάστε περισσότερα

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

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

Διαβάστε περισσότερα

Metode de sortare. Se dau n numere întregi, elemente ale unui vector a. Se cere să se aranjeze elementele vectorului a în ordine crescătoare.

Metode de sortare. Se dau n numere întregi, elemente ale unui vector a. Se cere să se aranjeze elementele vectorului a în ordine crescătoare. Metode de sortare Se dau n numere întregi, elemente ale unui vector a. Se cere să se aranjeze elementele vectorului a în ordine crescătoare. 1. Sortare prin selecţie directă Sortarea prin selecţia minimului

Διαβάστε περισσότερα

IX. GRAFURI. e 1. e 2

IX. GRAFURI. e 1. e 2 IX. GRAFURI. Elemente de teoria grafurilor: definiţii şi terminologie. Relaţiile între obiecte sunt descrise în mod natural prin intermediul grafurilor. Interconexiunea elementelor într-un circuit sau

Διαβάστε περισσότερα

TAD Stiva (STACK) Observaţii: 1. sunt aşezate ordonat unele peste altele. Un element nou se adaugă în stivă deasupra elementului cel mai recent

TAD Stiva (STACK) Observaţii: 1. sunt aşezate ordonat unele peste altele. Un element nou se adaugă în stivă deasupra elementului cel mai recent TAD Stiva (STACK) Observaţii: 1. În limbajul uzual cuvântul stivă referă o grămadă în care elementele constitutive sunt aşezate ordonat unele peste altele. Un element nou se adaugă în stivă deasupra elementului

Διαβάστε περισσότερα

V O. = v I v stabilizator

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,

Διαβάστε περισσότερα

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1)

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1) Ecuatii exponentiale Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. Cea mai simpla ecuatie exponentiala este de forma a x = b, () unde a >, a. Afirmatia.

Διαβάστε περισσότερα

Fig Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36].

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

Διαβάστε περισσότερα

prin egalizarea histogramei

prin egalizarea histogramei Lucrarea 4 Îmbunătăţirea imaginilor prin egalizarea histogramei BREVIAR TEORETIC Tehnicile de îmbunătăţire a imaginilor bazate pe calculul histogramei modifică histograma astfel încât aceasta să aibă o

Διαβάστε περισσότερα

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3 SEMINAR 2 SISTEME DE FRŢE CNCURENTE CUPRINS 2. Sisteme de forţe concurente...1 Cuprins...1 Introducere...1 2.1. Aspecte teoretice...2 2.2. Aplicaţii rezolvate...3 2. Sisteme de forţe concurente În acest

Διαβάστε περισσότερα

T R A I A N ( ) Trigonometrie. \ kπ; k. este periodică (perioada principală T * =π ), impară, nemărginită.

T R A I A N ( ) Trigonometrie. \ kπ; k. este periodică (perioada principală T * =π ), impară, nemărginită. Trignmetrie Funcţia sinus sin : [, ] este peridică (periada principală T * = ), impară, mărginită. Funcţia arcsinus arcsin : [, ], este impară, mărginită, bijectivă. Funcţia csinus cs : [, ] este peridică

Διαβάστε περισσότερα

a. 11 % b. 12 % c. 13 % d. 14 %

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

Διαβάστε περισσότερα

Functii Breviar teoretic 8 ianuarie ianuarie 2011

Functii Breviar teoretic 8 ianuarie ianuarie 2011 Functii Breviar teoretic 8 ianuarie 011 15 ianuarie 011 I Fie I, interval si f : I 1) a) functia f este (strict) crescatoare pe I daca x, y I, x< y ( f( x) < f( y)), f( x) f( y) b) functia f este (strict)

Διαβάστε περισσότερα

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

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.

Διαβάστε περισσότερα

BARAJ DE JUNIORI,,Euclid Cipru, 28 mai 2012 (barajul 3)

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

Διαβάστε περισσότερα

2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER

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

Διαβάστε περισσότερα

Geometrie computationala 2. Preliminarii geometrice

Geometrie computationala 2. Preliminarii geometrice Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Geometrie computationala 2. Preliminarii geometrice Preliminarii geometrice Spatiu Euclidean: E d Spatiu de d-tupluri,

Διαβάστε περισσότερα

Principiul Inductiei Matematice.

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

Διαβάστε περισσότερα

Proiectarea algoritmilor: Programare dinamică

Proiectarea algoritmilor: Programare dinamică Proiectarea algoritmilor: Programare dinamică Dorel Lucanu Faculty of Computer Science Alexandru Ioan Cuza University, Iaşi, Romania dlucanu@info.uaic.ro PA 2014/2015 D. Lucanu (FII - UAIC) Programare

Διαβάστε περισσότερα

2. Circuite logice 2.5. Sumatoare şi multiplicatoare. Copyright Paul GASNER

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

Διαβάστε περισσότερα

Proiectarea filtrelor prin metoda pierderilor de inserţie

Proiectarea filtrelor prin metoda pierderilor de inserţie FITRE DE MIROUNDE Proiectarea filtrelor prin metoda pierderilor de inserţie P R Puterea disponibila de la sursa Puterea livrata sarcinii P inc P Γ ( ) Γ I lo P R ( ) ( ) M ( ) ( ) M N P R M N ( ) ( ) Tipuri

Διαβάστε περισσότερα

GEOMETRIE PLANĂ TEOREME IMPORTANTE ARII. bh lh 2. abc. abc. formula înălţimii

GEOMETRIE PLANĂ TEOREME IMPORTANTE ARII. bh lh 2. abc. abc. formula înălţimii GEOMETRIE PLNĂ TEOREME IMPORTNTE suma unghiurilor unui triunghi este 8º suma unghiurilor unui patrulater este 6º unghiurile de la baza unui triunghi isoscel sunt congruente într-un triunghi isoscel liniile

Διαβάστε περισσότερα

Matrice. Determinanti. Sisteme liniare

Matrice. Determinanti. Sisteme liniare Matrice 1 Matrice Adunarea matricelor Înmulţirea cu scalar. Produsul 2 Proprietăţi ale determinanţilor Rangul unei matrice 3 neomogene omogene Metoda lui Gauss (Metoda eliminării) Notiunea de matrice Matrice

Διαβάστε περισσότερα

6 n=1. cos 2n. 6 n=1. n=1. este CONV (fiind seria armonică pentru α = 6 > 1), rezultă

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

Διαβάστε περισσότερα

2. Circuite logice 2.2. Diagrame Karnaugh. Copyright Paul GASNER 1

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

Διαβάστε περισσότερα

Subiectul III (30 de puncte) - Varianta 001

Subiectul III (30 de puncte) - Varianta 001 (30 de puncte) - Varianta 001 1. Utilizând metoda backtracking se generează în ordine lexicografică cuvintele de câte patru litere din mulţimea A={a,b,c,d,e}, cuvinte care nu conţin două vocale alăturate.

Διαβάστε περισσότερα

Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent

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

Διαβάστε περισσότερα

Algoritmica grafurilor XI. Cuplaje in grafuri. Masuri de calitate. Numere Ramsey

Algoritmica grafurilor XI. Cuplaje in grafuri. Masuri de calitate. Numere Ramsey Algoritmica grafurilor XI. Cuplaje in grafuri. Masuri de calitate. Numere Ramsey Mihai Suciu Facultatea de Matematică și Informatică (UBB) Departamentul de Informatică Mai, 16, 2018 Mihai Suciu (UBB) Algoritmica

Διαβάστε περισσότερα

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy Metode Runge-Kutta Radu T. Trîmbiţaş 8 ianuarie 7 Probleme scalare, pas constant Dorim să aproximăm soluţia problemei Cauchy y (t) = f(t, y), a t b, y(a) = α. pe o grilă uniformă de (N + )-puncte din [a,

Διαβάστε περισσότερα

f(x) = l 0. Atunci f are local semnul lui l, adică, U 0 V(x 0 ) astfel încât sgnf(x) = sgnl, x U 0 D\{x 0 }. < f(x) < l +

f(x) = l 0. Atunci f are local semnul lui l, adică, U 0 V(x 0 ) astfel încât sgnf(x) = sgnl, x U 0 D\{x 0 }. < f(x) < l + Semnul local al unei funcţii care are limită. Propoziţie. Fie f : D (, d) R, x 0 D. Presupunem că lim x x 0 f(x) = l 0. Atunci f are local semnul lui l, adică, U 0 V(x 0 ) astfel încât sgnf(x) = sgnl,

Διαβάστε περισσότερα

Aparate de măsurat. Măsurări electronice Rezumatul cursului 2. MEE - prof. dr. ing. Ioan D. Oltean 1

Aparate de măsurat. Măsurări electronice Rezumatul cursului 2. MEE - prof. dr. ing. Ioan D. Oltean 1 Aparate de măsurat Măsurări electronice Rezumatul cursului 2 MEE - prof. dr. ing. Ioan D. Oltean 1 1. Aparate cu instrument magnetoelectric 2. Ampermetre şi voltmetre 3. Ohmetre cu instrument magnetoelectric

Διαβάστε περισσότερα

4.TABLOU. Lect. dr. Trimbitas Gabriela

4.TABLOU. Lect. dr. Trimbitas Gabriela 4.TABLOU 1 TABLOUL Structură de date statică. Definiţie: Fie C o colecţie de elemente de tipul TE şi [n]={1,2,3,...,n cu n N* o mulţime de indici. Aplicaţia f : [n 1 ] x [n 2 ] x x [n k ] C care ataşează

Διαβάστε περισσότερα

Ovidiu Gabriel Avădănei, Florin Mihai Tufescu,

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

Διαβάστε περισσότερα