Microsoft Word - PCLP2_Curs_4_2019.doc

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

Download "Microsoft Word - PCLP2_Curs_4_2019.doc"

Transcriere

1 12. Tipuri de date derivate direct - Tipul pointer Tipurile de date derivate direct sunt tipuri de date create pe baza unor tipuri de date existente. In limbajul C, un astfel de tip, nestructurat (simplu), este tipul pointer. Pointerii reprezintă adrese ale unor zone de memorie. Ei se utilizează pentru a face referire la entităţi (variabile, funcţii) din memorie cunoscute prin adresele lor. Pentru termenul de pointer se mai folosesc şi următoarele denumiri echivalente : referinţă, reper, localizator, indicator de adresă. Noţiunea de pointer joacă un rol extrem de important în programarea în C deoarece permite efectuarea de calcule complexe folosind adrese, operaţii care, până la apariţia C-ului, erau proprii doar limbajelor de asamblare. Dintre beneficiile care s-au obţinut prin introducerea pointerilor amintim: - transferul adecvat al parametrilor de ieşire ai funcţiilor - posibilitatea alocării dinamice de memorie; - posibilitatea folosirii funcţiilor ca parametri ai unor altor funcţii; - înlocuirea expresiilor cu indici prin expresii cu pointeri Declaraţia de pointer şi tipul pointer Un pointer este asociat unui tip de date sau tipului void. În general dacă tip este un tip de date, un pointer identificator către tipul tip se introduce printr-o declaraţie de forma: declaratie_variabila_pointer tip * identificator ; Figura 12.1 Declaraţia de variabilă de tip pointer Tipul tip precizează în acest caz tipul datelor stocate la adresele specificate de variabila de tip pointer. Comparând forma declaraţiei anterioare cu sintaxa generală a declaraţiei unei variabile, rezultă faptul că tip* reprezintă un nou tip de date, numit tip derivat, tipul pointer către tip.

2 În consecinţă o variabilă de tip pointer are ca valori adrese ale unor date de tipul tip (sau ca exprimare echivalentă, pointează spre tipul tip). În cazul în care o variabilă de tip pointer conţine adresa zonei de memorie alocată unei alte variabile x (evident de tipul tip) se mai spune că ea pointează spre x. Operatorul * se numeşte operator de dereferenţiere (indirectare) şi el este opusul operatorului de referenţiere (adresă), &. Aplicat unei variabile de tip pointer, operatorul * furnizează valoarea stocată în zona de memorie a cărei adresă este conţinută în pointer. Operatorul * are aceeaşi prioritate cu operatorii unari şi se asociază de la dreapta la stânga. Reamintim faptul că operatorul adresă, &, se aplică unei variabile, furnizând adresa acesteia (adresa zonei de memorie în care ea este depozitată). Există situaţii în care dorim ca un pointer să poată fi utilizat cu tipuri diferite de date, astfel încât în declaraţia de pointer nu putem specifica explicit un tip, ca în cazurile de mai sus. De aceea se utilizează în poziţia tipului, tipul void. Specificatorul de format pentru afişarea pointerilor este %p. Pointerii către void nu pot fi utilizaţi ca atare pentru a referi conţinutul zonelor de memorie către care pointează. Este necesară în prealabil o conversie explicită de tip pentru a preciza tipul datei către care pointează un astfel de pointer. Utilizarea tipului pointer către void asigură o flexibilitate mare în utilizarea pointerilor. Cu toate acestea ea poate constitui o potenţială sursă de erori în cazul unor utilizări abuzive. Programatorul trebuie să ştie în orice moment ce fel de tip de pointer este valoarea atribuită variabilei pointer de tip pointer către void Transferul parametrilor de ieşire în C Aşa cum s-a arătat transferul parametrilor în C se realizează prin valoare, parametrilor formali, pentru care se rezervă separat spaţiu de memorie, li se atribuie valorile parametrilor efectivi de apel corespunzători. Când se doreşte modificarea valorii parametrului efectiv ca urmare a apelului unei funcţii, deci practic când acesta este un parametru de ieşire, trebuie să transmitem funcţiei adresa variabilei ce reprezintă parametrul efectiv, iar în corpul funcţiei să folosim operatorul de dereferenţiere.

3 Atunci când parametrul este nume de tablou, acest deziderat este îndeplinit, deoarece în C numele unui tablou este o adresă, respectiv adresa primului element al tabloului. Folosind deci pointeri putem obţine efectele apelului prin referinţă: parametrul formal este un pointer căruia îi corespunde la apel o adresă. Facem observaţia că transferul parametrilor rămâne în continuare prin valoare, dar ceea ce se transmite funcţiei este valoarea adresei parametrului cu care se operează Legătura dintre pointeri şi tablouri Aşa cum s-a arătat, în C numele unui tablou este o adresă şi anume adresa primului element al tabloului. Rezultă deci că numele unui tablou este un pointer, dar, în acest caz, un pointer constant. În consecinţă, un parametru formal ce corespunde unui parametru efectiv care este un tablou unidimensional de tipul tip poate fi declarat fie ca tablou cu elemente de tipul tip, fie ca un pointer către tipul tip Aritmetica pointerilor Operaţiile aritmetice permise asupra pointerilor sunt : 1. incrementarea/decrementarea 2. adunarea/scăderea unui întreg la/dintr-un pointer 3. compararea a doi pointeri 4. diferenţa a doi pointeri Operaţia de incrementare/decrementare Operatorii corespunzători acestor operaţii sunt ++ respectiv -- care se pot folosi atât în notaţie prefixată cât şi în notaţie postfixată. Efectul aplicării acestor operatori asupra unor operanzi de tip pointer este creşterea/micşorarea adresei ce reprezintă valoarea operandului cu un număr de octeţi egal cu cel necesar pentru a memora o dată de tipul celei către care pointează operandul. În general, în cazul unui pointer către tip declarat cu : tip *p, incrementarea sau decrementarea presupune modificarea valorii p cu sizeof(tip) octeţi.

