Sunteți pe pagina 1din 42

Programare II

Programare Orientată Obiect


Curs 10
Curs anterior
• Tipuri de date abstracte

• Tipuri de date generice

• Funcţii şablon

• Clase şablon
Curs Curent
• Stanard Template Library
▫ Introducere în Stanard Template Library

▫ Containere secvenţiale

▫ Containere asociative
Caracteristici unei biblioteci generice
• Refolosire
▫ Posibilitatea de a opera cu tipuri de date definite de
utilizator

• Compoziţia
▫ Posibilitatea de a opera cu tipuri de date definite în
altă bibliotecă

• Eficienţa
▫ Performanțe mai bune decât implementările non-
generice (codificării personale)
Ce oferă bibliotecile
standard în C++?
• Oferă suport pentru proprietăţile limbajului (gestionarea memoriei, RTTI)

• Oferă informaţii despre implementarea compilatorului (ex. cea mai mare valoare
pentru numere de tip float)

• Oferă funcţii care nu pot fi implementate optimal în limbaj pentru orice sistem (sqrt,
memmove, etc)

• Oferă suport pentru lucrul cu şiruri de caractere şi streamuri (include suport pentru
internaţionalizare şi localizare)

• Oferă un framework pentru containere (vector, map,…) şi algoritmi generici pentru


ele (parcurgere, sortare, reuniune, …)

• Suport pentru prelucării numerice (numere complexe, BLAS=Basic Liniar Algebra


Subprograms etc.)

• Oferă o bază pentru alte biblioteci


Standard Template Library - STL
• STL, biblioteca standard a limbajului C++ oferă cele mai
uzuale structuri de date şi algoritmi fundamentali pentru
utilizarea lor

• Prima bibliotecă generică a C++ folosită pe scară largă

• Conţinutul biblioteci STL


▫ Containere
▫ Iteratori
▫ Algoritmi

• Performanţă
▫ Măsurată prin benckmarks de penalitate
De ce să folosim STL?
• Micşorează timpul de implementare
▫ Structuri de date deja implementate şi testate

• Cod mai uşor de citit

• Robusteţea
▫ Structurile STL sunt actualizate automat

• Cod portabil

• Mentenabilitatea codului

• Uşurinţă
Componente STL
• Containăre

• Iteatori

• Algoritmi
Containere
• Definiţie
▫ Un container este un obiect care conţine obiecte

• Exemple:
▫ list, vector, stack, etc

• Avantaje containere
▫ Simple şi eficiente
▫ Fiecare container are ataşat o mulţime de operaţii comune
▫ iterarori standard sunt disponibili pentru fiecare container
▫ Type-safe şi homogeni
▫ Sunt non-intrusive (ex. un obiect nu are nevoie de o clasă de bază
pentru a fi membru a unui container )
Exemplu
• Declarare, popularea și afișarea conținutului
unei structuri de date de tip map, care stochează
informații despre un produs și prețul lui

#include <map> Includera bibliotecilor care conțin


declarerea structuri de date map și
#include <string> a clasei string care ușurează lucrul cu
int main() { șiruri de caractere
//Declarare, popularea și afișarea conținutului unei
structuri de date de tip map
}
Exemplu

int main()
{ Declararea unei structuri de
date de tip map pentru a
map<string,float> price; reține numele produselor și
price[“snapple”] = 0.75; prețurile corespunzătoare
price[“coke”] = 0.50;
string item;
double total=0;
while ( cin >> item )
total += price[item];
}
Exemplu

int main()
{
map<string,float> price; Stocare a în map a 2 produse și
price[“snapple”] = 0.75; a prețurilor corespunzătoare

price[“coke”] = 0.50;
string item;
double total=0;
while ( cin >> item )
total += price[item];
}
Exemplu

int main()
{
map<string,float> price;
price[“snapple”] = 0.75;
price[“coke”] = 0.50;
Atata timp cat citim de la tasatură
string item; un nume de produs îl căutăm în map
double total=0; și calculăm prețul tuturor produselor
while ( cin >> item ) a căror nume a fost citit de la tastatură

total += price[item];
}
Exemplu

