
    

    <?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://ocw.cs.pub.ro/courses/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://ocw.cs.pub.ro/courses/feed.php">
        <title>CS Open CourseWare poo:laboratoare</title>
        <description></description>
        <link>http://ocw.cs.pub.ro/courses/</link>
        <image rdf:resource="http://ocw.cs.pub.ro/courses/lib/tpl/arctic/images/favicon.ico" />
       <dc:date>2026-04-09T00:58:49+03:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo/laboratoare/01?rev=1759691073&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo/laboratoare/02?rev=1696144231&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo/laboratoare/03?rev=1761211941&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo/laboratoare/04?rev=1571134698&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo/laboratoare/05?rev=1540204847&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo/laboratoare/06?rev=1636916038&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo/laboratoare/07?rev=1763618467&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo/laboratoare/08?rev=1764017382&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo/laboratoare/09?rev=1764516125&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo/laboratoare/10?rev=1764517333&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo/laboratoare/11-backup?rev=1765725571&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo/laboratoare/11?rev=1765727646&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo/laboratoare/12?rev=1768196955&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo/laboratoare/13?rev=1768200385&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo/laboratoare/14?rev=1768199575&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo/laboratoare/15?rev=1673978947&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo/laboratoare/probleme-dp?rev=1768196289&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://ocw.cs.pub.ro/courses/lib/tpl/arctic/images/favicon.ico">
        <title>CS Open CourseWare</title>
        <link>http://ocw.cs.pub.ro/courses/</link>
        <url>http://ocw.cs.pub.ro/courses/lib/tpl/arctic/images/favicon.ico</url>
    </image>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo/laboratoare/01?rev=1759691073&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-05T22:04:33+03:00</dc:date>
        <title>Laboratorul 01.</title>
        <link>http://ocw.cs.pub.ro/courses/poo/laboratoare/01?rev=1759691073&amp;do=diff</link>
        <description>Laboratorul 01.


Observație




Problema 1

Creați un proiect Java nou, apoi creați un fișier sursă simplu numit Prob1.java. 

1. În acest fișier scrieți o clasă numită Test care conține metoda main și afișează în consolă mesajul ”Test Java”. Rulați programul și verificați apariția mesajului în fereastra Run.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo/laboratoare/02?rev=1696144231&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-10-01T10:10:31+03:00</dc:date>
        <title>Laboratorul 02.</title>
        <link>http://ocw.cs.pub.ro/courses/poo/laboratoare/02?rev=1696144231&amp;do=diff</link>
        <description>Laboratorul 02.


Observație




Problema 1

Să se determine numărul de apariții a șirului  în șirul , in doua moduri, astfel:

	*  folosind metoda substring;
	*  folosind metoda indexOf.

Exemplu


String s2 = &quot;si&quot;;
String s1 = &quot;sir1 si cu sir2 fac un sir3&quot;;</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo/laboratoare/03?rev=1761211941&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-23T12:32:21+03:00</dc:date>
        <title>Laboratorul 03.</title>
        <link>http://ocw.cs.pub.ro/courses/poo/laboratoare/03?rev=1761211941&amp;do=diff</link>
        <description>Laboratorul 03.

Problema 1

Definiți o clasă Fractie care modelează lucrul cu fracțiile. Membrii acestei clase sunt:

	*  două atribuite de tip int pentru numărătorul fracției, respectiv numitorul ei;
	*  constructorul cu doi parametri de tip int, pentru setarea celor două parți ale fracției (numărător și numitor);
	*  un constructor fără parametri care apelează constructorul anterior;
	*  o metodă, cu un singur parametru, de calcul a sumei a două fracții;
	*  o metodă toString uzitată pentru a…</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo/laboratoare/04?rev=1571134698&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-15T13:18:18+03:00</dc:date>
        <title>Laboratorul 04.</title>
        <link>http://ocw.cs.pub.ro/courses/poo/laboratoare/04?rev=1571134698&amp;do=diff</link>
        <description>Laboratorul 04.

Problema 1

Se ofera clasa de baza Patrulater care descrie o figura geometrica reprezentata printr-un patrulater convex. Pornind de la clasa oferita, implementati urmatoarea ierarhie de clase, alegand constructorii considerati potriviti pentru fiecare clasa:</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo/laboratoare/05?rev=1540204847&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-22T13:40:47+03:00</dc:date>
        <title>Laboratorul 05.</title>
        <link>http://ocw.cs.pub.ro/courses/poo/laboratoare/05?rev=1540204847&amp;do=diff</link>
        <description>Laboratorul 05.

