Differences

This shows you the differences between two versions of the page.

Link to this comparison view

poo:laboratoare:03 [2020/10/20 09:07]
carmen.odubasteanu
poo:laboratoare:03 [2025/10/23 12:32] (current)
carmen.odubasteanu [Problemă extra]
Line 3: Line 3:
 ====Problema 1==== ====Problema 1====
 Definiți o clasă **//​Fractie//​** care modelează lucrul cu fracțiile. Membrii acestei clase sunt: Definiți o clasă **//​Fractie//​** care modelează lucrul cu fracțiile. Membrii acestei clase sunt:
-  * două atribuite de tip **//double//** pentru numărătorul fracției, respectiv numitorul ei; +  * două atribuite de tip **//int//** pentru numărătorul fracției, respectiv numitorul ei; 
-  * constructorul cu doi parametri de tip //**double**//, pentru setarea celor două parți ale fracției (numărător și numitor);+  * 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;   * 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ă, cu un **singur** parametru, de calcul a sumei a două fracții;
Line 32: Line 32:
 Să se definească o clasă **//​MyQueue//​** care să descrie o structură de date de tip coadă. Să se definească o clasă **//​MyQueue//​** care să descrie o structură de date de tip coadă.
 Datele clasei (private): Datele clasei (private):
-  * un obiect de tip **//​MyArray//​** (clasa ​inclusă în arhiva laboratorului);+  * un obiect de tip **//​MyArray//​** (clasa ​data mai jos);
   * o constantă (//​**Infinit**//​) având valoarea $9500$;   * o constantă (//​**Infinit**//​) având valoarea $9500$;
   * indicele primului element din coadă;   * indicele primului element din coadă;
Line 165: Line 165:
   * ''​boolean isArc(int v, int w)''​ = verifică dacă există arc între $v$ și $w$ în graf;   * ''​boolean isArc(int v, int w)''​ = verifică dacă există arc între $v$ și $w$ în graf;
   * ''​toString()''​ = afișarea grafului (se va alege o variantă intuitivă de afișare a grafului);   * ''​toString()''​ = afișarea grafului (se va alege o variantă intuitivă de afișare a grafului);
-  * ''​int[][] floydWarshall()''​ = implementarea algoritmului ​\textit{Floyd - Warshallpentru determinarea drumurilor de cost minim în graf;+  * ''​int[][] floydWarshall()''​ = implementarea algoritmului Floyd - Warshall pentru determinarea drumurilor de cost minim în graf;
   * ''​void main(String[])''​ = metoda main pentru testarea functionalității clasei implementate.   * ''​void main(String[])''​ = metoda main pentru testarea functionalității clasei implementate.
  
Line 235: Line 235:
 false Bucuresti Nord (23:45) -> Sofia (17:00) false Bucuresti Nord (23:45) -> Sofia (17:00)
 </​code>​ </​code>​
 +
 +==== Problemă extra ====
 +
 +1. Definește un **enum** numit //​TipProdus//​ cu următoarele valori: ​ //​ALIMENTAR//,​ //​ELECTRONIC//,​ //​VESTIMENTAR//,​ //ALTUL//.
 +
 +2. Creează un **record** numit Produs cu câmpurile:
 +  * String nume
 +  * double pret
 +  * TipProdus tip
 +3. Într-o clasă **Main**, creează 3 produse diferite și afișează-le.
 +
 +4. Adaugă o metodă **descriere()** în Produs care returnează un text prietenos, de forma: //Produs: Nume=Tricou,​ Tip=VESTIMENTAR,​ Pret=99.99 RON//
 +
 +5. În main, adaugă produsele într-o listă/​vector,​ parcurge-le și afișează doar produsele de tip //​ALIMENTAR//​.
poo/laboratoare/03.1603174039.txt.gz · Last modified: 2020/10/20 09:07 by carmen.odubasteanu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0