int main()
{
map<string,float> price;
price[“snapple”] = 0.75;
price[“coke”] = 0.50;
string item;
double total=0;
Acesarea pretului unui produs
while ( cin >> item )
total += price[item];
}
Containere
• Tipuri de containere
▫ Containere secvențiale
Structuri de date liniare (vector, list, deque)
Containere first-class
▫ Containere asociative
Structuri de date non-liniare, pot identifica rapid elemente (map, multimap, set,
multiset)
Perechi cheie/valoare
Containere first-class
▫ Adaptorii ai containerelor
Containăre obţinute prin adaptarea unor containăre secvenţiale (stack, queue,
priority_queue)

• Clase non-STL cu caracteristici și comportament (containere near)


▫ Asemănătoare cu containerele, dar cu funcţionalitate redusă (string, bitset,
valarray)
▫ Pot fi folosite cu iteratorii cea ce le face accesibile manipulări algoritmilor
definiţi în STL
Containere
• Containere secvențiale
▫ vector
▫ deque
▫ list
• Containere asociative
▫ set
▫ multiset
▫ map
▫ multimap
• Adaptori ai containerelor
▫ stack
▫ queue
▫ priority_queue
• Containăre near
▫ string
▫ bitset
▫ valaray
Funcții membre comune pentru
container
• Funcţii membre pentru toate containerele
▫ Constructor implicit (default), constructor de copiere,
destructor
▫ empty
▫ max_size, size
▫ = < <= > >= == !=

• Funcţii pentru containere


▫ begin, end
▫ rbegin, rend
▫ erase, clear
Componente STL
• Containăre

• Iteatori

• Algoritmi
Iteratori
• Iteratori asemănători cu ponteri
▫ Pointează spre primul element al unui container
▫ Operatori comuni pentru toate containerele
* deferenţiere
++ pointeză spre următorul element
begin() întoarce un iterator sper primul element
end() întoarce un iterator sper ultimul element

• Utilizare iteratori cu secvenţe


iterator
▫ Containere
▫ Secvenţe de intrare; istream_iterator
▫ Secvenţe de ieşire: ostream_iterator
Iteratori
• Utilizare
▫ std::istream_iterator< int > inputInt( cin )
▫ Poate citi intrări de la cin
▫ *inputInt
Deferenţiat pentru a citi primul int de la cin
▫ ++inputInt
Trece la următorul int din flux (stream)

• std::ostream_iterator< int > outputInt(cout)


▫ Poate scrie int la cout
▫ *outputInt = 7
Afişează 7 la cout
▫ ++outputInt
Avansează iteratorul astfel încât să se poată afişa următorul int
Iteratori. Exemplu
#include <iostream>
#include <iterator> // ostream_iterator şi isteam_iterartor
using namespace std;
int main()
{
cout << "Introdu 2 intregi: ";
istream_iterator <int> inputInt (cin);
int nr1 = *inputInt;
++inputInt;
int nr2 = *inputInt;

ostream_iterator <int> outputInt (cout); Output


cout<< "rezultatul este: ";
*outputInt = nr1 + nr2; Introdu 2 intregi: 5 7
cout<<endl; rezultattul este: 12
}
Tipuri de iteratori
• Intrare (input)
▫ Citeşte elemente dintr-un container, se poate deplasa doar
înainte
• Ieşire (output)
▫ Scrie elemente într-un container, se poate deplasa doar
înainte
• Înaintare (forward)
▫ Combină iteratori de intrare şi ieşire
▫ Pot parcurge o secvenţă de mai multe ori
• Bidirecţionali
▫ La fel ca cei de înaintare, dar se pot deplasa şi în sens invers
• Acces aleatoriu (random)
▫ La fel ca cei bidirecţionali dar pot sări şi la orice element
Tipuri de iteratori suportaţi de
cotainere
• Containere secvenţiale
▫ vector: acces aleator
▫ deque: acces aleator
▫ list: bidirecţional

• Containere asociative (pt. toate acces bidirecţional)


▫ set
▫ multiset
▫ map
▫ multimap

• Adaptori ai containerelor (nu au iteratori ataşaţi)