4 Operaţia de adunare/scădere a unui întreg la/dintr-un pointer În cazul în care p este un pointer către tipul tip şi n este un număr întreg, cum adunarea/scăderea lui n din p poate fi privită ca o adunare/scădere repetată de n ori a unei unităţi, rezultă că,în acest caz, valoarea lui p se modifică cu n*sizeof(tip) octeţi. Rezultă deci că variabilele indexate se pot înlocui cu expresii cu pointeri, ceea ce conduce la optimizarea codului. Observaţie : Operaţiile 3 şi 4 sunt garantate în ANSII C în cazul în care pointerii se menţin în limitele unui aceluiaşi tablou. Este permisă poziţionarea pointerului pe poziţia imediat următoare ultimului element al tabloului Operaţia de comparare a doi pointeri Doi pointeri care pointează spre elementele unui aceluiaşi tablou pot fi comparaţi folosind operatorii de relaţie şi de egalitate. Se poate de asemenea face comparaţia cu pointerul NULL. Astfel dacă p pointează către t[i] şi q către t[j], i şi j strict mai mici decât dimensiunea maximă a tabloului, sunt legale comparaţiile : p<q p>q p==q p<=q p>=q p!=q Operaţia de scădere a doi pointeri Operaţia de diferenţă a doi pointeri rezultă imediat din cea de adunare/scădere a unui întreg dintr-un pointer. Astfel dacă p pointează către t[i] şi q către t[i+n] unde n este un întreg, diferenţa q - p este egală cu n.

5 Un parametru formal ce corespunde unui parametru efectiv care este un tablou unidimensional de tipul tip poate fi declarat fie ca tablou cu elemente de tipul tip, fie ca un pointer către tipul tip. Exemplu : Să se proiecteze o funcţie care să calculeze lungimea unui şir de caractere. #include <stdio.h> #include <string.h> int lung(char s[]) int i; for(i=0;s[i]!='\0';i++) ; return i; int lung_p(char *p) char *q; for(q=p;*q!='\0';q++) ; return q-p; int main(void) char a[]="acesta este un sir"; printf("i %d\tii %d\tiii %d\n",lung(a),lung_p(a),strlen(a)); return 0 ;

6 12.5. Alocarea dinamică de memorie Limbajul C oferă utilizatorului posibilitatea de a aloca memorie, prin comenzi specifice, în timpul execuţiei programului, într-o zonă de memorie specială numită memoria heap, rezervarea de memorie numindu-se în acest caz alocare dinamică. Cea mai utilizată funcţie în acest scop este malloc cu prototipul (în stdlib.h): void * malloc(unsigned n) ; Funcţia malloc alocă în memoria heap o zonă contiguă de n octeţi, returnând un pointer către void ce reprezintă adresa de început a zonei astfel alocate, sau pointerul NULL în cazul în care alocarea nu a fost posibilă. Zona de memorie alocată în urma apelului funcţiei malloc se eliberează cu ajutorul funcţiei free al cărei prototip este (în stdlib.h): void free(void * p) ; unde p este un pointer nenul rezultat în urma apelului funcţiei malloc. Memento : Un parametru formal ce corespunde unui parametru efectiv care este un tablou unidimensional de tipul tip poate fi declarat fie ca tablou cu elemente de tipul tip, fie ca un pointer către tipul tip Exemplul 1. Să se proiecteze şi apeleze adecvat o funcţie care citeşte un vector cu n elemente de tip double. Funcţia va avea un parametru suplimentar, numele vectorului şi va returna numărul de elemente citite corect.

7 #include <stdio.h> #include <stdlib.h> #define MAX 100 int pndcit(double *p, int n, const char *s) int j=0; double *q=p+n; while (p<q) printf("elementul %s[%d]= ",s,j); if (scanf("%lf",p)!=1) fflush(stdin); break; p++; j++; return j;

