IV. PROGRAMAREA ORIENTATĂ PE OBIECTE
|
|
- Rodney Ellis
- 6 years ago
- Views:
Transcription
1 IV. PROGRAMAREA ORIENTATĂ PE OBIECTE 26. NOŢIUNI INTRODUCTIVE DESPRE POO Conceptul de programare structurată are la baza celebra ecuaţie a lui Niklaus Wirth: Algoritm + Structura de date = Program În unele aplicaţii complexe acest concept este deficitar în ceea ce priveşte reutilizarea, adaptarea şi extinderea unor module de program. Conceptul de programare orientată obiect, POO (în limba engleză, OOP - Object Oriented Programming), se bazează pe un ansamblu alcătuit dintr-o structură de date şi procedurile sau metodele de operare cu aceste date, formând împreună un obiect conform ecuaţiei: Date + Metode = Obiect Tehnica de programare orientată obiect este definită de urmatoarele criterii: 1) Structura modulară bazată pe obiecte: sistemele sunt modularizate pe baza structurilor de date ale acestora (datele trebuie să furnizeze criteriul de structurare fundamental). 2) Abstractizarea datelor: obiectele trebuie să fie descrise ca implementări ale tipurilor abstracte de date. 3) Gestiunea automată a memoriei: obiectele neutilizate trebuie să fie dealocate de sistemul limbajului de bază, fără intervenţia programatorului. 4) Clase: orice tip care nu este simlu este un modul şi orice modul de nivel înalt este un tip. Acest criteriu distinge în mod clar limbajele orientate obiect de celelalte limbaje. 5) Moştenirea: o clasă poate fi definită ca o extensie sau restricţie a alteia. 6) Polimorfismul şi legarea dinamică: entităţile de program trebuie să poată referi obiecte din mai multe clase, iar operaţiile trebuie să poată dispune realizări diferite în clase diferite. Astfel, prin polimorfism, o entitate a unui program poate referi în timpul rulării instanţieri din clase diferite, iar legarea dinamică permite ca sistemul în rulare să selecteze versiunea unei operări corespunzătoare instanţierii. 7) Moştenirea multiplă şi repetată: trebuie să existe posibilitatea să se declare o clasă ca moştenitoare a mai multor clase şi de mai multe ori pentru o aceeaşi clasă. 27. CLASE. CONSTRUCTORI ŞI DESTRUCTORI O clasă reprezintă o metodă logică pentru organizarea datelor şi funcţiilor (metodelor) în aceeaşi structură, prin folosirea cuvâtului cheie class, cu forma generală: class nume_clasă { etichetă_acces_1: membru1; etichetă_acces_2: membru2;... nume_obiect; unde: -nume_clasă este un nume ales de programator pentru clasa respectivă; -nume_obiect (opţional) este reprezentat printr-unul sau mai mulţi identificatori de obiecte valide aparţinând clasei respective; 1
2 -membru1, membru2,... pot fi declaraţii de date sau metode; -etichetă_acces_1, etichetă_acces_2,... sunt opţionale şi specifică drepturile de acces la membrii clasei care urmează şi pot fi: -private: membrii pot fi accesaţi numai de alţi membri ai aceleiaşi clase sau de membrii claselor prietene (reprezintă eticheta de acces implicită); -protected: membrii pot fi accesaţi de alţi membri ai aceleiaşi clase, ai claselor prietene şi ai claselor derivate; - membrii pot fi accesaţi de oriunde clasa este vizibilă. O referire la un membru al unei clase se face prin utilizarea nume_obiect.membru. În general, este necesar să se iniţializeze valorile variabilelor şi să se asigneze memoria dinamică pentru obiecte, ca acestea să fie operaţionale. Astfel, o clasă poate să includă o funcţie specială, constructor, având acelaşi nume ca numele clasei. Această funcţie este apelată automat când se crează o instanţă nouă a clasei respective. Destructorul are acelaşi nume cu numele clasei, precedat de caracterul '~'. Execută operaţia inversă. Acesta este apelat când un obiect este eliberat din memorie, fie pentru că domeniul său de existenţă s-a încheiat (exemplu: obiectul a fost definit ca un obiect local în cadrul unei funcţii şi funcţia s-a încheiat), fie pentru că este un obiect asignat dinamic şi este eliberat folosind operatorul delete. Constructorii şi destructorii se declară şi se definesc similar cu celelalte funcţii membre, însă având următoarele caracteristici: -numele coincide cu numele clasei de care aparţin, numele destructorului fiind precedat de caracterul '~'; -nu se specifică niciun tip rezultat; -nu se pot moşteni, dar se pot apela de clasa derivată; -constructorii pot avea parametri, inclusiv parametri impliciţi (un constructor fără parametri se numeşte constructor implicit) şi pot fi supradefiniţi, însă destructorii nu pot avea parametri. În cazul în care se omite definirea de constructori şi destructori pentru o clasă, compilatorul va genera un constructor implicit şi un destructor. Constructorii şi destructorii pot fi publici sau privaţi, dar de regulă se declară publici. La fel ca oricare altă funcţie, un constructor poate fi supraîncărcat cu o serie de funcţii având acelaşi nume dar parametri diferiţi ca număr sau tip. În cazul în care se declară o clasă fără specificarea niciunui constructor, compilatorul asociază în mod automat doi constructori, constructorul implicit (nu execută nici o operaţie) şi constructorul de copiere (pentru iniţializarea datelor membre ale unui obiect cu valorile datelor corespunzătoare altui obiect, ca la o operaţie de atribuire standard). Există posibilitatea de definire într-un program a pointerilor către clase, sub forma generală: nume_clasă * variabilă_pointer; referirea la un membru al obiectului indicat de un pointer se face prin: variabilă_pointer -> membru_obiect. Problema Să se definească o clasă reprezentând dreptunghiuri şi să se utilizeze pentru calcularea ariilor unor dreptunghiuri particulare având dimensiunile date. Soluţia I: class Dreptunghi { int *lungime, *latime; 2
3 Dreptunghi (int, int); ~Dreptunghi (); int aria (void) {return (*lungime * *latime); ; Dreptunghi::Dreptunghi (int a, int b) { lungime=new int; latime=new int; *lungime=a; *latime=b; Dreptunghi::~Dreptunghi () { delete lungime; delete latime; int main () { Dreptunghi drept1 (2,4), drept2 (3,5); cout << Aria dreptunghi 1: <<drept1.aria()<<endl; cout << Aria dreptunghi 2: <<drept2.aria()<<endl; Clasa Dreptunghi are următorii membrii: -doi pointeri latime si lungime pentru variabile dinamice de tip întreg având semnificaţiile corespunzătoare pentru un dreptunghi; -prototipurile constructorului Dreptunghi(int, int) şi destructorului ~Dreptunghi(), care sunt apoi definiţi în afara declaraţiei clasei; -funcţia inline aria(), care calculează aria dreptunghiului respectiv (este funcţie de tip inline, deoarece este definită chiar în cadrul declaraţiei clasei şi se inserează în codul funcţiilor apelante pentru fiecare apel). Pointerii lungime şi latime sunt consideraţi private, neavând nicio etichetă de acces la începutul declaraţiei, iar cele trei funcţii sunt declarate public. În afara declaraţiei clasei sunt definiţi constructorul Dreptunghi(int, int) şi destructorul ~Dreptunghi(), folosindu-se operatorul de rezoluţie '::', sub forma nume_clasă::funcţie. Avantajul acestei soluţii este că în timp ce pentru fiecare obiect creat (instanţiere a clasei respective) se alocă în memorie spaţiul necesar datelor membre, pentru aceste funcţii membre există un singur exemplar al codului, excepţie făcând evident funcţiile inline, de exemplu funcţia aria(). Constructorul Dreptunghi(int, int) este apelat la crearea unui obiect al clasei Dreptunghi, când iniţializează valorile variabilelor dinamice indicate de pointerii lungime şi latime cu valorile parametrilor acestuia. Destructorul ~Dreptunghi() elibereaza memoria ocupată de datele membre ale obiectului. Soluţia a II-a: class Dreptunghi { int lungime, latime; void seteaza_valoare (int, int); int aria (void) {return (lungime * latime); ; void Dreptunghi::seteaza_valoare (int a, int b) { lungime=a; 3
4 latime=b; int main () { Dreptunghi a, *b, *c; Dreptunghi *d=new Dreptunghi[2]; b=new Dreptunghi; c=&a; a.seteaza_valoare (1,2); b->seteaza_valoare (3,4); d->seteaza_valoare (5,6); d[1].seteaza_valoare (7,8); cout << "a aria: " << a.aria() << endl; cout << "*b aria: " << b->aria() << endl; cout << "*c aria: " << c->aria() << endl; cout <<"d[0] aria: " << d[0].aria() << endl; cout << "d[1] aria: " << d[1].aria() << endl; delete b; delete [] d; În această variantă nu au fost definiţi constructor şi destructor pentru clasa Dreptunghi, aceştia fiind generaţi în mod implicit de către compilator. În schimb au fost definite două funcţii membre ale clasei, seteaza_valoare şi aria, prima pentru atribuirea de valori variabilelor membre (lungime şi latime) ale unui obiect din clasa Dreptunghi, iar a doua pentru calcularea ariei obiectului (dreptunghiului). În funcţia main sunt declarate mai multe obiecte, astfel: -a este un obiect din clasa Dreptunghi; -b şi c sunt pointeri către obiecte din clasa Dreptunghi; -d este un pointer către un tablou de două obiecte aparţinând aceleiaşi clase. Prin atribuirea c=&a (pointerul c ia valoarea adresa obiectului a) rezultă că a şi *c reprezintă unul şi acelaşi obiect. De remarcat faptul că accesul la un membru y al unui obiect indicat de un pointer x se poate face în două moduri echivalente: (*x).y x->y În funcţia main d[0] reprezintă primul obiect indicat de pointerul d, iar d[1] este al doilea obiect indicat de d. Problema Să se definească o clasă corespunzătoare unei stive de numere întregi. class Stiva { int vector[200]; int indicator; int push (int); //adauga un element în vârful stivei int pop (int&); //extrage elementul din vârful stivei void afiseaza(); int full () { return(indicator==0); int empty () { return(indicator==200); void init () { indicator=200; 4
5 ; int Stiva::push (int a) { if (!full()) { indicator--; vector[indicator]=a; return 1; else { cout<<"stiva este plina!\n"; int Stiva::pop (int &a) { if (!empty()) { a=vector[indicator]; indicator++; return 1; else { cout<<"stiva este vida!\n"; void Stiva::afiseaza() { int i; cout<<endl<<"stiva contine:"<<endl; if (!empty()) for (i=indicator; i!=200; i++) cout<<vector[i]<<endl; else cout<<"...continut vid..."<<endl; void main () { int a; Stiva stv; stv.init(); stv.push(11); stv.push(22); stv.push(33); stv.pop(a); cout<<endl<<"elementul extras este "<<a<<endl; stv.push(44); În această problemă s-a definit o clasă numită Stiva, reprezentând o stivă de numere întregi. Clasa conţine următorii membrii: -vector este un tablou unidimensional cu 200 de elemente, în care se memorează datele încărcate în stivă; -indicator este indicatorul vârfului stivei, reprezentând indicele din tabloul vector în care s-a înscris ultima cea mai recentă dată; -funcţia in-line full întoarce valoarea 1 (adevărat) dacă stiva este plină şi valoarea 0 (fals) dacă stiva nu este plină; 5
6 -funcţia in-line empty întoarce valoarea 1 (adevărat) dacă stiva este goală şi respectiv, valoarea 0 (fals) dacă stiva nu este goală; -funcţia push execută depunerea unei date întregi (argumentul funcţiei) în vârful stivei, această operaţie se poate realiza numai dacă stiva nu este plină; -funcţia pop execută extragerea celui mai recent element depus în stivă, aflat în vârful stivei (depus în tabloul vector în poziţia dată de indicator), numai dacă stiva nu este goală; -funcţia afiseaza permite afişarea conţinutului curent al stivei. În funcţia main se declară un obiect stv de tip Stiva, pentru care se execută o succesiune de operaţii push şi pop, afişând după fiecare operaţie conţinutul curent al stivei. Problema Să se definească o clasă corespunzătoare şirurilor de numere întregi. class SirInt { private: int lung, sir[100]; SirInt () { //constructor lung=0; void citire (); void afisare (); void ordonare (); ; void SirInt::citire() { int i; cout<<endl<<"introduceti lungimea sirului:"; cin>>lung; cout<<"introduceti elementele sirului:"<<endl; for (i=0; i<lung; i++) { cout<<"x["<<i<<"]="; cin>>sir[i]; void SirInt::afisare() { int i; cout<<"sirul contine urmatoarele elemente:"; for (i=0; i<lung; i++) cout<<" x["<<i<<"]="<<sir[i]; void SirInt::ordonare() { int i, ordonat, temp; do { ordonat=1; for (i=1; i<lung; i++) if (sir[i-1]>sir[i]) { temp=sir[i-1]; sir[i-1]=sir[i]; sir[i]=temp; ordonat=0; while (ordonat==0); void main () { SirInt s; 6
7 cout<<"la initializarea obiectului:"<<endl; s.afisare(); s.citire(); cout<<"dupa citirea aleatoare a elementelor sirului:"<<endl; s.afisare(); s.ordonare(); cout<<endl<<"dupa ordonarea crescatoare:"<<endl; s.afisare(); Clasa SirInt conţine vectorul sir, tablou de numere întregi şi variabila întreagă lung (reprezentând lungimea efectivă a şirului) ca date membre şi, în afară de constructor, încă trei funcţii membre pentru operaţiile de citire, afişare şi ordonare ale unui şir. În funcţia main se declară un obiect de acest tip (când în mod automat se apelează constructorul clasei), rezultând un şir vid (de lungime 0), apoi se apelează funcţia citire pentru acest obiect, care permite introducerea de la tastatură a elementelor şirului, iar în final se face ordonarea crescătoare a componentelor şirului apelând funcţia ordonare. După fiecare etapă se afişează conţinutul şirului pentru a putea urmări efectul operaţiilor. Probleme propuse Să se definească o clasă corespunzătoare unei matrici pătrate de numere reale, având funcţii membre pentru citirea componentelor matricii, afişarea valorilor componentelor, calcularea mediei aritmetice a elementelor strict pozitive şi calcularea transpusei matricii. În funcţia main pentru un obiect al acestei clase se apelează funcţiile membre, afişându-se matricea iniţială, media aritmetică a elementelor strict pozitive şi matricea transpusă Să se definească o clasă corespunzătoare unei persoane, care să conţină ca date membre informaţii de identificare, cum sunt nume, prenume, cod numeric personal, adresă. De asemenea, clasa trebuie să conţină funcţii membre pentru citirea şi afişarea informaţiilor despre o persoană Să se definească o clasă corespunzătoare unei cozi (FIFO) circulare pentru stocarea de numere reale. În cadrul acestei clase se vor defini funcţii membre pentru test coadă vidă, test coadă plină, plasarea unei valori în coadă, extragerea valorii celei mai vechi din coadă, afişarea conţinutului cozii Să se definească o clasă corespunzătoare unei liste dublu înlănţuite de numere întregi plasate în ordine crescătoare. Să se scrie funcţii membre pentru test listă vidă, afişarea conţinutului listei, inserarea unui element nou, ştergerea unui element din listă. În funcţia main se introduc de la tastatură comenzi, reprezentate printr-un singur caracter, pentru operaţiile de inserare un număr, ştergere un număr şi încheiere program. 7
Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice
Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice "Îmbunătăţirea proceselor şi activităţilor educaţionale în cadrul programelor de licenţă şi masterat în domeniul
More informationVersionare - GIT ALIN ZAMFIROIU
Versionare - GIT ALIN ZAMFIROIU Controlul versiunilor - necesitate Caracterul colaborativ al proiectelor; Backup pentru codul scris Istoricul modificarilor Terminologie și concepte VCS Version Control
More informationPROIECTAREA ALGORITMILOR
Universitatea Constantin Brâncuşi Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu 3 PROIECTAREA ALGORITMILOR Lect. univ. dr. Adrian Runceanu 1 Curs 3 Alocarea dinamică de
More information2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N
Pentru a putea vizualiza imaginile unei camere web IP conectată într-un router ZTE H218N sau H298N, este necesară activarea serviciului Dinamic DNS oferit de RCS&RDS, precum și efectuarea unor setări pe
More informationMetrici LPR interfatare cu Barix Barionet 50 -
Metrici LPR interfatare cu Barix Barionet 50 - Barionet 50 este un lan controller produs de Barix, care poate fi folosit in combinatie cu Metrici LPR, pentru a deschide bariera atunci cand un numar de
More informationProcesarea Imaginilor
Procesarea Imaginilor Curs 11 Extragerea informańiei 3D prin stereoviziune Principiile Stereoviziunii Pentru observarea lumii reale avem nevoie de informańie 3D Într-o imagine avem doar două dimensiuni
More informationArbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }
Arbori Arborii, ca şi listele, sunt structuri dinamice. Elementele structurale ale unui arbore sunt noduri şi arce orientate care unesc nodurile. Deci, în fond, un arbore este un graf orientat degenerat.
More informationStructura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin
Structura și Organizarea Calculatoarelor Titular: BĂRBULESCU Lucian-Florentin Chapter 3 ADUNAREA ȘI SCĂDEREA NUMERELOR BINARE CU SEMN CONȚINUT Adunarea FXP în cod direct Sumator FXP în cod direct Scăderea
More informationARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)
ARBORI AVL (denumiti dupa Adelson-Velskii si Landis, 1962) Georgy Maximovich Adelson-Velsky (Russian: Гео ргий Макси мович Адельсо н- Ве льский; name is sometimes transliterated as Georgii Adelson-Velskii)
More informationReflexia şi refracţia luminii. Aplicaţii. Valerica Baban
Reflexia şi refracţia luminii. Aplicaţii. Sumar 1. Indicele de refracţie al unui mediu 2. Reflexia şi refracţia luminii. Legi. 3. Reflexia totală 4. Oglinda plană 5. Reflexia şi refracţia luminii în natură
More informationSubiecte Clasa a VI-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
More informationLaborator 4 Moştenirea
Laborator 4 Moştenirea Tema 4.1 Analizaţi programul din fişierele Lab4.H,Lab4.CPP, CERC.H, CERC.CPP din anexa 4. Tema 4.2 Să se împartă clasa CERC în două clase astfel încât clasa CERC să devină o clasă
More informationGHID DE TERMENI MEDIA
GHID DE TERMENI MEDIA Definitii si explicatii 1. Target Group si Universe Target Group - grupul demografic care a fost identificat ca fiind grupul cheie de consumatori ai unui brand. Toate activitatile
More informationGhid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows
Ghid identificare versiune AWP, instalare AWP 4.5.4 şi verificare importare certificat în Store-ul de Windows Data: 28.11.14 Versiune: V1.1 Nume fişiser: Ghid identificare versiune AWP, instalare AWP 4-5-4
More informationCERERI SELECT PE O TABELA
SQL - 1 CERERI SELECT PE O TABELA 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890 11 1325
More informationREVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC
REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC Anul II Nr. 7 aprilie 2013 ISSN 2285 6560 Referent ştiinţific Lector univ. dr. Claudiu Ionuţ Popîrlan Facultatea de Ştiinţe Exacte Universitatea din
More informationMecanismul de decontare a cererilor de plata
Mecanismul de decontare a cererilor de plata Autoritatea de Management pentru Programul Operaţional Sectorial Creşterea Competitivităţii Economice (POS CCE) Ministerul Fondurilor Europene - Iunie - iulie
More informationModalitǎţi de clasificare a datelor cantitative
Modalitǎţi de clasificare a datelor cantitative Modul de stabilire a claselor determinarea pragurilor minime şi maxime ale fiecǎrei clase - determinǎ modul în care sunt atribuite valorile fiecǎrei clase
More informationOlimpiad«Estonia, 2003
Problema s«pt«m nii 128 a) Dintr-o tabl«p«trat«(2n + 1) (2n + 1) se ndep«rteaz«p«tr«telul din centru. Pentru ce valori ale lui n se poate pava suprafata r«mas«cu dale L precum cele din figura de mai jos?
More informationUpdate firmware aparat foto
Update firmware aparat foto Mulţumim că aţi ales un produs Nikon. Acest ghid descrie cum să efectuaţi acest update de firmware. Dacă nu aveţi încredere că puteţi realiza acest update cu succes, acesta
More informationExcel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.
Excel Advanced Curriculum Școala Informală de IT Tel: +4.0744.679.530 Web: www.scoalainformala.ro / www.informalschool.com E-mail: info@scoalainformala.ro Cuprins 1. Funcții Excel pentru avansați 2. Alte
More informationPlatformă de e-learning și curriculă e-content pentru învățământul superior tehnic
Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul
More informationAuditul financiar la IMM-uri: de la limitare la oportunitate
Auditul financiar la IMM-uri: de la limitare la oportunitate 3 noiembrie 2017 Clemente Kiss KPMG in Romania Agenda Ce este un audit la un IMM? Comparatie: audit/revizuire/compilare Diferente: audit/revizuire/compilare
More informationMS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila
MS POWER POINT s.l.dr.ing.ciprian-bogdan Chirila chirila@cs.upt.ro http://www.cs.upt.ro/~chirila Pornire PowerPoint Pentru accesarea programului PowerPoint se parcurg următorii paşi: Clic pe butonul de
More informationLucrarea de laborator nr. 4
Metode merice - Lucrarea de laborator 4 Lucrarea de laborator nr. 4 I. Scopul lucrării Elemente de programare în MAPLE II. III. Conţinutul lucrării 1. Atribuirea. Decizia. Structuri repetitive. 2. Proceduri
More informationClase si obiecte. 1. Scopul lucrării. 2. Clase simple
Clase si obiecte 1. Scopul lucrării Obiectivele de învățare ale acestei sesiuni de laborator sunt cunoașterea și stăpânirea: Învățarea modului corect de declarare a claselor, definirea si instantierea
More informationTextul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND
Textul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC BY-NC-ND Codul sursa din acest document este licentiat Public-Domain Esti liber sa distribui acest document
More informationPlatformă de e-learning și curriculă e-content pentru învățământul superior tehnic
Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul
More informationSemnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)
Semnale şi sisteme Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC) http://shannon.etc.upt.ro/teaching/ssist/ 1 OBIECTIVELE CURSULUI Disciplina îşi propune să familiarizeze
More informationProiectarea bazelor de date. PL/SQL Înregistrări și Colecții # 13. Adrian Runceanu
Proiectarea bazelor de date # 13 PL/SQL Înregistrări și Colecții 2016 Adrian Runceanu www.runceanu.ro/adrian Curs 13 Înregistrări și Colecții Proiectarea bazelor de date 2 Înregistrări și Colecții în PL/SQL
More informationTema 1 - Transferuri de date DMA intr-o arhitectura de tip Cell
Tema 1 - Transferuri de date DMA intr-o arhitectura de tip Cell Termen de trimitere a temei: Luni, 31 martie 2008, ora 23:55 1. Specificatii functionale O arhitectura de tip Cell consta din urmatoarele
More informationMods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip
Mods euro truck simulator 2 harta romaniei by elyxir Mods euro truck simulator 2 harta romaniei by elyxir.zip 26/07/2015 Download mods euro truck simulator 2 harta Harta Romaniei pentru Euro Truck Simulator
More informationX-Fit S Manual de utilizare
X-Fit S Manual de utilizare Compatibilitate Acest produs este compatibil doar cu dispozitivele ce au următoarele specificații: ios: Versiune 7.0 sau mai nouă, Bluetooth 4.0 Android: Versiune 4.3 sau mai
More information9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.
9. Memoria Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date. Primul nivel conține memorie de program cache (L1P) și memorie de date cache (L1D). Al doilea
More informationAspecte controversate în Procedura Insolvenţei şi posibile soluţii
www.pwc.com/ro Aspecte controversate în Procedura Insolvenţei şi posibile soluţii 1 Perioada de observaţie - Vânzarea de stocuri aduse în garanţie, în cursul normal al activității - Tratamentul leasingului
More informationProiectarea Sistemelor Software Complexe
Proiectarea Sistemelor Software Complexe Curs 3 Principii de Proiectare Orientată pe Obiecte Principiile de proiectare orientată pe obiecte au fost formulate pentru a servi ca reguli pentru evitarea proiectării
More informationItemi Sisteme de Operare
Itemi Sisteme de Operare 1. Pentru a muta un dosar (folder) de pe partiţia C: pe partiţia D: folosim: a. New Folder b. Ctrl + C din bara de instrumente şi Copy; c. Ctrl + X şi Ctrl + V; d. Edit Paste;
More informationCAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET
CAIETUL DE SARCINI Organizare evenimente VS/2014/0442 Euro network supporting innovation for green jobs GREENET Str. Dem. I. Dobrescu, nr. 2-4, Sector 1, CAIET DE SARCINI Obiectul licitaţiei: Kick off,
More informationD în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm
Preparatory Problems 1Se dau punctele coliniare A, B, C, D în această ordine aî AB 4 cm, AC cm, BD 15cm a) calculați lungimile segmentelor BC, CD, AD b) determinați distanța dintre mijloacele segmentelor
More informationHEAPSORT I. CONSIDERAŢII TEORETICE
I. CONSIDERAŢII TEORETICE HEAPSORT Algoritm de sortare care combină calităţile sortării prin inserţie cu cele ale sortării prin interclasare. A fost inventat de Williams 1964. Prin heapsort se ordonează
More informationDocumentaţie Tehnică
Documentaţie Tehnică Verificare TVA API Ultima actualizare: 27 Aprilie 2018 www.verificaretva.ro 021-310.67.91 / 92 info@verificaretva.ro Cuprins 1. Cum funcţionează?... 3 2. Fluxul de date... 3 3. Metoda
More informationM. Joldoş Îndrumător de laborator 7. Moştenire. Moştenirea
Moştenirea 1 super(...) constructorul superclasei (părintelui) Un obiect are câmpurile propriei clase plus câmpurile clasei părinte, ale clasei bunic ş.a.m.d. până sus la la clasa rădăcină, clasa Object.
More informationLa fel ca şi noţiunile de abstractizare şi încapsulare, ierarhizarea este un concept fundamental
Lecţia 5 Relaţia de moştenire Între obiectele lumii care ne înconjoară există de multe ori anumite relaţii. Spre exemplu, putem spune despre un obiect autovehicul că are ca şi parte componentă un obiect
More informationPropuneri pentru teme de licență
Propuneri pentru teme de licență Departament Automatizări Eaton România Instalație de pompare cu rotire în funcție de timpul de funcționare Tablou electric cu 1 pompă pilot + 3 pompe mari, cu rotirea lor
More informationINTEROGĂRI ÎN SQL SERVER
INTEROGĂRI ÎN SQL SERVER Principala operaţie efectuată într-o bază de date este operaţia de extragere a datelor, care se realizează cu ajutorul unei clauze SELECT. SELECT Clauza SELECT are o sintaxă foarte
More informationSGBD Access 2010: Query
SGBD Access 2010: Query Interogarea (Query) este un obiect ce permite vizualizarea informaţiilor obţinute prin selectarea şi prelucrarea datelor din unul sau mai multe tabele (sau interogări) Rezultatul
More informationMetoda BACKTRACKING. prof. Jiduc Gabriel
Metoda BACKTRACKING prof. Jiduc Gabriel Un algoritm backtracking este un algoritm de căutare sistematică și exhausivă a tuturor soluțiilor posibile, dintre care se poate alege apoi soluția optimă. Problemele
More informationProprietăţi obiectual-relaţionale în standardul SQL prof. dr. ing. Mircea Petrescu
Proprietăţi obiectual-relaţionale în standardul SQL prof. dr. ing. Mircea Petrescu Tipuri construite interne (build-in) Din faza iniţială a existenţei sale, SQL a permis utilizarea tipurilor atomice pentru
More informationBaze de date distribuite și mobile
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Baze de date distribuite și mobile Lect.dr. Adrian Runceanu Curs 3 Model fizic şi model
More informationThe First TST for the JBMO Satu Mare, April 6, 2018
The First TST for the JBMO Satu Mare, April 6, 08 Problem. Prove that the equation x +y +z = x+y +z + has no rational solutions. Solution. The equation can be written equivalently (x ) + (y ) + (z ) =
More information2. Setări configurare acces la o cameră web conectată într-un echipament HG8121H cu funcție activă de router
Pentru a putea vizualiza imaginile unei camere web IP conectată într-un echipament Huawei HG8121H, este necesară activarea serviciului Dinamic DNS oferit de RCS&RDS, precum și efectuarea unor setări pe
More informationStructuri de date: ARBORI
Structuri de date: ARBORI Organizarea liniară de tip listă este adecvată pentru aplicaţiile în care datele (elementele din listă) formează o mulţime omogenă si deci se află pe acelasi nivel. În multe aplicaţii,
More informationEN teava vopsita cu capete canelate tip VICTAULIC
ArcelorMittal Tubular Products Iasi SA EN 10217-1 teava vopsita cu capete canelate tip VICTAULIC Page 1 ( 4 ) 1. Scop Documentul specifica cerintele tehnice de livrare pentru tevi EN 10217-1 cu capete
More informationProgramare în limbaj de asamblare 16. Formatul instrucţiunilor (codificare, moduri de adresare).
Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Programare în limbaj de asamblare 16. Formatul instrucţiunilor (codificare, moduri de adresare). Formatul instrucţiunilor
More informationINFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )
FLEXIMARK FCC din oțel inoxidabil este un sistem de marcare personalizată în relief pentru cabluri și componente, pentru medii dure, fiind rezistent la acizi și la coroziune. Informații Included in FLEXIMARK
More informationISBN-13:
Regresii liniare 2.Liniarizarea expresiilor neliniare (Steven C. Chapra, Applied Numerical Methods with MATLAB for Engineers and Scientists, 3rd ed, ISBN-13:978-0-07-340110-2 ) Există cazuri în care aproximarea
More informationProiectarea bazelor de date # 11. PL/SQL Funcții în PL/SQL (partea a II-a) Adrian Runceanu
Proiectarea bazelor de date # 11 PL/SQL Funcții în PL/SQL (partea a II-a) 2018 Adrian Runceanu www.runceanu.ro/adrian Curs 11 Funcţii în PL/SQL (partea II) Proiectarea bazelor de date 2 Cuprins Funcţii
More informationMulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii
Mulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii ilincamircea@yahoo.com TEMA III.1 v1 : ORGANIZAREA DATELOR UNUI PROGRAM C/C++ ÎN MO postat 02.11.2016 (sinteză) Coținutul
More informationLaborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog
Laborator 1 Programare declarativă O paradigmă de programare în care controlul fluxului de execuție este lăsat la latitudinea implementării limbajului, spre deosebire de programarea imperativă în care
More informationBAZE DE DATE LECTOR DR. ADRIAN RUNCEANU
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU 03.03.2013 Curs 1 - BAZE DE DATE 2 Curs 1 Noţiuni
More informationProceduri stocate. Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig.
Proceduri stocate Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig. 1 Odată cu deschiderea editorului SQL, apare și bara de instrumente
More informationUpdating the Nomographical Diagrams for Dimensioning the Concrete Slabs
Acta Technica Napocensis: Civil Engineering & Architecture Vol. 57, No. 1 (2014) Journal homepage: http://constructii.utcluj.ro/actacivileng Updating the Nomographical Diagrams for Dimensioning the Concrete
More informationÎn continuare vom prezenta unele dintre problemele de calcul ale numerelor Fibonacci.
O condiţie necesară şi suficientă ca un număr să fie număr Fibonacci Autor: prof. Staicu Ovidiu Ninel Colegiul Economic Petre S. Aurelian Slatina, jud. Olt 1. Introducere Propuse de Leonardo Pisa în 1202,
More informationSubiectele pentru proba practică din cadrul examenului de Paradigme de Programare Sesiunea iunie 2015
Subiectele pentru proba practică din cadrul examenului de Paradigme de Programare Sesiunea iunie 2015 Considerații generale cu privire la proba practică: La examen studentul va avea acces la cursurile
More informationLa fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",
La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - (ex: "9", "125", 1573" - se va scrie fara ghilimele) Parola: -
More informationNume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final
Enunt si descriere aplicatie. Se presupune ca o organizatie (firma, banca, etc.) trebuie sa trimita scrisori prin posta unui numar (n=500, 900,...) foarte mare de clienti pe care sa -i informeze cu diverse
More information5.1 Definirea datelor în SQL
SQL Acronim pentru Structured Query Language Dezvoltat pentru sistemul de gestiune a bazelor de date System R, creat de IBM Research Laboratory, San Jose, California, la sfârşitul anilor 70. SQL a fost
More informationManagementul referinţelor cu
TUTORIALE DE CULTURA INFORMAŢIEI Citarea surselor de informare cu instrumente software Managementul referinţelor cu Bibliotecar Lenuţa Ursachi PE SCURT Este gratuit Poţi adăuga fişiere PDF Poţi organiza,
More informationMetoda de programare BACKTRACKING
Metoda de programare BACKTRACKING Sumar 1. Competenţe............................................ 3 2. Descrierea generală a metodei............................. 4 3......................... 7 4. Probleme..............................................
More informationMacrocomenzi. Figura 1. Personalizarea barei de meniuri. Se va afișa fereastra din figura 2. Figura 2. Includerea tab ului Developer.
Macrocomenzi Macrocomenzile (sau, prescurtat macrou rile) sunt colecții de comenzi înregistrate pentru a putea fi lansate în execuție, în bloc, ori de câte ori va fi nevoie. Avantajul lucrului cu macro
More informationCapitolul IV. Programarea în limbajul C
Capitolul IV. Programarea în limbajul C 1. Scurt istoric Părintele limbajului C este Dennis Ritchie (Bell Laboratories) Limbajul a fost proiectat în 1972 pentru implementarea unui sistem de operare pentru
More information3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER
3.2 Arhitectura setului de instrucţiuni ISA Copyright Paul GASNER Programarea CPU Programele scrise în limbaje de nivel înalt trebuie compilate pentru a obţine un program executabil Din punctul de vedere
More informationGrafuri bipartite. Lecție de probă, informatică clasa a XI-a. Mihai Bărbulescu Facultatea de Automatică și Calculatoare, UPB
Grafuri bipartite Lecție de probă, informatică clasa a XI-a Mihai Bărbulescu b12mihai@gmail.com Facultatea de Automatică și Calculatoare, UPB Colegiul Național de Informatică Tudor Vianu București 27 februarie
More informationARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE. LUCRĂRILE DE LABORATOR Nr. 6, 7 şi 8 REPREZENTAREA INFORMAŢIILOR NUMERICE ÎNTREGI ŞI REALE.
ARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE LUCRĂRILE DE LABORATOR Nr. 6, 7 şi 8 REPREZENTAREA INFORMAŢIILOR NUMERICE ÎNTREGI ŞI REALE. I. SCOPUL LUCRĂRILOR Lucrările prezintă reprezentarea
More informationLucrarea de laborator nr. 2 - Applet-uri şi aplicaţii Java care lucrează cu obiecte. Breviar teoretic. Obiecte
Lucrarea de laborator nr. 2 - Applet-uri şi aplicaţii Java care lucrează cu obiecte Breviar teoretic Obiecte Reprezentarea lumii înconjurătoare se realizează în memoria sistemelor de calcul utilizând numere,
More informationBehavioral design patterns (comportamentale) ALIN ZAMFIROIU
Behavioral design patterns (comportamentale) ALIN ZAMFIROIU Behavioral design patterns Furnizează soluții pentru o mai bună interacțiune între obiecte și clase. Aceste design pattern-uri controlează relațiile
More informationAPLICAŢIE INFORMATICĂ PENTRU PREGĂTIREA MISIUNILOR DE NIVEL TACTIC
APLICAŢIE INFORMATICĂ PENTRU PREGĂTIREA MISIUNILOR DE NIVEL TACTIC Asist.univ.drd. Romana OANCEA Conf.univ.dr.ing. Ghiţă BÂRSAN Academia Forţelor Terestre Nicolae Bălcescu Sibiu Abstract The paper describes
More informationO abordare Data Mining pentru detectarea accesului neautorizat la baza de date.
O abordare Data Mining pentru detectarea accesului neautorizat la baza de date. 1. Introducere 2. Lucrări asemănătoare 3. Modelul de clasificare 4. Dependenţele intre date 4.1 Terminologia dependenţei
More informationDispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive.
. egimul de curent continuu de funcţionare al sistemelor electronice În acest regim de funcţionare, valorile mărimilor electrice ale sistemului electronic sunt constante în timp. Aşadar, funcţionarea sistemului
More informationR O M Â N I A CURTEA CONSTITUŢIONALĂ
R O M Â N I A CURTEA CONSTITUŢIONALĂ Palatul Parlamentului Calea 13 Septembrie nr. 2, Intrarea B1, Sectorul 5, 050725 Bucureşti, România Telefon: (+40-21) 312 34 84; 335 62 09 Fax: (+40-21) 312 43 59;
More information9. CURSOARE. Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors.
9. CURSOARE Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors. Cursoare sunt zone de memorie care ne permit să alocam o zonă de memorie
More informationReţele Neuronale Artificiale în MATLAB
Reţele Neuronale Artificiale în MATLAB Programul MATLAB dispune de o colecţie de funcţii şi interfeţe grafice, destinate lucrului cu Reţele Neuronale Artificiale, grupate sub numele de Neural Network Toolbox.
More informationLucrarea Nr.1. Sisteme de operare. Generalitati
Lucrarea Nr.1 Sisteme de operare. Generalitati Scopul lucrarii Lucrarea îsi propune familiarizarea studentilor cu sistemele de operare disponibile în laborator, respectiv acele sisteme de operare cu ajutorul
More informationPROIECT. La Baze de date. Evidența activității pentru o firmă IT. Îndrumător: ș. l. dr. ing. Mirela Danubianu. Efectuat de: Grigoriev Sergiu gr.
PROIECT La Baze de date Evidența activității pentru o firmă IT Îndrumător: ș. l. dr. ing. Mirela Danubianu Efectuat de: Grigoriev Sergiu gr. 1131B Suceava 2011 Cuprins 1. DESCRIERE 3 2. MODELAREA CONCEPTUALĂ
More informationCHAMPIONS LEAGUE 2017 SPONSOR:
NOUA STRUCTURĂ a Ch League Pe viitor numai fosta divizie A va purta numele Champions League. Fosta divizie B va purta numele Challenger League iar fosta divizie C se va numi Promotional League. CHAMPIONS
More informationCreare baza de data Deschidem aplicaţia Microsoft Access. Lansarea în execuţie a programului se face urmând calea:
Baze de date Pentru început este bine să înţelegem noţiunile de bază din Access: modul de organizare a unei baze de date, a noţiunilor de tabel, înregistrare, câmp, tip de dată al câmpului, proprietăţi
More informationINSTRUMENTE DE MARKETING ÎN PRACTICĂ:
INSTRUMENTE DE MARKETING ÎN PRACTICĂ: Marketing prin Google CUM VĂ AJUTĂ ACEST CURS? Este un curs util tuturor celor implicați în coordonarea sau dezvoltarea de campanii de marketingși comunicare online.
More informationLaborator 2. Definirea tablourilor şi a funcţiilor (în linia de comandă) în Matlab 7.0
Laborator Definirea tablourilor şi a funcţiilor (în linia de comandă) în Matlab 70 Bibliografie 1 NH Bingham, John M Fry, Regression Linear Models in Statistics, Springer, New York, 010 M Ghinea, V Fireţeanu,
More informationLINEAR VOLTAGE-TO-CURRENT CONVERTER WITH SMALL AREA
BULETINUL INSTITUTULUI POLITEHNIC DIN IAŞI Publicat de Universitatea Tehnică Gheorghe Asachi din Iaşi Tomul LXI (LXV), Fasc. 1, 2015 Secţia ELECTROTEHNICĂ. ENERGETICĂ. ELECTRONICĂ LINEAR VOLTAGE-TO-CURRENT
More informationTehnici nealeatoare de esantionare utilizate în practica statistica
82 Revista Informatica Economica, nr. 2 (8)/200 Tehnici nealeatoare de esantionare utilizate în practica statistica Conf.dr. Tudorel ANDREI Catedra de Statistica si Previziune Economica, A.S.E. Bucuresti
More informationCERERI SELECT PE MAI MULTE TABELE
SQL - 2 CERERI SELECT PE MAI MULTE TABELE 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890
More informationColegiul Național Calistrat Hogaș Piatra-Neamț LIMBAJUL SQL
LIMBAJUL SQL Prezentare generală SQL (Structured Query Language) este în prezent, unul din cele mai puternice limbaje structurate pentru interogarea bazelor de date relaţionale. Este un limbaj neprocedural
More informationBAZE DE DATE LECTOR DR. ADRIAN RUNCEANU
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU 28.04.2014 Curs 1 - BAZE DE DATE 2 Curs 1 Noţiuni
More informationPACHETE DE PROMOVARE
PACHETE DE PROMOVARE Școala de Vară Neurodiab are drept scop creșterea informării despre neuropatie diabetică și picior diabetic în rândul tinerilor medici care sunt direct implicați în îngrijirea și tratamentul
More information[{CYCLE NOCYCLE}] [{CACHE
Laborator 10 1. Secvenţe Secvenţa este un obiect al bazei de date ce permite generarea de întregi unici pentru a fi folosiţi ca valori pentru cheia primară sau coloane numerice unice. Secvenţele sunt independente
More informationCapitolul 4 SUBCERERI. F. Radulescu. Curs: Baze de date - Limbajul SQL
Capitolul 4 SUBCERERI 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890 11 1325 VASILE 2
More informationSolutii avansate pentru testarea si diagnoza masinilor industriale.
Solutii avansate pentru testarea si diagnoza masinilor industriale 15 ani de activitate in domeniul procesarii numerice a semnalelor Solutii de inalta acuratete pentru analiza sunetelor, vibratiilor si
More informationCap.5 Normalizarea relaţiilor
CAPITOLUL 5 NORMALIZAREA RELAŢIILOR Dependenţele de date reprezintă constrângeri care se impun valorilor atributelor unei relaţii şi determină proprietăţile relaţiei în raport cu operaţiile de inserare,
More informationEvoluția pieței de capital din România. 09 iunie 2018
Evoluția pieței de capital din România 09 iunie 2018 Realizări recente Realizări recente IPO-uri realizate în 2017 și 2018 IPO în valoare de EUR 312.2 mn IPO pe Piața Principală, derulat în perioada 24
More informationPrintesa fluture. Мобильный портал WAP версия: wap.altmaster.ru
Мобильный портал WAP версия: wap.altmaster.ru Printesa fluture Love, romance and to repent of love. in romana comy90. Formular de noastre aici! Reduceri de pret la stickere pana la 70%. Stickerul Decorativ,
More information