▫ stack
▫ queue
▫ priority_queue
Iteratori operaţii
• Toţi • Iteratori de înaintare
▫ ++p, p++ ▫ Conţin operaţiile iteratorilor
de intrare şi ieşire
• Iteratori de intrare
▫ *p • Bidirecţionali
▫ p = p1 ▫ --p, p—
▫ p == p1, p != p1
• Acces aleatoriu
• Iteratori de ieşire ▫ p + i, p += i
▫ *p ▫ p - i, p -= i
▫ p = p1 ▫ p[i]
▫ p < p1, p <= p1
▫ p > p1, p >= p1
Componente STL
• Containăre

• Iteatori

• Algoritmi
Algoritmi
• Algoritmi STL utilizaţi de obicei împreună cu containerele
▫ Operează cu elementele containărelor indirect prin intermediul
iteratorilor

▫ De multe ori operează pe secvenţe de operatori


Perechi de operatori
Primul şi ultimul element

▫ De multe ori întorc iteratori


Ex: find()
Într-un iterator la un element al secvenţei sau end() dacă nu este
găsit

▫ Economisesc timpul şi efortul necesar implementări lor


Modelul
Algoritmi • Separarea conceptelor
sort, find, search, copy, ... ▫ Algoritmi manipulează datele,
dar nu ştiu despre containere

▫ Containerele depozitează
datele, dar nu ştiu despre
algoritmi
Iteratori
▫ Algoritmi şi containerele
interacţionează prin
intermediul iteratorilor
Containere Fiecare container areun
vector, list, map, multimap, ... iterator
Containere secvenţiale
• vector

0 1 2 3

• list (lista dublu înlănțuită)

0 1 2 1
Containărul vector
• Header <vector>
• Inserare / ştergere rapidă de la sfârşitul tabloului
• reverse(), capacity()
• Blocuri continue de memorie
▫ Accesarea elementelor folosind []
• Tablou dinamic
▫ Creşte cu un anumit factor atunci când mărimea (size())
depăşeşte capacitatea (capacity())
Alocă o zonă de memorie continuă mai mare
Face o copie a lui însuşi
Dealocă vechea memorie
• Iteratori de acces aleatori
Vector
• Declarare
▫ std::vector < tip > variabila;
• Iteratori
▫ std::vector ::const_iterator iterVar;
Nu poate modifica valorile elementelor
▫ std::vector ::reverse_iterator iterVar;
Parcurge elementele in ordine inversă
Pentru a obţine punctul de început se foloseşte rbegin
 Pentru a obţine punctul de sfârşit se foloseşte rend
▫ Std::ostream_iterator nume (outputStream, separator)
Separator – caracter care separă ieşirile
Vector
• Funcţii
▫ v.push_back(valoare)
Adaugă un element la sfârşitul vectorului
▫ v.size()
 Dimensiune actuală a vectorului
▫ v.capacity()
 Cât de multe elemente poate să conţină vectorul înainte de a fi
redimensionat
La realocare spaţiul se dublează
▫ vector v(array, array+ SIZE)
Crează un vector v cu elementele tabloului a pană la
array+SIZE
Vector
• Funcţii
▫ v.insert (iterator, valoare)
Inserează valoarea înaintea locaţiei iteratorului
▫ v.insert (iterator, array, array+SIZE)
Inserează un tablou de elemente înaintea poziţiei iteratorului
▫ v.erase( iterator)
Şterge elementul din container
▫ v.erase( iterator1, iterato2)
Şterge elementele începând cu iterator1 până la iterator2
▫ v.clear()
Şterge întreg containerul
Vector
• Funcţii
▫ v.front(), v.back()
Returneză primul, ultimul element al vectorului
▫ v[elementnumber] = valoare
Atribuie valoarea elementului
▫ v.at( elementnumber ) = valoare
Atribuie valoarea elementului, verifică corectitudinea
indexului
Excepţie out_of_bounds
Parcurgere vector
• for(int i = 0; i<v.size(); ++i) // de ce int? …
… // utilizare v[i]
• for(vector<int>::size_type i = 0; i<v.size(); ++i)
// mai lungă dar întotdeauna corectă
… // utilizare v[i]
• for(vector<int >::iterator p = v.begin(); p!=v.end(); ++p)
… // utilizare *p

• Toate variantele sunt corecte