8 int main(void) int i,n,nr; double x[max],*p; printf("numarul de elemente ale vectorului x (<=%d)= ", MAX); if(scanf("%d",&n)!=1 n<=0 n>max) printf("date eronate!\n"); exit(1); printf("elementele vectorului\n"); if ((nr=pndcit(x,n,"x"))!=n) printf("atentie : S-au citit doar %d elemente\n",nr); printf("vectorul x\n"); for (i=0;i<nr;i++) printf("%10g %c",x[i],i%6==5 i==nr-1?'\n':' '); printf("vectorul x\n"); p=x; for (i=0;i<nr;i++) printf("%10g %c",*p++,i%6==5 i==nr-1?'\n':' '); double *pv; int nd; printf("nr. de elem. ale vectorului alocat dinamic, nd= "); if(scanf("%d",&nd)!=1 nd<=0) printf("date eronate!\n"); exit(1); pv=(double *)malloc(nd*sizeof(double)); if(!pv) printf("memorie insuficienta!\n"); exit(1); printf("elementele vectorului\n"); if ((nr=pndcit(pv,nd,"v"))!=nd) printf("atentie : S-au citit doar %d elemente\n",nr); printf("vectorul V\n"); for (i=0;i<nr;i++) printf("%10g %c",pv[i],i%6==5 i==nr-1?'\n':' '); printf("vectorul V\n"); p=pv; for (i=0;i<nr;i++) printf("%10g %c",*p++,i%6==5 i==nr-1?'\n':' '); free(pv); return 0;

9 12.6. Tablouri de pointeri Pointerii fiind tipuri de date, cu ajutorul lor se pot forma tipuri de date structurate, ca de exemplu tablouri. Tablourile de pointeri se utilizează frecvent la prelucrarea şirurilor de caractere, permiţând o tratare a acestora în mod unitar. Este mult mai avantajos să se definească un tablou de pointeri, fiecare element al tabloului fiind un pointer către un şir de caractere decât să se definească direct un tablou de şiruri de caractere. Exemplul 2. Să se scrie un program care să permită memorarea şi afişarea ulterioară a maximum 50 de cuvinte preluate de la consolă. Sfârşitul sesiunii este marcat prin acţionarea sfârşitului de fişier de la consolă.

10 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAXCUV 50 char *MemSir(char *); int main(void) char *tabptr[maxcuv]; int i,j; char temp[255]; printf("introduceti cuvintele ") ; printf(" (max %d, CTRL/Z pt. a incheia)\n", MAXCUV); for (i=0;scanf("%s",temp)==1 && i<maxcuv; i++) if((tabptr[i]=memsir(temp))==0) printf("memorie insuficienta la alocarea sirului %d\n",i); break; for (j=0;j<i;j++) printf("%s\n",tabptr[j]); if((j+1)%23==0) printf("actionati o tasta pt. a continua..\n"); getch(); for(i=0;j<i;j++) free(tabptr[j]); return 0; void strcopy(char *d, char *s) while ( (*d++ = *s++)!= '\0') ; char *MemSir(char *s) char *p; if((p=(char *)malloc(strlen(s)+1))!=0) strcopy(p,s); return p; return NULL;

11 12.7. Pointeri către tablouri Evident un pointer va putea indica adresa de început a unei zone de memorie ce conţine un tablou. De exemplu, declaraţia unui pointer p către un tablou cu 10 elemente de tipul tip se scrie ca mai jos : tip (*p)[10]; Prezenţa parantezelor este obligatorie. Astfel de pointeri către tablouri vor avea ca unitate de operare în cazul operaţiilor cu pointeri numărul de octeţi necesari pentru memorarea tabloului (10*sizeof tip în cazul exemplului de mai sus).

Microsoft Word - CarteC.doc

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

Mai mult

L7

L7 Lucrarea de laborator nr. 7 POINTERI 1. Conţinutul lucrării În lucrare se prezintă tipul pointer, operaţiile permise asupra pointerilor, modul de alocare şi eliberare dinamică a memoriei. 2. Consideraţii

Mai mult

Limbaje de Programare Curs 6 – Functii de intrare-iesire

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

Mai mult

Limbaje de programare Pointeri. Alocare dinamică (continuare) 26 noiembrie 2012

Limbaje de programare Pointeri. Alocare dinamică (continuare) 26 noiembrie 2012 Limbaje de programare Pointeri. Alocare dinamică (continuare) 26 noiembrie 2012 EROARE: lipsa iniţializării E o EROARE să folosim o variabilă neiniţializată int sum; for (i=0; i++ < 10; ) sum += a[i];

Mai mult

Laborator 2 Incompatibilităţi/Diferenţe între C şi C++ Completări C++ Supraîncărcarea (redefinirea) numelui de funcţii În C nu este permisă existenţa

Laborator 2 Incompatibilităţi/Diferenţe între C şi C++ Completări C++ Supraîncărcarea (redefinirea) numelui de funcţii În C nu este permisă existenţa Laborator 2 Incompatibilităţi/Diferenţe între C şi C++ Completări C++ Supraîncărcarea (redefinirea) numelui de funcţii În C nu este permisă existenţa a două funcţii care au acelaşi nume În C++ acest lucru

Mai mult

SUBPROGRAME

SUBPROGRAME SUBPROGRAME Un subprogram este un ansamblu ce poate conţine tipuri de date, variabile şi instrucţiuni destinate unei anumite prelucrări (calcule, citiri, scrieri). Subprogramul poate fi executat doar dacă

Mai mult

Limbaje de Programare Curs 5 – Siruri de caractere

Limbaje de Programare   Curs 5 – Siruri de caractere Limbaje de Programare Curs 5 Şiruri de caractere Dr. Casandra Holotescu Universitatea Politehnica Timişoara Ce discutăm azi... 1 Şiruri de caractere 2 Tipul pointer 3 Funcţii cu şiruri de caractere Şiruri

Mai mult

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

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

Mai mult

Slide 1

