This shows you the differences between two versions of the page.
|
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 - Warshall} pentru 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//. | ||