Sunteți pe pagina 1din 38

Clase II

Curs 3
Curs anterior
• Clase

• Specificatori de acces

• Contructorii

• Destructorii

• Constructor de copiere
Cuprins
• Cuvântul cheie this

• Funcţii/clase prietene

• Membri statici

• Modificatori de acces

• Relaţii între clase


▫ Asociere
▫ Agregare
▫ Compoziţie
▫ Moştenire
Cuprins
• Cuvântul cheie this

• Funcţii/clase prietene

• Membri statici

• Modificatori de acces

• Relaţii între clase


▫ Asociere
▫ Agregare
▫ Compoziţie
▫ Moştenire
Cuvântul cheie this
• Cuvântul cheie this – autoreferinţă

• Este un pointer accesibil doar dintr-un context non-static al unei


clase, structuri sau uniuni

• Pointează spre obiectul pentru care funcţia membru este apelată

• Folosirea acestuia este implicită dar se poate utiliza şi explicit

// declaratii echivalente
void DataCalendaristica::setLuna( int mn ) {
luna= mn;
this->luna = mn;
(*this).luna = mn;
}
Cuvântul cheie this
• Folosire explicită
▫ Identificarea obiectului curent
DataCalendaristica & copie(DataCalendaristica &c) {
if (&c != this){
….
}
return *this;
}

▫ Rezolvarea ambiguităţilor
class DataCalendaristica {
int luna;

};
void DataCalendaristica::setLuna( int luna) {
this->luna = luna;
}
Cuprins
• Cuvântul cheie this

• Funcţii/clase prietene

• Membri statici

• Modificatori de acces

• Relaţii între clase


▫ Asociere
▫ Agregare
▫ Compoziţie
▫ Moştenire
Funcţii prietene
• Funcţie prietenă (friend)
▫ Funcţie care are acces la membri non-publici ai unei
clase
▫ Prefixate de cuvântul cheie friend
▫ Prototipul este specificat în definiţia clasei
▫ Este definită în afara domeniului clasei
• Sinataxă
class X {
… Prototip
friend tipReturn numeFunctie( … );

}; Definiție
tipReturn numeFunctie( … ){

}
Funcţii prietene. Exemplu
• Funcţie de calcul al modulului unui număr
complex
class Complex {
private:
int re, im;
public:

};

Cum definim o funcție de calcul al moduluil numarului


complex?
Funcţii prietene. Exemplu
• Funcţie de calcul al modulului unui număr complex
class Complex {
private:
int re, im;
public:

};
double modul(Complex & c){
return sqrt(c.getRe() * c.getRe() + c.getIm() * c.getIm());
}

• Apel
Complex c(6,7);
modul(c);
Funcţii prietene. Exemplu
• Funcţie de calcul al modulului unui număr complex
class Complex {
private:
int re, im;
public:

friend double modul(const Complex & c);
};
double modul(const Complex & c){
return sqrt(c.re* c.re+ c.im* c.im);
}

• Apel
Complex c(6,7);
modul(c);
Clase prietene
• Accesul este unidirecţionat
▫ Dacă B este prietenă cu A, B poate accesa membri non-
publici a lui A, dar A nu poate accesa membri non-publici
a lui B
class ArboreBinar; int ArboreBinar::gasesteCheie(int val) {
class Nod { if (val == radacina->cheie) {
private: return radacina->data;
int data; }
int cheie; //restul cautarii
…. }
friend class ArboreBinar;
};
class ArboreBinar {
private:
Nod *radacina;
public:
int gasesteCheie(int);
};
Funcţii/clase prietene
• Utilitate
▫ Oferă un acces mai eficient la membri decât în cazul apelului
defuncţii
▫ Supraîncărcarea operatorilor – un acces mai uşor la datele
private

• Funcţiile/clasele prietene au acces la toţi membri clasei, ceea


ce violează încapsularea datelor → atenţie la utilizare

• Funcţiile/clasele membre pot modifica starea unei clase.


▫ Recomandare: folosirea funcţiilor membre pentru a modifica
date
Cuprins
• Cuvântul cheie this