Slide 1 1 PROIECTAREA ALGORITMILOR Lect. univ. dr. Adrian Runceanu 1 Curs Alocarea dinamică de memorie în C++ Conţinutul cursului 1. Tipuri de date. Conceptul de pointer 3. Operatori specifici pointerilor 4. Aritmetica

Mai mult

Programarea şi utilizarea calculatoarelor

Programarea şi utilizarea calculatoarelor Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Programarea calculatoarelor Lect.dr. Adrian Runceanu Curs 3 Elemente introductive ale

Mai mult

Microsoft PowerPoint - ImplementareLimbaj [Read-Only] [Compatibility Mode]

Microsoft PowerPoint - ImplementareLimbaj [Read-Only] [Compatibility Mode] Detalii de implementare. Declararea variabilelor, transmiterea parametrilor catre subprograme. Declararea variabilelor variabile globale -declarate in afara oricarei functii variabile locale -declarate

Mai mult

Microsoft Word - CarteC.doc

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

Mai mult

Top

Top PROGRAMARE ORIENTATĂ PE OBIECTE Tratarea excepțiilor O excepție este o eroare care poate să apară la rularea unui program. Exemple: încercarea de deschidere a unui fișier ce nu există depășirea limitelor

Mai mult

Microsoft PowerPoint - Curs_SDA_3_RO_2019_v2.pptx

Microsoft PowerPoint - Curs_SDA_3_RO_2019_v2.pptx Curs SDA (PC2) Curs 3 Pointeri (continuare) Structuri de date Iulian Năstac Pointeri (Recapitulare) Un pointer este o variabilă care conţine o adresă din memorie, unde se află valoarea altei variabile.

Mai mult

Adresarea memoriei Modurile de adresare constituie un instrument principal pentru reprezentarea în memorie a imaginii datelor, aşa cum este ace

Adresarea memoriei Modurile de adresare constituie un instrument principal pentru reprezentarea în memorie a imaginii datelor, aşa cum este ace 174 12 Adresarea memoriei Modurile de adresare constituie un instrument principal pentru reprezentarea în memorie a imaginii datelor, aşa cum este aceasta văzută de programatorul în limbaj de nivel înalt.

Mai mult

Object Oriented Programming

Object Oriented Programming UNIVERSITATEA BABEŞ-BOLYAI Facultatea de Matematică şi Informatică Programare orientată obiect Curs 02 Laura Dioşan 2 POO Elemente de bază ale limbajului C++ Referinţe şi pointeri Vectori TAD-uri 3 Tipul

Mai mult

-

- Cursul 6 Expresii în C/C++ (I) https://docs.microsoft.com/en-us/cpp/cpp/expressions-cpp După cum am văzut, într-un program de calcul scris în limbajul C/C++ prelucrarea datelor se realizează printr-o serie

Mai mult

Microsoft PowerPoint - Curs_SDA_4_RO_2019_v2.pptx

Microsoft PowerPoint - Curs_SDA_4_RO_2019_v2.pptx Curs SDA (PC2) Curs 4 Structuri de date (continuare) Iulian Năstac 10. Funcţii pentru alocarea dinamică a memoriei (Recapitulare) Alocarea dinamică este caracteristica prin care un program poate obţine

Mai mult

E_d_Informatica_sp_SN_2014_bar_10_LRO

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

Mai mult

LUCRAREA NR

LUCRAREA NR LUCRAREA NR. 5 TIPURI DE DATE STRUCTURATE În C există două categorii de tipuri de date structurate: tablourile şi structurile. Un tablou este o colecţie omogenă de valori de acelaşi tip identificate printr-un

Mai mult

Microsoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx

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

Mai mult

Limbaje de Programare Curs 8 – Fisiere

Limbaje de Programare   Curs 8 – Fisiere Limbaje de Programare Curs 8 Fişiere Dr. Casandra Holotescu Universitatea Politehnica Timişoara Ce discutăm azi... 1 Lucrul cu fişiere 2 Fişiere de tip text 3 Funcţii pentru cazuri de eroare 4 Fişiere

Mai mult

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx

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

Mai mult

Subiectul 1

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

Mai mult

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

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

Mai mult

E_d_Informatica_sp_MI_2015_bar_02_LRO

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

Mai mult

Slide 1

Slide 1 CURS 4 Structura generală a unui program C Program - ansamblu de instrucţiuni incluse în una sau mai multe funcţii, care specifică operaţiile ce trebuie efectuate asupra unor date pentru a fi prelucrate

Mai mult

Microsoft Word - O problema cu bits.doc

Microsoft Word - O problema cu bits.doc O problemă cu bits 1 Tiberiu Socaciu Enunţul Pe pagina Proful de Mate de pe Facebook 2 am primit de la un elev de clasa a IX-a următoarea provocare 3 : Vom oferi două soluţii, una folosind manipulări de

Mai mult

Programarea calculatoarelor. Note de curs Marius Minea 1 Introducere în programarea în C 1.1 Funcţii în limbajul C Calcule şi funcţii La origine, rolu

Programarea calculatoarelor. Note de curs Marius Minea 1 Introducere în programarea în C 1.1 Funcţii în limbajul C Calcule şi funcţii La origine, rolu 1 Introducere în programarea în C 1.1 Funcţii în limbajul C Calcule şi funcţii La origine, rolul programelor e de a efectua în principal calcule matematice. Discutăm de aceea structura programelor făcând