▫ Nu există avantaje fundamentale ale unei abordări
▫ Cea care foloseşte iterator este comună pentru toate containerele
▫ Preferă size_type in loc de int pentru a împiedica erori rare
Vector exemplu
#include <iostream>
#include <vector>

int main () {
std::vector<int> a; //definirea unui vector fara elemente

std::vector<int> b(4,100); //definirea unui vector care contine 4 elemente egale cu 100

std::vector<int> c(b.begin(), c(b.begin()+2); //creaza un vector cu primele 2 elemete ale vectorului


b

int myints[] = {16,2,77,29};


std::vector<int> d(myints, myints + sizeof(myints) / sizeof(int) ); // initializare vector cu un
tablou de intregi

std::cout << “Afisare continut vector d:";


for (std::vector<int>::iterator it = d.begin(); it != d.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';

return 0;
}
Vector exemplu
#include <vector>
using namespace std;
int main(){
vector<double> values(10);
// creaza un vector cu 10 elemete initializate cu 0.0

values.insert (values.begin() + 5, 1.4142);


// inseraza 1.4142 pe a cincea pozitie in vector

values.remove (values.begin() + 3);


// Sterge elementul de pe pozitia a treia din vector
}
Containerul list
• Containerul list
▫ Header <list>

▫ Adăugare/ştergere eficientă oriunde în container

▫ Liste dublu înlănţuite

▫ Iteratori bidirecţionali

▫ Utilizare
std::list < tip > nume;
Containerul list
• Funcţii ataşate unui obiect, T, de tip list
▫ T.sort ()
Sortare în ordine crescătoare
▫ T.splice (iterator, altObiect)
Inserează valorile din variabila altObiect înaintea
iterarorului
▫ T.merge (altObiect)
Şterge altObiect şi îl inserează în T sortat
▫ T.unique()
Şterge elementele duplicate
Containerul list
• Funcţii ataşate unui obiect, T, de tip list
▫ T.swap (altObiect)
Interschimbă conţinutul
▫ T.assign (iterator1, iterator2)
Înlocuieşte conţinutul cu elementele din domeniul
iteratorului
▫ T.remove (valoare)
Şterge toate instanţele valorii ‘valoare’
Containerul list.Exemplu
#include <list>
#include <string>
int main () {
std::list<std::string> mylist; //declararea unei liste de tip string
std::list<std::string>::iterator it; //declararea unui iterator de tip list<string>

mylist.push_back ("one"); //adaugare de elemente in lista


mylist.push_back ("two");
mylist.push_back ("Three");

mylist.sort(); // sortare lista

std::cout << “lista contine:";


for (it=mylist.begin(); it!=mylist.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';
}
Deque
• Coadă cu intrări în ambele părţi
• Inserare rapidă la începutul şi sfârşitul cozi
• Header <deque>
• Functii
▫ push_back(), push_front()
▫ pop_back(), pop_front()
▫ empty()
▫ insert()
▫ erase()
Deque. Example
#include <iostream>
#include <deque>
int main () {
std::deque<int> mydeque; //declarea unei cozi goale

mydeque.push_back (100); //adaugare elemente in coada


mydeque.push_back (200);
mydeque.push_back (300);

std::cout << “Scoatere elemente din coada:";


while (!mydeque.empty()) {
std::cout << ' ' << mydeque.front();
mydeque.pop_front();
}
std::cout << "\n Dimeniunea finala a coze este:" << int(mydeque.size()) << '\n';
return 0;
}

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

  • C13 - STL
    C13 - STL
    Document27 pagini
    C13 - STL
    ileana_daniela
    Încă nu există evaluări
  • C11: STL: Standard Template Library (STL)
    C11: STL: Standard Template Library (STL)
    Document38 pagini
    C11: STL: Standard Template Library (STL)
    ReThVol
    Încă nu există evaluări
  • C11: STL: Standard Template Library (STL)
    C11: STL: Standard Template Library (STL)
    Document38 pagini
    C11: STL: Standard Template Library (STL)
    informaticasitero
    Încă nu există evaluări
  • Programare Multiparadigma-Java 01 PDF
    Programare Multiparadigma-Java 01 PDF
    Document22 pagini
    Programare Multiparadigma-Java 01 PDF
    Alexandru-Gabriel RIZEA
    Încă nu există evaluări
  • CursSDD 1
    CursSDD 1
    Document26 pagini
    CursSDD 1
    zoicatrade
    Încă nu există evaluări
  • Curs 11 - 12 - STL PDF
    Curs 11 - 12 - STL PDF
    Document95 pagini
    Curs 11 - 12 - STL PDF
    alexyno8
    Î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 STL1
    Poo STL1
    Document47 pagini
    Poo STL1
    Sabina Diac
    Încă nu există evaluări
  • Poo Cursuri
    Poo Cursuri
    Document63 pagini
    Poo Cursuri
    Ștefania Mircea
    Încă nu există evaluări
  • POO C1 Conceptul Obiect
    POO C1 Conceptul Obiect
    Document68 pagini
    POO C1 Conceptul Obiect
    Claudiu Iftimi
    Încă nu există evaluări
  • Lecţia 1 - Elemente de Bază Ale Limbajului C++. Lucrul Cu Fişiere Text.
    Lecţia 1 - Elemente de Bază Ale Limbajului C++. Lucrul Cu Fişiere Text.
    Document5 pagini
    Lecţia 1 - Elemente de Bază Ale Limbajului C++. Lucrul Cu Fişiere Text.
    Valeriu Cuțebov
    100% (1)
  • Structuri de Date În Java PDF
    Structuri de Date În Java PDF
    Document33 pagini
    Structuri de Date În Java PDF
    Andra Dumitru
    Încă nu există evaluări
  • Curs 1
    Curs 1
    Document40 pagini
    Curs 1
    CORINA Albinaru
    Încă nu există evaluări
  • Tipuri de Date Derivate
    Tipuri de Date Derivate
    Document13 pagini
    Tipuri de Date Derivate
    alexa
    Încă nu există evaluări
  • Python 3 - V1.2 PDF
    Python 3 - V1.2 PDF
    Document114 pagini
    Python 3 - V1.2 PDF
    mihaineag91
    Încă nu există evaluări
  • Elemente de Baza Ale Limbajului C
    Elemente de Baza Ale Limbajului C
    Document15 pagini
    Elemente de Baza Ale Limbajului C
    Bejan Bogdan
    Încă nu există evaluări
  • Tablouri String
    Tablouri String
    Document8 pagini
    Tablouri String
    CrăciunOvidiu
    Încă nu există evaluări
  • Fluxuri
    Fluxuri
    Document3 pagini
    Fluxuri
    andreeaciocan
    Încă nu există evaluări
  • CursJava 01 CristianIonita
    CursJava 01 CristianIonita
    Document23 pagini
    CursJava 01 CristianIonita
    Aysel-Ioana BATCOVEANU
    Încă nu există evaluări
  • C in Romano2
    C in Romano2
    Document12 pagini
    C in Romano2
    Victor Burcovski
    Î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
  • Elemente de Baza Ale Limbajului C++
    Elemente de Baza Ale Limbajului C++
    Document16 pagini
    Elemente de Baza Ale Limbajului C++
    mikia57
    Încă nu există evaluări
  • ch05 Threads
    ch05 Threads
    Document30 pagini
    ch05 Threads
    Andrei Măzărel
    Încă nu există evaluări
  • Tipuri Structurate de Date
    Tipuri Structurate de Date
    Document15 pagini
    Tipuri Structurate de Date
    jokeCrst
    Încă nu există evaluări
  • Curs 6
    Curs 6
    Document42 pagini
    Curs 6
    Daniel Popa
    Încă nu există evaluări
  • PCLP - Curs 11
    PCLP - Curs 11
    Document41 pagini
    PCLP - Curs 11
    Danut Radu
    Încă nu există evaluări
  • ASDC2
    ASDC2
    Document12 pagini
    ASDC2
    Valeria Tintaru
    Încă nu există evaluări
  • Curs 02 - JavaScript
    Curs 02 - JavaScript
    Document57 pagini
    Curs 02 - JavaScript
    Maria Simion
    Încă nu există evaluări
  • DSAD2
    DSAD2
    Document34 pagini
    DSAD2
    Lavinia Graure
    Încă nu există evaluări
  • Curs Prezentare Scheme
    Curs Prezentare Scheme
    Document60 pagini
    Curs Prezentare Scheme
    Mircea Stanescu
    Încă nu există evaluări
  • Introducere in R - Statistica
    Introducere in R - Statistica
    Document18 pagini
    Introducere in R - Statistica
    Radu Trimbitas
    Încă nu există evaluări
  • L3 Java1
    L3 Java1
    Document8 pagini
    L3 Java1
    Alexandru Grigoriță
    Încă nu există evaluări
  • Limbaj de Programare
    Limbaj de Programare
    Document18 pagini
    Limbaj de Programare
    Daniela Szoke
    Încă nu există evaluări
  • Python 2
    Python 2
    Document31 pagini
    Python 2
    luca ioan
    Încă nu există evaluări
  • Curs FP PDF
    Curs FP PDF
    Document247 pagini
    Curs FP PDF
    admin sdc
    Încă nu există evaluări
  • Lucrarea de Laborator NR 7 POO
    Lucrarea de Laborator NR 7 POO
    Document7 pagini
    Lucrarea de Laborator NR 7 POO
    Alexandru Burdeniuc
    Încă nu există evaluări
  • Tipuri de Date in Pascal
    Tipuri de Date in Pascal
    Document11 pagini
    Tipuri de Date in Pascal
    Alina Plesa
    Încă nu există evaluări
  • Stiva - Operatii Specifice
    Stiva - Operatii Specifice
    Document5 pagini
    Stiva - Operatii Specifice
    Cosnita Emilia-Felicia
    Încă nu există evaluări
  • PCLP Intrebari
    PCLP Intrebari
    Document15 pagini
    PCLP Intrebari
    RoOby Bă
    Încă nu există evaluări
  • Lucrarea de Laborator NR 7 POO
    Lucrarea de Laborator NR 7 POO
    Document7 pagini
    Lucrarea de Laborator NR 7 POO
    Alexandru Burdeniuc
    Încă nu există evaluări
  • 3.alocarea Dinamica A Memoriei in C++.Stiva
    3.alocarea Dinamica A Memoriei in C++.Stiva
    Document46 pagini
    3.alocarea Dinamica A Memoriei in C++.Stiva
    Adi Ecovescu
    100% (1)
  • Vocabularul Limbaj de Prog
    Vocabularul Limbaj de Prog
    Document5 pagini
    Vocabularul Limbaj de Prog
    Victor Burcovski
    Încă nu există evaluări
  • Java Lab 1,2
    Java Lab 1,2
    Document37 pagini
    Java Lab 1,2
    Marica Marian
    Î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
  • Java IE4
    Java IE4
    Document33 pagini
    Java IE4
    Cezar Barbu
    Încă nu există evaluări
  • Vocabular Limbaj Pascal
    Vocabular Limbaj Pascal
    Document8 pagini
    Vocabular Limbaj Pascal
    Catalina Stefan
    Încă nu există evaluări
  • CursJava 05 CristianIonita LambdaStreams v2
    CursJava 05 CristianIonita LambdaStreams v2
    Document14 pagini
    CursJava 05 CristianIonita LambdaStreams v2
    Aysel-Ioana BATCOVEANU
    Încă nu există evaluări
  • Fundamentele Programării in PYTHON
    Fundamentele Programării in PYTHON
    Document247 pagini
    Fundamentele Programării in PYTHON
    Iana Mihai
    100% (2)
  • Curs1 Introducerejava 2018
    Curs1 Introducerejava 2018
    Document52 pagini
    Curs1 Introducerejava 2018
    garson2023deva
    Încă nu există evaluări
  • Curs 9
    Curs 9
    Document20 pagini
    Curs 9
    MisterTony112
    Încă nu există evaluări
  • Clar
    Clar
    Document26 pagini
    Clar
    deyofe5903
    Încă nu există evaluări
  • CursSDD 3
    CursSDD 3
    Document42 pagini
    CursSDD 3
    zoicatrade
    Încă nu există evaluări
  • Asdc 4
    Asdc 4
    Document47 pagini
    Asdc 4
    Dan 421
    Încă nu există evaluări
  • Python101 Curs4
    Python101 Curs4
    Document48 pagini
    Python101 Curs4
    Duta Cosmin
    Încă nu există evaluări
  • Java Core 1
    Java Core 1
    Document49 pagini
    Java Core 1
    Niculae Stefanescu
    Încă nu există evaluări
  • VB Manual
    VB Manual
    Document278 pagini
    VB Manual
    Ivan Marian
    Încă nu există evaluări
  • Tablouri Și Șiruri de Caractere
    Tablouri Și Șiruri de Caractere
    Document5 pagini
    Tablouri Și Șiruri de Caractere
    Marcica Dranga
    Încă nu există evaluări
  • Subiecte Rezolvate Partea A II-a PDF
    Subiecte Rezolvate Partea A II-a PDF
    Document34 pagini
    Subiecte Rezolvate Partea A II-a PDF
    Cris
    Încă nu există evaluări
  • Capitolul4 Impress
    Capitolul4 Impress
    Document53 pagini
    Capitolul4 Impress
    Daniel Popa
    Încă nu există evaluări
  • Capitolul2 Writer
    Capitolul2 Writer
    Document128 pagini
    Capitolul2 Writer
    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
  • Info 2011
    Info 2011
    Document3 pagini
    Info 2011
    Daniel Popa
    Încă nu există evaluări
  • Capitolul1 Introducere
    Capitolul1 Introducere
    Document17 pagini
    Capitolul1 Introducere
    Daniel Popa
    Încă nu există evaluări
  • Lab 4
    Lab 4
    Document2 pagini
    Lab 4
    Daniel Popa
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document4 pagini
    Lab 1
    Daniel Popa
    Încă nu există evaluări
  • CAP2
    CAP2
    Document9 pagini
    CAP2
    Daniel Popa
    Încă nu există evaluări
  • Lab 2
    Lab 2
    Document5 pagini
    Lab 2
    Daniel Popa
    Încă nu există evaluări
  • Lab 6
    Lab 6
    Document2 pagini
    Lab 6
    Daniel Popa
    Încă nu există evaluări
  • Curs 14
    Curs 14
    Document31 pagini
    Curs 14
    Daniel Popa
    Încă nu există evaluări
  • Curs 9
    Curs 9
    Document29 pagini
    Curs 9
    Daniel Popa
    Încă nu există evaluări
  • Curs 1
    Curs 1
    Document39 pagini
    Curs 1
    Daniel Popa
    Încă nu există evaluări
  • Curs 2
    Curs 2
    Document58 pagini
    Curs 2
    Daniel Popa
    Încă nu există evaluări
  • Curs 3
    Curs 3
    Document38 pagini
    Curs 3
    Daniel Popa
    Încă nu există evaluări
  • CAP9
    CAP9
    Document8 pagini
    CAP9
    Daniel Popa
    Încă nu există evaluări
  • Curs 12
    Curs 12
    Document26 pagini
    Curs 12
    Daniel Popa
    Încă nu există evaluări
  • CAP6
    CAP6
    Document10 pagini
    CAP6
    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
  • CAP12
    CAP12
    Document8 pagini
    CAP12
    Daniel Popa
    Încă nu există evaluări
  • Test Stiva Struct Siruri de Caract
    Test Stiva Struct Siruri de Caract
    Document2 pagini
    Test Stiva Struct Siruri de Caract
    Daniel Popa
    Încă nu există evaluări
  • cls9 If For
    cls9 If For
    Document2 pagini
    cls9 If For
    Daniel Popa
    Încă nu există evaluări
  • Info cls11
    Info cls11
    Document1 pagină
    Info cls11
    Daniel Popa
    Încă nu există evaluări
  • CAP10
    CAP10
    Document5 pagini
    CAP10
    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
  • Test cls9 If Struct Rep Vectori
    Test cls9 If Struct Rep Vectori
    Document2 pagini
    Test cls9 If Struct Rep Vectori
    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
  • Info cls9
    Info cls9
    Document1 pagină
    Info cls9
    Daniel Popa
    Încă nu există evaluări
  • Info cls10
    Info cls10
    Document1 pagină
    Info cls10
    Daniel Popa
    Încă nu există evaluări
  • Test Cls 9a C
    Test Cls 9a C
    Document5 pagini
    Test Cls 9a C
    Daniel Popa
    Încă nu există evaluări