• Funcţii/clase prietene

• Membri statici

• Relaţii între clase


▫ Asociere
▫ Agregare
▫ Compoziţie
▫ Moştenire
Membri statici
• Date/funcţii prefixate cu specificatorul static

• Datele statice există într-o singură copie comună


tuturor obiectelor

• Funcţiile statice realizează operaţii care nu sunt


asociate obiectelor individuale, ci întregii clase

• Accesare
▫ Indicarea numelui clasei şi folosirea operatorului de
rezoluţie ( X::fctStatica(); )
▫ Specificând obiectul clasei şi folosind operatorii de
selecţie (X x; x.fctStatica(); )
Date statice
• Alocarea memoriei şi iniţializarea se realizează separat
class Test {

static int contor;
char * nume;
int prioritate;

Test () { contor++;}

};
int Test::contor = 10;
• Se iniţializează cu zero înainte să se creeze primul obiect

• Au aceleaşi proprietăţi ca şi variabilele globale doar că


sunt limitate de domeniul de vizibilitate al clasei
Date statice
Funcții statice
• Proprietăţi
▫ Pot accesa direct membri statici ai clasei
▫ Nu au acces la pointerul this (membri nestatici ai
clasei)
Transformare apel de către compilator
• Apel funcţie membră: foo (7);→ foo(this *, 7)
• Apel funcţie statică: fooStatica (7);→ fooStatica( 7)

▫ Nu poate exista o variantă statică şi una nestatică a aceleaşi


funcţii
▫ Nu pot fi virtuale
▫ Nu pot fi declarate const sau volatile
Funcții statice
• Exemplu
▫ Calcul ID-ului pentru un utilizator
class Utilizator{
private: int id;
static int urmatorul_id;
public:
static int urmatorul_id_utilizator() {
urmatorul_id ++;
return urmatorul_id;
}
Utilizator() {
id = Utilizator:: urmatorul_id ++; //or, id = urmatorul_id_utilizator();
}
};
int Utilizator :: urmatorul_id = 0;
Cuprins
• Cuvântul cheie this

• Funcţii/clase prietene

• Membri statici

• Modificatori de acces

• Relaţii între clase


▫ Asociere
▫ Agregare
▫ Compoziţie
▫ Moştenire
Modificatori de acces
• const

• mutable

• volatile
Modificatorul const
• Date constante class Pagina {
// declarare
▫ Nu pot fi modificate const int ci ;
▫ Utile pentru static const int MAX_VIEWS;
declararea de public:
Pagina () : ci(17) {
constante // initializarea unui membru const
▫ Iniţializarea // în interiorul unei liste de iniţializare
}
 În lista de iniţializări };
a constructorului // initializarea unui membru
clasei //static constant
• Sintaxă const int Pagina ::MAX_VIEWS = 256;

▫ const variabilă
Modificatorul const
• Funcţii constante class Utilizator{
▫ Nu pot modifica starea unui private:
int id;
unui obiect char * username;
▫ Cod mai clar public:
▫ Împiedică modificările int getId() const {
accidentale ale datelor id=0;
return id;
}
• Sintaxă char * getUsername() const;
▫ tipDeReturn numeFunctie };
(tipVar [, tipVar]) const; char * Utilizator ::getUsername() const {
return username;
}
Modificatorul const
• Parametrii class Pagina {
int nrIntroduceriParolaGresita;
constanți ai public:
funcțiilor };
Pagina( const Pagina &);

▫ Un parametru Pagina :: Pagina( const Pagina &p){


constant nu iși //eroare
poate modifica p. nrIntroduceriParolaGresita++;
valoarea în }

interiorul funcției
Modificatorul mutable
• Se aplică la membri dată class Utilizator{
▫ Pot fi întotdeauna private:
modificaţi chiar şi în mutable int nraccessari;
public:
funcţii constante
int getId() const {
▫ Utili pentru membri care nraccessari++;
trebuie modificaţi în return id;
funcţii const şi nu }
reprezintă interes pentru };
starea internă a obiectului