Mai mult

Microsoft Word - CarteC.doc

Microsoft Word - CarteC.doc INSTRUCŢIUNILE LIMBAJULUI C (2) Instrucţiuni repetitive Instrucţiunea while Instrucţiunea while are formatul: while(expresie) Expresie DA Instrucţiune NU Instrucţiunea while produce în primul rând evaluarea

Mai mult

Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere S

Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere S Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere Scopul acestei lucrări de laborator este de a familiariza

Mai mult

Propunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XII 1.Să se scrie în limbajul C/C++ definiţia comp

Propunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XII 1.Să se scrie în limbajul C/C++ definiţia comp Propunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XII 1.Să se scrie în limbajul C/C++ definiţia completă a subprogramului calcul, care primeşte prin intermediul

Mai mult

Paradigme de Programare

Paradigme de Programare Paradigme de Programare Conf. dr. ing. Andrei Olaru andrei.olaru@cs.pub.ro cs@andreiolaru.ro Departamentul de Calculatoare 2019 9 : 1 / 38 Cursul 9 Concluzie Paradigma Funcțională 9 : 2 / 38 Cursul 9:

Mai mult

Diapositive 1

Diapositive 1 Tablouri Operatii pe tablouri bidimensionale Lectii de pregatire pentru Admitere 09 / 03 / 2019 1 Cuprins Operatii pe tablouri bidimensionale 0. Tablouri unidimensionale scurta recapitulare 1.Tablouri

Mai mult

proiectarea bazelor de date

proiectarea bazelor de date Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie şi Dezvoltare Durabilă Departamentul de Automatică, Energie, Mediu şi Dezvoltare Durabilă Proiectarea bazelor de date Lect.dr. Adrian

Mai mult

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

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

Mai mult

Laborator 3

Laborator 3 Laborator 3 Programare III săptămâna 8-12.10.2018 OBIECTIVE: - Folosirea modificatorilor unei clase (public, abstract, final) - Folosirea modificatorilor de acces în declaraţiile membrilor unei clase Noţiuni:

Mai mult

Paradigme de programare

Paradigme de programare Curs 4 Transparență referențială. Legare statică / dinamică. Modelul contextual de evaluare. Transparență referențială Cuprins Efecte laterale Transparență referențială 2 Efecte laterale Efecte laterale

Mai mult

Programarea şi utilizarea calculatoarelor

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

Mai mult

Microsoft Word - c6.doc

Microsoft Word - c6.doc Proiectarea structurata top-down a programelor complexe Aplicatie Sa se scrie un program care citeste un fisier continand un text format din cuvinte si determina si afiseaza grupe de cuvinte, grupate in

Mai mult

Tipuri de date abstracte 30 noiembrie 2005 Programarea calculatoarelor 2. Curs 9 Marius Minea