Arhiva laborator 5:  

Problema 1

Corectati erorile, daca exista, din fisierul Problema1, existent in arhiva laboratorului si verificati care este rezultatul rularii clasei Problema1, incercand sa-l intuiti prima data si apoi sa intelegeti de ce este asa, daca nu este cel la care v-ati fi asteptat.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo/laboratoare/06?rev=1636916038&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-14T20:53:58+03:00</dc:date>
        <title>Laboratorul 06.</title>
        <link>http://ocw.cs.pub.ro/courses/poo/laboratoare/06?rev=1636916038&amp;do=diff</link>
        <description>Laboratorul 06.

Arhiva laborator 6: 

Problema 0  - vezi curs!!

Să se definească o clasă SortedVector derivată din Vector, care să permită ordonarea după orice criteriu, specificat de utilizator la construirea unui obiect SortedVector. Clasa va conţine o variabilă de tip Comparator, iniţializată de un constructor cu argument de tip Comparator şi folosită de metoda Collections.sort.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo/laboratoare/07?rev=1763618467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-20T08:01:07+03:00</dc:date>
        <title>Laboratorul 07.</title>
        <link>http://ocw.cs.pub.ro/courses/poo/laboratoare/07?rev=1763618467&amp;do=diff</link>
        <description>Laboratorul 07.

Arhiva laborator: [ Arhiva]

Problema 1

Se cere realizarea unui program care citește un fișier text și afișează cuvintele distincte.

În această problemă, prin “cuvânt” înțelegem o secvență de caractere obținută prin separare atât după spații, cât și după semnele uzuale de punctuație. Tokenizarea se va face exclusiv cu StringTokenizer, folosind o listă de delimitatori care include cel puțin: spațiul ' ', tabul '\t', virgula ,, punctul ., punct și virgulă ;, două puncte :, semne…</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo/laboratoare/08?rev=1764017382&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-24T22:49:42+03:00</dc:date>
        <title>Laboratorul 08.</title>
        <link>http://ocw.cs.pub.ro/courses/poo/laboratoare/08?rev=1764017382&amp;do=diff</link>
        <description>Laboratorul 08.

ATENTIE! Se vor folosi tipuri generice in toate problemele!

[Arhiva laborator]

Problema 1

Să se definească o clasă generică ArrayMap pentru un dicționar realizat ca o colecție de obiecte ArrayMapEntry (colecția va fi obiect de tip ArrayList). Clasa ArrayMapEntry va implementa interfața Map.Entry și va avea următoarele metode:</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo/laboratoare/09?rev=1764516125&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-30T17:22:05+03:00</dc:date>
        <title>Laborator 9</title>
        <link>http://ocw.cs.pub.ro/courses/poo/laboratoare/09?rev=1764516125&amp;do=diff</link>
        <description>[Arhiva laborator]

Problema 1

Să se realizeze un program care afișează patru câmpuri text și un buton. În primele trei câmpuri text, utilizatorul introduce numele discului suport (A:, C:, D:), calea (secvența de directoare) și numele unui fișier. La apăsarea pe buton se va afișa, în cel de-al patrulea câmp text, calea completă la fișier.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo/laboratoare/10?rev=1764517333&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-30T17:42:13+03:00</dc:date>
        <title>Laboratorul 10</title>
        <link>http://ocw.cs.pub.ro/courses/poo/laboratoare/10?rev=1764517333&amp;do=diff</link>
        <description>Laboratorul 10

[Arhiva laborator]

Problema 1

Pornind de la clasa Book, pusă la dispoziție în arhiva laboratorului, realizați o listă, obiect de tip JList, care să afișeze o serie de cărți. 

În implementare, constructorul obiectului JList primește ca parametru un obiect de tip Vector, care o să conțină elemente de tip Book.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo/laboratoare/11-backup?rev=1765725571&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-14T17:19:31+03:00</dc:date>
        <title>Laboratorul – Design Patterns 1</title>
        <link>http://ocw.cs.pub.ro/courses/poo/laboratoare/11-backup?rev=1765725571&amp;do=diff</link>
        <description>Laboratorul – Design Patterns 1
[Arhiva laborator]









Problema 1 - Singleton