• Sintaxă
▫ mutable numeVariabilă;
Modificatorul volatile
• Indică faptul că varibile pot fi modificate din exteriorul
programului (sistemul de întreruperi, operații de I/O mapate
pe firul de execuție)

• Variabile nu sunt controlate de program


▫ Compilatorul nu poate realiza anumite optimizări (citiri
redundante – de fiecare dată când variabila este accesată
compilatorul reîncarcă valoarea în memorie)

• Sintaxă
▫ TipData volatile listaVariabile;
▫ volatile TipData listaVariabile;

• Exemplu
▫ volatile int Vint; int volatile * Vintptr;
Cuprins
• Cuvântul cheie this

• Funcţii/clase prietene

• Membri statici

• Modificatori de acces

• Relaţii între clase


▫ Asociere
▫ Agregare
▫ Compoziţie
▫ Moştenire
Relații între clase
• Conceptele nu există izolate. Ele coexistă şi interacţionează

• La elaborarea modelului obiectual al unei aplicaţii se disting următoarele etape:


▫ Identificarea claselor → corespund conceptelor aplicaţiei - substantivele –
▫ Stabilirea relaţiilor dintre clase →corespunde specificaţiilor aplicaţiei – verbe –

• Tipuri de relaţii
▫ Asociere o relaţie în care obiectele unei clase ştiu de obiectele altei clase (has-a)
 Dependenţă o relaţie în care obiectele unei clase ştiu de obiectele altei clase (use-a)
 Agregare o relaţie parte întreg (is-part-of)
 Compoziţie este similară cu asocierea dar mai strictă (contains)

▫ Moştenire (specializare) este o relaţie de generalizare - specializare (is-a, kind-of)


Relația de dependență
• Se identifică prin „uses a”
▫ O funcţie a unui obiect apelează o funcţie membră a altui obiect sau are
nevoie de o instanţă a unei clase pentru a realiza o acţiune
• Diagrama de clase

• Exemple de implementare
class B { ...};
class A {
public:
void method1(B b) { // . . . }
void method2() { B tempB = new B(); ... }
};

• OBS: Clasa A nu va conține o variabilă membru de tipul clasei B


Relația de dependență
• Diagramă de clase

• Implementare
class Zar { public void arunca() { ... } }
class Jucator {
public void incepeTura(Zar zar) {
zar.arunca();
...
}
}
Asociere
• Relație de cooperare între clase - corespunzătoare unui verb oarecare din specificație
• Obiectele au propriul ciclu de viață și nu există propietar
• Este identificată prin „has-a”

• Implementare: variabile membru (pointeri sau referinţe) la obiectele asociate


class B1 { ... };
class A1 {
private:
B1 *b1;
public:
B1& getB1() const { return *b1; }
};
• OBS: greu de întreţinut
Asociere exemplu
• Clasele Student și Profesor
▫ un Student poate fi asociat la mai mulți Profesori
▫ un Profeso poate fi asociat la mai mulți Studenți
▫ nu există relație de apartenență între obiecte
▫ ambele pot fi create și sterse independent
• Implementare
class Profesor {
list<Student*> studentiLicenta;
public:
void adaugare(Student &s) { studentiLicenta.push_back(&s); }
~Profesor(){}
};
class Student{
Profesor *profesorCoordonator;
void setProfesorCoordonator(Profesor *p) { profesorCoordonator = p; }
~Student () {}
};
Asociere
• Multiplicitate
Notație Măsură

1 Doar unu

* Zero sau mai multe

0..5 Zero la cinci

0..4,6,10 Zero la patru sau şase sau zece


Exact unu (default)

• Cazuri speciale
▫ agregarea
▫ compoziția
Agregare
• Un caz special de relație de asociere
• Fiecare obiect are propriul ciclu de viață
• Un obiect ”copil” poate aparține doar unui obiect ”părinte” nu
mai multor obiecte
• Diagrama de clase

• Implementare
▫ class B { ... };
▫ class A {

▫ };
Agregare
• casele Profesor și Departament
▫ un profesor nu poate aparține unui singur departament, nu poate
apartine la mai multe
▫ dacă stergem un departament, obiectul de tip prfesor nu va fi distrus
• Implementare
class Departament{
list<Proferor*> profesori;
public:
void addProfesor(Profesor *p){ profesori.push_back(p);}
~Departament(){}
};
class Profesor {
Departament dept;
public:
Profesot(const Departament &d) { dept=d; }
~Profesor() { }
};
Compoziţie
• Subobiectele agregate aparţin exclusiv agregatului din care fac parte, iar durata de
viaţă coincide cu ce a agregatorului
• Clasa copil nu poate exista decât dacă există o instanţă a clasei părinte.
• În exemplul de mai jos instanţa clasei Comisie există atâta timp cât există instanţa
clasei
• Diagrama de clase

• Implementare
class B { ... };
class A {
B *b;
public:
A(){
b = new B();
}
~A(){
delete b;
}
Compoziţie
• clasele Casă și Cameră
▫ O casă poate conține mai multe camere
▫ Nu poate exista o cameră care să nu fie atașată unei clase
• Implementare
class Camera {
public Camera( int, int, int);
};
class Casa {
list<Camera *> camere;
public:
void addcamere( int lungine, int latime, int inaltime) {
camere.push_back( new Camera(lungime, inaltime, latime));
}
~Casa(){
for (int i=0; i<camere.size(); i++) delete camere[i];
}
};
Moştenire
• Este un mecanism care permite unei clase A să
moştenescă (date şi funcţii) a unei clase B.
• Relaţie
▫ Nivel de clasă kind-of (Cercul este un tip de Formă)
▫ Obiect is-a (Obiectul cerc1 este o formă)
• B clasă de bază
• A subclasă

S-ar putea să vă placă și