Tipuri de date abstracte 30 noiembrie 2005 Programarea calculatoarelor 2. Curs 9 Marius Minea Tipuri de date abstracte 30 noiembrie 2005 Tipuri de date abstracte 2 Programe compuse din mai multe fişiere Implicit, obiectele declarate la nivel de fişier sunt unice într-un program (douǎ declaraţii

Mai mult

Microsoft Word - Cuprins_LP.doc

Microsoft Word - Cuprins_LP.doc Cuprins CUPRINS Unitatea de învăţare Titlu Pagina INTRODUCERE 5 1 ELEMENTE GENERALE ALE LIMBAJULUI C 7 Obiectivele unităţii de învăţare nr. 1 8 1.1. Structura programelor 8 1.2. Variabile. Tipuri de variabile.

Mai mult

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011 Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011 I. NOŢIUNI TEORETICE A. Ce este un fir de execuţie? Înainte de a defini conceptul de fir

Mai mult

PCLPII-C16(9)

PCLPII-C16(9) Programarea Calculatoarelor și Limbaje de Programare - Curs 16 Despre proiect ce s-a studiat? ce se va studia? proiectul tema date de intrare conţinut date de ieşire C9(16)-1 Ce s-a studiat? Instrucţiuni

Mai mult

tehnologii web

tehnologii web Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Tehnologii Web Lector univ. dr. Adrian Runceanu 1 Curs 7 Limbajul PHP (partea II) 2

Mai mult

Microsoft Word _POO_Lab_1_Modificari_v01.htm

Microsoft Word _POO_Lab_1_Modificari_v01.htm Laborator POO - 00 (draft) 00-00 / 0//00 00_POO_Lab Modificari_v0.htm POO Laborator Modificarea programelor Java. Studiu de caz: programul Salut.java. Varianta care utilizeaza un argument al programului

Mai mult

PowerPoint-Präsentation

PowerPoint-Präsentation Universitatea Transilvania din Braşov Laboratorul de Vedere Artificială Robustă şi Control Metode Numerice Curs 01 Introducere Gigel Măceșanu 1 Cuprins Obiectivele cursului Organizare: Structura cursului

Mai mult

Slide 1

Slide 1 STRUCTURI DE DATE Fundamente C/C++ EVALUARE SEMESTRU: 4 puncte Testare cunostinte: 1. Calculator (2 puncte) 2. Scris/Oral (2 puncte) 2 EVALUARE EXAMEN: 6 puncte Test cunostinte (pe calculator): 1 punct.

Mai mult

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

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

Mai mult

1

1 Laborator 3 Supraîncărcarea operatorilor (părțile II și III) 1. Supraîncărcarea operatorilor (părțile II și III) Exemplu 1: Consideram clasa sir, in care fiecare obiect retine adresa unui sir de caractere.

Mai mult

Tablouri unidimensionale Problema 1 Să se determine mulţimea cifrelor unui număr natural n > 0, dat. Exemplu: n= Cifre = {1,2,3,7} Se cere să s

Tablouri unidimensionale Problema 1 Să se determine mulţimea cifrelor unui număr natural n > 0, dat. Exemplu: n= Cifre = {1,2,3,7} Se cere să s 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

Mai mult

Matrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut s

Matrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut s Matrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut să stocați douăzeci de nume de angajați în variabile

Mai mult

Laborator 2 - Încapsularea Programare Orientată pe Obiecte Tema 2.1 Să se analizeze programul EX2.C Indicatii 2.1 A nu se uita de fisierul EX2.H Tema

Laborator 2 - Încapsularea Programare Orientată pe Obiecte Tema 2.1 Să se analizeze programul EX2.C Indicatii 2.1 A nu se uita de fisierul EX2.H Tema Laborator 2 - Încapsularea Tema 2.1 Să se analizeze programul EX2.C Indicatii 2.1 A nu se uita de fisierul EX2.H Tema 2.2 Să se modifice funcţiile referitoare la cerc astfel încât parametrul CERC să fie

Mai mult

ALGORITHMICS

ALGORITHMICS CURS 2: Descrierea algoritmilor în pseudocod =Exemple= 1 Structura Descrierea unor algoritmi simpli Specificarea și utilizarea subalgoritmilor 2 Exemplu 1 Considerăm un tabel cu informații despre studenți

Mai mult

Slide 1

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

Mai mult

Preprocesorul C Funcţii cu numǎr variabil de argumente 6 decembrie 2005 Programarea calculatoarelor 2. Curs 10 Marius Minea

Preprocesorul C Funcţii cu numǎr variabil de argumente 6 decembrie 2005 Programarea calculatoarelor 2. Curs 10 Marius Minea Preprocesorul C Funcţii cu numǎr variabil de argumente 6 decembrie 2005 Preprocesorul C. stdarg.h 2 Preprocesorul C extensii (macro-uri) pentru scrierea mai concisǎ a programelor preprocesorul efectueazǎ

Mai mult

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011 Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011 I. NOŢIUNI TEORETICE A. Suprascrierea metodelor O clasă derivată

Mai mult

Laborator 1-Teoria probabilitatilor si statistica matematica Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 1 P

Laborator 1-Teoria probabilitatilor si statistica matematica Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 1 P Laborator 1-Teoria probabilitatilor si statistica matematica Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 1 Prezentare generală Matlab 1.1 Help on-line 1. Limbajul

Mai mult

Lab6LCD

Lab6LCD LABORATOR 6 - Interfaţă pentru afişor cu cristale lichide (LCD), partea II-a Scopul lucrării În laboratorul anterior s-au implementat funcţiile rd_lcdreg(char vrs), wr_lcdreg(char vrs, char data), void

Mai mult

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

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

Mai mult

Microsoft Word - Curs_08.doc

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

Mai mult

Slide 1

Slide 1 STRUCTURI DE DATE Lista simpla Lista dubla LISTA LINIARA Lista liniara: Colectie de elemente denumite noduri; Relatie de ordine rezultata din pozitia nodurilor; Elemente de acelasi tip structura omogena;

Mai mult

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

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

Mai mult

Metode de programare Proiectarea algoritmilor

Metode de programare Proiectarea algoritmilor Metode de programare Asist.univ.dr. Simona Elena Vârlan Structura curs 2 ore de curs ambele specializări, titular curs Simona Elena Vârlan (cabinet D213, vineri) 2 ore de laborator o dată la două săptămâni,

Mai mult

Declararea variabilelor

Declararea variabilelor Platforma 3. 1 Instructiuni diverse Declararea variabilelor Tipuri de Date Tipul de dată al unui obiect/variabila specifica tipul informaţiei pe care acel obiect îl poate stoca. Exemplu: numere întregi,

Mai mult

SIRURI DE CARACTERE in C++ O constanta de tip sir de caractere de declara intre doua caractere. In memoria interna, o constanta de acest tip este reti

SIRURI DE CARACTERE in C++ O constanta de tip sir de caractere de declara intre doua caractere. In memoria interna, o constanta de acest tip este reti SIRURI DE CARACTERE in C++ O constanta de tip sir de caractere de declara intre doua caractere. In memoria interna, o constanta de acest tip este retinuta sub forma unui vector de caractere. Fiecare componenta

Mai mult

Lucrarea nr. 4 - Algoritmi de sortare şi ordonare Breviar teoretic Un algoritm de sortare este o metoda prin care se aranjează elementele unui tablou

Lucrarea nr. 4 - Algoritmi de sortare şi ordonare Breviar teoretic Un algoritm de sortare este o metoda prin care se aranjează elementele unui tablou Lucrarea nr. 4 - Algoritmi de sortare şi ordonare Breviar teoretic Un algoritm de sortare este o metoda prin care se aranjează elementele unui tablou într-o ordine precisă. Cele mai folosite tipuri de

Mai mult

Programarea şi utilizarea calculatoarelor

Programarea şi utilizarea calculatoarelor Programare orientată pe obiecte # 10 JAVA Limbajul JAVA. Clasa String 2018 Adrian Runceanu www.runceanu.ro/adrian copyright@www.adrian.runceanu.ro Curs 10 Clasa String in Java 03.12.2018 Curs - Programare

Mai mult

O NOUA PROBLEMA DE CONCURS OLIMPIADA MUNICIPALA DE INFORMATICA, IASI 2019 V-am promis într-un articol mai vechi ca vom prezenta pe acest blog câteva p

O NOUA PROBLEMA DE CONCURS OLIMPIADA MUNICIPALA DE INFORMATICA, IASI 2019 V-am promis într-un articol mai vechi ca vom prezenta pe acest blog câteva p O NOUA PROBLEMA DE CONCURS OLIMPIADA MUNICIPALA DE INFORMATICA, IASI 2019 V-am promis într-un articol mai vechi ca vom prezenta pe acest blog câteva problema interesante. Astăzi ne-am propus sa va supunem

Mai mult

Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de

Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de dezvoltare bazată pe un microcontroller ATmega 328P pe 8 biți cu 32kB memorie flash. Placa de dezvoltare conține:

Mai mult

PRELEGERE XIII PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE Noţiunea de funcţie - continuare VI. Funcţii recursive O funcţie se poate activa n

PRELEGERE XIII PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE Noţiunea de funcţie - continuare VI. Funcţii recursive O funcţie se poate activa n PRELEGERE XIII PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE Noţiunea de funcţie - continuare VI. Funcţii recursive O funcţie se poate activa nemijlocit pe ea însăşi de un număr nedeterminat de

Mai mult

PHP (II)

PHP (II) PHP şi MySQL Bazele de date sunt colecţii de date, aranjate într-o anumită formă Operaţii : - Crearea bazei de date; - Conectarea la baza de date; - Inserarea datelor in baza de date; - Ștergerea datelor

Mai mult

Capitole Speciale de Informatică Curs 2: Determinarea vocabularului de termeni şi a listelor de postări 4 octombrie 2018 Reamintim că listele de indec

Capitole Speciale de Informatică Curs 2: Determinarea vocabularului de termeni şi a listelor de postări 4 octombrie 2018 Reamintim că listele de indec Capitole Speciale de Informatică Curs 2: Determinarea vocabularului de termeni şi a listelor de postări 4 octombrie 2018 Reamintim că listele de indecşi inversaţi se construiesc în 4 paşi: 1. Se colectează

Mai mult

LUCRAREA 8 PROGRAMAREA NELINIARĂ ÎN REZOLVAREA PROBLEMELOR DIN ENERGETICĂ. METODE DE ORDINUL Aspecte generale Programarea neliniară are o foart

LUCRAREA 8 PROGRAMAREA NELINIARĂ ÎN REZOLVAREA PROBLEMELOR DIN ENERGETICĂ. METODE DE ORDINUL Aspecte generale Programarea neliniară are o foart LUCRAREA 8 PROGRAMAREA NELINIARĂ ÎN REZOLVAREA PROBLEMELOR DIN ENERGETICĂ. METODE DE ORDINUL 0 8.. Aspecte generale Programarea neliniară are o foarte mare importanţă în rezolvarea problemelor de optimizări,

Mai mult

Declaraţii. Instrucţiuni 19 octombrie 2005 Programarea calculatoarelor 2. Curs 3b Marius Minea

Declaraţii. Instrucţiuni 19 octombrie 2005 Programarea calculatoarelor 2. Curs 3b Marius Minea Declaraţii. Instrucţiuni 19 octombrie 2005 Declaraţii. Instrucţiuni 2 Domeniul de vizibilitate al identificatorilor Pt. orice identificator, compilatorul trebuie sǎ-i decidǎ semnificaţia Identificatorii

Mai mult

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

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

Mai mult

Analiză statică Analiza fluxului de date 23 octombrie 2014

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

Mai mult

Poo Laboratoare 1 Contents Laborator7 2 1 Colecţii de obiecte în Java Interfaţa Iterator Interfaţa C

Poo Laboratoare 1 Contents Laborator7 2 1 Colecţii de obiecte în Java Interfaţa Iterator Interfaţa C Poo Laboratoare 1 Contents Laborator7 2 1 Colecţii de obiecte în Java 2 1.1 Interfaţa Iterator...................................... 2 1.2 Interfaţa Collection.................................... 2 1.3

Mai mult

Microsoft PowerPoint - Curs_TPI_22_v01.ppt

Microsoft PowerPoint - Curs_TPI_22_v01.ppt UPB Facultatea ETTI Curs TPI an III RST 2009-2010 Tehnologii de Programare in Internet (TPI / RST) Titulari curs: Mihnea Magheti, Eduard-Cristian Popovici Suport curs: http://discipline.elcom.pub.ro/tpi/

Mai mult

Microsoft Word - 2 ES RO.doc

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

Mai mult

Propunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XI 1.Fişierul text bac.in conţine cel mult 1000 de

Propunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XI 1.Fişierul text bac.in conţine cel mult 1000 de Propunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XI 1.Fişierul text bac.in conţine cel mult 1000 de numere naturale cu cel mult patru cifre fiecare, despărţite

Mai mult

Procesarea Imaginilor Laborator 3: Histograma nivelurilor de intensitate 1 3. Histograma nivelurilor de intensitate 3.1. Introducere În această lucrar

Procesarea Imaginilor Laborator 3: Histograma nivelurilor de intensitate 1 3. Histograma nivelurilor de intensitate 3.1. Introducere În această lucrar Procesarea Imaginilor Laborator 3: Histograma nivelurilor de intensitate 1 3. Histograma nivelurilor de intensitate 3.1. Introducere În această lucrare se vor prezenta conceptul de histogramă a nivelurilor

Mai mult

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

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

Mai mult

LUMINIŢA SCRIPCARIU

LUMINIŢA SCRIPCARIU ANEXA A PROGRAMAREA SERVICIILOR INTERNET Programarea serviciilor de reţea implică o cunoaştere amănunţită a modului în care circulă datele prin Internet şi, mai precis, a protocoalelor din suita TCP/IP

Mai mult

PowerPoint Presentation

PowerPoint Presentation Circuite Integrate Digitale Conf. Monica Dascălu Curs Seminar Laborator notă separată Notare: 40% seminar 20% teme // + TEMA SUPLIMENTARA 40% examen 2014 CID - curs 1 2 Bibliografie Note de curs Cursul

Mai mult

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare. 1. În declararea alăturată, câmpurile x şi y ale înregistrării pot memora coordonatele carteziene ale unui punct din planul

Mai mult

Grile si probleme siruri de caractere in C++ ŞIRURI DE CARACTERE Itemii următori sunt preluaţi din variantele de bacalaureat În secvenţa de i

Grile si probleme siruri de caractere in C++ ŞIRURI DE CARACTERE Itemii următori sunt preluaţi din variantele de bacalaureat În secvenţa de i Grile si probleme siruri de caractere in C++ ŞIRURI DE CARACTERE Itemii următori sunt preluaţi din variantele de bacalaureat 2009. 1. În secvenţa de instrucţiuni de mai jos, variabila s memorează un şir

Mai mult

Analiză de flux de date 29 octombrie 2012

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

Mai mult

Aggregating Data

Aggregating Data Subinterogări. Subinterogări multi-row. Formatarea rezultatelor unei interogări Obiective Prin parcurgerea acestui referat studentul va dobândi cunoştinţele necesare: identificării funcţiilor grup disponibile;

Mai mult

Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiil

Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiil Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiilor (engl. Information Retrieval, IR) constă în găsirea

Mai mult

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

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

Mai mult

1

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

Mai mult

Modelarea si Simularea Sistemelor de Calcul

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

Mai mult

Secţiunea 7-8 începători Concurs online de informatică Categoria PROGRAMARE PROBLEMA 1 ID 100 puncte Calculatoarele trebuie să se recunoască în rețeau

Secţiunea 7-8 începători Concurs online de informatică Categoria PROGRAMARE PROBLEMA 1 ID 100 puncte Calculatoarele trebuie să se recunoască în rețeau PROBLEMA ID 00 puncte Calculatoarele trebuie să se recunoască în rețeaua de Internet printr-un ID. În prezent, există metode de identificare a ID-ului folosite la scară globală: IPv4 și IPv6. Adresele

Mai mult

PPSD

PPSD Modele paralele SPMD Modelul SPMD Comunicarea prin mesaje Message Passing Interface Modelul SPMD Modelul SPMD (Single Program Multiple Data) Acesta este un model adecvat calculatoarelor MIMD In cele ce

Mai mult

Tablouri (continuare)

Tablouri (continuare) Vector Dinamic DYNAMIC ARRAY Observații 1. Un tablou este static: nu pot fi inserate sau şterse celule. 2. Vector - tablou unidimensional 3. Reprezentarea vectorilor este secvenţială, adică elementele

Mai mult

Introducere în limbajul JavaScript

Introducere în limbajul JavaScript Introducere în limbajul JavaScript (III) HTML DOM (Document Object Model) DOM este un standard W3C (World Wide Web Consortium) care permite programelor și scripturilor accesarea dinamică a documentelor

Mai mult

PROGRAMARE ORIENTATA PE OBIECTE

PROGRAMARE ORIENTATA PE OBIECTE Curs 2 Principiile Programării Orientate pe Obiecte Programare Orientată pe Obiecte Tehnici de programare Programarea procedurală Modul în care este abordată programarea, din punct de vedere al descompunerii

Mai mult

Laborator 7: PROIECTAREA BAZELOR DE DATE SUBPROGRAME in PL/SQL (partea I - proceduri) Un subprogram este un bloc PL/SQL cu nume (spre deosebire de blo

Laborator 7: PROIECTAREA BAZELOR DE DATE SUBPROGRAME in PL/SQL (partea I - proceduri) Un subprogram este un bloc PL/SQL cu nume (spre deosebire de blo Laborator 7: PROIECTAREA BAZELOR DE DATE SUBPROGRAME in PL/SQL (partea I - proceduri) Un subprogram este un bloc PL/SQL cu nume (spre deosebire de blocurile anonime) care poate primi parametri şi poate

Mai mult