Se cere implementarea Design Pattern-ului Singleton în cadrul clasei Spotify.
Clasa Spotify reprezintă componenta principală a aplicației, gestionând datele
platformei (utilizatori și melodii).</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo/laboratoare/11?rev=1765727646&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-14T17:54:06+03:00</dc:date>
        <title>Laboratorul 11 – Design Patterns (1)</title>
        <link>http://ocw.cs.pub.ro/courses/poo/laboratoare/11?rev=1765727646&amp;do=diff</link>
        <description>Laboratorul 11 – Design Patterns (1)


Problema 1 - Singleton

Implementați o clasă Catalog care conține o listă cu obiecte de tip Course.
Va trebui să vă asigurați că pentru această clasă va putea exista o singură instanță
care să poată fi accesată din orice clasă a proiectului. Implementați metoda toString
pentru clasa Catalog.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo/laboratoare/12?rev=1768196955&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-12T07:49:15+03:00</dc:date>
        <title>Laboratorul 12 – Genericitate. Design Patterns 2</title>
        <link>http://ocw.cs.pub.ro/courses/poo/laboratoare/12?rev=1768196955&amp;do=diff</link>
        <description>Laboratorul 12 – Genericitate. Design Patterns 2

[Arhiva laborator]

Problema 1

Pornind de la codul de mai jos, asigurați faptul că se va apela codul aferent tipului
dinamic al parametrului, definind clasele Hero, Warrior, Ninja, Rogue și StormFire,
în mod minimal!</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo/laboratoare/13?rev=1768200385&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-12T08:46:25+03:00</dc:date>
        <title>Laboratorul 13 – Fluxuri I/O. Funcționale</title>
        <link>http://ocw.cs.pub.ro/courses/poo/laboratoare/13?rev=1768200385&amp;do=diff</link>
        <description>Laboratorul 13 – Fluxuri I/O. Funcționale

[Arhiva laborator]

Problema 1

Să se scrie un program pentru afișarea pe ecran a liniilor aflate pe poziții impare
dintr-un fișier text. Fiecare linie va fi precedată de numărul ei și un spațiu.

În implementare, se va folosi un obiect de tip LineNumberReader.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo/laboratoare/14?rev=1768199575&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-12T08:32:55+03:00</dc:date>
        <title>Laboratorul 13 – Fluxuri I/O. Funcționale</title>
        <link>http://ocw.cs.pub.ro/courses/poo/laboratoare/14?rev=1768199575&amp;do=diff</link>
        <description>Laboratorul 13 – Fluxuri I/O. Funcționale

[Arhiva laborator]

Problema 1

Să se scrie un program pentru afișarea pe ecran a liniilor aflate pe poziții impare
dintr-un fișier text. Fiecare linie va fi precedată de numărul ei și un spațiu.

În implementare, se va folosi un obiect de tip LineNumberReader.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo/laboratoare/15?rev=1673978947&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-17T20:09:07+03:00</dc:date>
        <title>Laboratorul 14.</title>
        <link>http://ocw.cs.pub.ro/courses/poo/laboratoare/15?rev=1673978947&amp;do=diff</link>
        <description>Laboratorul 14.

Realizați o arhitectură unificată, similară cu Collections, pentru manipularea listelor care să conțină:

	*  interfața Function, parametrizată corespunzător, care conține o metodă execute, având ca parametru un obiect de tip A și un rezultat de tip B, unde A și B sunt două tipuri formale;
	*  interfața Addition folosită pentru a calcula suma a două numere de tip T, unde T este un subtip al lui Number (aceasta va conține o metodă zero care va întoarce elementul neutru al operați…</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo/laboratoare/probleme-dp?rev=1768196289&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-12T07:38:09+03:00</dc:date>
        <title>Laboratorul 12.</title>
        <link>http://ocw.cs.pub.ro/courses/poo/laboratoare/probleme-dp?rev=1768196289&amp;do=diff</link>
        <description>Laboratorul 12.

Probleme

1) Singleton

Realizati o aplicatie in care veti construi o clasa ShopSingleton folosind design pattern-ul Singleton. Clasa va avea urmatorii membrii:

- name (String)
- products (o lista de produse)
In acest caz veti avea o clasa **Product** care descrie un produs, caracterizat prin pret, care va fi float si un nume, care va fi un String.
In ShopSingleton va exista o metoda void numita showProducts, care va afisa produsele din magazin.
Veti avea o clasa Test, in care …</description>
    </item>
</rdf:RDF>