  • Curs 2
    Curs 2
    Document58 pagini
    Curs 2
    Daniel Popa
    Încă nu există evaluări
  • Paw Id
    Paw Id
    Document47 pagini
    Paw Id
    ramonet
    Încă nu există evaluări
  • Examen La POO
    Examen La POO
    Document30 pagini
    Examen La POO
    HatyManagarm
    Încă nu există evaluări
  • CursJava 02 CristianIonita OOP
    CursJava 02 CristianIonita OOP
    Document17 pagini
    CursJava 02 CristianIonita OOP
    Aysel-Ioana BATCOVEANU
    Încă nu există evaluări
  • Tema Oop 2
    Tema Oop 2
    Document21 pagini
    Tema Oop 2
    luminst6822
    Încă nu există evaluări
  • Curs POO Prof. Catalin Boja (Full)
    Curs POO Prof. Catalin Boja (Full)
    Document185 pagini
    Curs POO Prof. Catalin Boja (Full)
    Epuras Oana-Gabriela
    100% (1)
  • POO Curs 03 2023
    POO Curs 03 2023
    Document31 pagini
    POO Curs 03 2023
    evelyne
    Încă nu există evaluări
  • POO Cap6
    POO Cap6
    Document8 pagini
    POO Cap6
    dana nicol
    Încă nu există evaluări
  • Intrebari POOsdgd
    Intrebari POOsdgd
    Document16 pagini
    Intrebari POOsdgd
    Danut Jurj
    Încă nu există evaluări
  • Laborator 2: Programare Orientata Pe Obiecte - Limbajele C++/Java Laborator Nr. 2
    Laborator 2: Programare Orientata Pe Obiecte - Limbajele C++/Java Laborator Nr. 2
    Document11 pagini
    Laborator 2: Programare Orientata Pe Obiecte - Limbajele C++/Java Laborator Nr. 2
    Cosmin Yo
    Încă nu există evaluări
  • Fire de Executie in Python
    Fire de Executie in Python
    Document13 pagini
    Fire de Executie in Python
    Marius Ionescu
    Încă nu există evaluări
  • Clase de Baza in CPP Operatori
    Clase de Baza in CPP Operatori
    Document4 pagini
    Clase de Baza in CPP Operatori
    Anomally Mega
    Încă nu există evaluări
  • POO Curs 01 2023
    POO Curs 01 2023
    Document23 pagini
    POO Curs 01 2023
    evelyne
    Încă nu există evaluări
  • POO Curs 01 2023-Combined
    POO Curs 01 2023-Combined
    Document307 pagini
    POO Curs 01 2023-Combined
    evelyne
    Încă nu există evaluări
  • POO Ierarhii in CPP
    POO Ierarhii in CPP
    Document37 pagini
    POO Ierarhii in CPP
    Sabina Diac
    Încă nu există evaluări
  • Java IE4
    Java IE4
    Document33 pagini
    Java IE4
    Cezar Barbu
    Încă nu există evaluări
  • Intrebari Poo +raspunsuri
    Intrebari Poo +raspunsuri
    Document3 pagini
    Intrebari Poo +raspunsuri
    mmmaya
    100% (1)
  • Tema Oop 1
    Tema Oop 1
    Document23 pagini
    Tema Oop 1
    Vlad Coroeanu
    Încă nu există evaluări
  • Raspunsuri Intrebari
    Raspunsuri Intrebari
    Document10 pagini
    Raspunsuri Intrebari
    Laura Petcu
    Încă nu există evaluări
  • POO Curs 06 2023
    POO Curs 06 2023
    Document38 pagini
    POO Curs 06 2023
    evelyne
    Încă nu există evaluări
  • Curs 7
    Curs 7
    Document32 pagini
    Curs 7
    Lumy Patza
    Încă nu există evaluări
  • Examen La POO
    Examen La POO
    Document30 pagini
    Examen La POO
    Anastasia Chicu
    Încă nu există evaluări
  • Intrebari Si Raspunsuri POO
    Intrebari Si Raspunsuri POO
    Document13 pagini
    Intrebari Si Raspunsuri POO
    Stanciu Marian
    100% (3)
  • Clase Si Obiecte
    Clase Si Obiecte
    Document149 pagini
    Clase Si Obiecte
    Pahonea Gigi
    Încă nu există evaluări
  • Programarea Avansata
    Programarea Avansata
    Document8 pagini
    Programarea Avansata
    iry_piry
    Încă nu există evaluări
  • Curs 7
    Curs 7
    Document32 pagini
    Curs 7
    Daniel Popa
    Încă nu există evaluări
  • Oop L4
    Oop L4
    Document6 pagini
    Oop L4
    Florin Daniel
    Încă nu există evaluări
  • Curs 8
    Curs 8
    Document18 pagini
    Curs 8
    Daniel Popa
    Încă nu există evaluări
  • Curs11 Mostenire
    Curs11 Mostenire
    Document5 pagini
    Curs11 Mostenire
    Miatovici Sasa
    Încă nu există evaluări
  • LabJava 03
    LabJava 03
    Document6 pagini
    LabJava 03
    CrăciunOvidiu
    Încă nu există evaluări
  • Laborator 2 POO
    Laborator 2 POO
    Document8 pagini
    Laborator 2 POO
    Mihali Ionel
    Încă nu există evaluări
  • Supraincarcarea Operatorilor
    Supraincarcarea Operatorilor
    Document6 pagini
    Supraincarcarea Operatorilor
    ccordea
    Încă nu există evaluări
  • Programarea Calculatoarelor Și Limbaje de Programare - Curs 5
    Programarea Calculatoarelor Și Limbaje de Programare - Curs 5
    Document11 pagini
    Programarea Calculatoarelor Și Limbaje de Programare - Curs 5
    Gabriel Dobroiu
    Încă nu există evaluări
  • Curs 4
    Curs 4
    Document34 pagini
    Curs 4
    Daniel Popa
    Încă nu există evaluări
  • Constructori Si Referinte
    Constructori Si Referinte
    Document12 pagini
    Constructori Si Referinte
    Tudor Domenti
    Încă nu există evaluări
  • An1 Lab08 Sem2 20-21
    An1 Lab08 Sem2 20-21
    Document7 pagini
    An1 Lab08 Sem2 20-21
    Ioana
    Încă nu există evaluări
  • Examen La POO
    Examen La POO
    Document11 pagini
    Examen La POO
    Luca Dorina
    Încă nu există evaluări
  • POO Cursul 06
    POO Cursul 06
    Document21 pagini
    POO Cursul 06
    Denisa A
    Încă nu există evaluări
  • Constructori
    Constructori
    Document4 pagini
    Constructori
    Ciobanu Stanislav
    Încă nu există evaluări
  • Teorie POO
    Teorie POO
    Document5 pagini
    Teorie POO
    Adrian Tomescu
    Încă nu există evaluări
  • Constructori, Referinte - POO
    Constructori, Referinte - POO
    Document7 pagini
    Constructori, Referinte - POO
    Claudia Ardelean
    Încă nu există evaluări
  • Elemente Privind Programarea OO În Limbajul CC++
    Elemente Privind Programarea OO În Limbajul CC++
    Document33 pagini
    Elemente Privind Programarea OO În Limbajul CC++
    Roland Szatmari
    Încă nu există evaluări
  • POO - C++ - Indrumar Laborator
    POO - C++ - Indrumar Laborator
    Document49 pagini
    POO - C++ - Indrumar Laborator
    livius969
    Încă nu există evaluări
  • POO C2 Principii OO - Abstractizare
    POO C2 Principii OO - Abstractizare
    Document63 pagini
    POO C2 Principii OO - Abstractizare
    Claudiu Iftimi
    Încă nu există evaluări
  • Curs 6
    Curs 6
    Document42 pagini
    Curs 6
    Daniel Popa
    Încă nu există evaluări
  • Fituica Poo Pe Randuri
    Fituica Poo Pe Randuri
    Document5 pagini
    Fituica Poo Pe Randuri
    camyavra
    Încă nu există evaluări
  • Programare Orientata Pe Obiecte
    Programare Orientata Pe Obiecte
    Document91 pagini
    Programare Orientata Pe Obiecte
    Husker Dou
    Încă nu există evaluări
  • 2.atribute Si Interfete
    2.atribute Si Interfete
    Document32 pagini
    2.atribute Si Interfete
    Adrian Onucu
    Încă nu există evaluări
  • JVM Vs JDK Vs Jre
    JVM Vs JDK Vs Jre
    Document22 pagini
    JVM Vs JDK Vs Jre
    Marius Balanuca
    Încă nu există evaluări
  • POO Atestare
    POO Atestare
    Document1 pagină
    POO Atestare
    Elena Bejan
    Încă nu există evaluări
  • Lab 4 Rom
    Lab 4 Rom
    Document6 pagini
    Lab 4 Rom
    o m
    Încă nu există evaluări
  • Lab 2 Rom
    Lab 2 Rom
    Document8 pagini
    Lab 2 Rom
    ciumac andrian
    Încă nu există evaluări
  • Poo Cursuri
    Poo Cursuri
    Document63 pagini
    Poo Cursuri
    Ștefania Mircea
    Încă nu există evaluări
  • POO-curs 6
    POO-curs 6
    Document46 pagini
    POO-curs 6
    Hantoiu Alin
    Încă nu există evaluări
  • Lucrarea de Laborator nr6 - C++
    Lucrarea de Laborator nr6 - C++
    Document9 pagini
    Lucrarea de Laborator nr6 - C++
    Андрей Пырлог
    Încă nu există evaluări
  • Poo c4
    Poo c4
    Document107 pagini
    Poo c4
    Iulica Izmana
    Încă nu există evaluări
  • Poo C#
    Poo C#
    Document13 pagini
    Poo C#
    cosminadumitrita
    Încă nu există evaluări
  • Msmsmsmsmssub Rezolvate
    Msmsmsmsmssub Rezolvate
    Document17 pagini
    Msmsmsmsmssub Rezolvate
    marst_74
    Încă nu există evaluări
  • Ghid WordPress pentru dezvoltatori
    Ghid WordPress pentru dezvoltatori
    De la Everand
    Ghid WordPress pentru dezvoltatori
    Încă nu există evaluări
  • Info 2011
    Info 2011
    Document3 pagini
    Info 2011
    Daniel Popa
    Încă nu există evaluări
  • Divide Et Impera
    Divide Et Impera
    Document21 pagini
    Divide Et Impera
    Gabriela260667
    Încă nu există evaluări
  • Capitolul4 Impress
    Capitolul4 Impress
    Document53 pagini
    Capitolul4 Impress
    Daniel Popa
    Încă nu există evaluări
  • Capitolul1 Introducere
    Capitolul1 Introducere
    Document17 pagini
    Capitolul1 Introducere
    Daniel Popa
    Încă nu există evaluări
  • Tivoli X150 Lista de Preturi
    Tivoli X150 Lista de Preturi
    Document5 pagini
    Tivoli X150 Lista de Preturi
    Daniel Popa
    Încă nu există evaluări
  • Lab 4
    Lab 4
    Document2 pagini
    Lab 4
    Daniel Popa
    Încă nu există evaluări
  • Capitolul2 Writer
    Capitolul2 Writer
    Document128 pagini
    Capitolul2 Writer
    Daniel Popa
    Încă nu există evaluări
  • Barem de Corectare BAC 2011 - Informatică Stiinte Ale Naturii (SN)
    Barem de Corectare BAC 2011 - Informatică Stiinte Ale Naturii (SN)
    Document3 pagini
    Barem de Corectare BAC 2011 - Informatică Stiinte Ale Naturii (SN)
    Sergiu A.
    Încă nu există evaluări
  • Lab 6
    Lab 6
    Document2 pagini
    Lab 6
    Daniel Popa
    Încă nu există evaluări
  • Capitolul4 Impress
    Capitolul4 Impress
    Document53 pagini
    Capitolul4 Impress
    Daniel Popa
    Încă nu există evaluări
  • Curs 14
    Curs 14
    Document31 pagini
    Curs 14
    Daniel Popa
    Încă nu există evaluări
  • CAP10
    CAP10
    Document5 pagini
    CAP10
    Daniel Popa
    Încă nu există evaluări
  • Curs 1
    Curs 1
    Document39 pagini
    Curs 1
    Daniel Popa
    Încă nu există evaluări
  • Lab 2
    Lab 2
    Document5 pagini
    Lab 2
    Daniel Popa
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document4 pagini
    Lab 1
    Daniel Popa
    Încă nu există evaluări
  • Curs 9
    Curs 9
    Document29 pagini
    Curs 9
    Daniel Popa
    Încă nu există evaluări
  • CAP6
    CAP6
    Document10 pagini
    CAP6
    Daniel Popa
    Încă nu există evaluări
  • CAP2
    CAP2
    Document9 pagini
    CAP2
    Daniel Popa
    Încă nu există evaluări
  • CAP9
    CAP9
    Document8 pagini
    CAP9
    Daniel Popa
    Încă nu există evaluări
  • Info cls10
    Info cls10
    Document1 pagină
    Info cls10
    Daniel Popa
    Încă nu există evaluări
  • Info cls9 Scurt
    Info cls9 Scurt
    Document1 pagină
    Info cls9 Scurt
    Daniel Popa
    Încă nu există evaluări
  • CAP12
    CAP12
    Document8 pagini
    CAP12
    Daniel Popa
    Încă nu există evaluări
  • Curs 12
    Curs 12
    Document26 pagini
    Curs 12
    Daniel Popa
    Încă nu există evaluări
  • Informatica Clasa 9a
    Informatica Clasa 9a
    Document1 pagină
    Informatica Clasa 9a
    Daniel Popa
    Încă nu există evaluări
  • Info cls9
    Info cls9
    Document1 pagină
    Info cls9
    Daniel Popa
    Încă nu există evaluări
  • Test Expresii Logice C
    Test Expresii Logice C
    Document2 pagini
    Test Expresii Logice C
    Daniel Popa
    Încă nu există evaluări
  • Test C Expresii For While
    Test C Expresii For While
    Document2 pagini
    Test C Expresii For While
    Daniel Popa
    Încă nu există evaluări
  • Info cls11
    Info cls11
    Document1 pagină
    Info cls11
    Daniel Popa
    Încă nu există evaluări