Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
pp:2026:scala:t01 [2026/03/25 17:53] ldaniel deadline provizoriu |
pp:2026:scala:t01 [2026/03/25 19:19] (current) ldaniel typo |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| Deadline: ''17 aprilie 2026'' | Deadline: ''17 aprilie 2026'' | ||
| - | Schelet de cod: | + | Schelet de cod: {{:pp:2026:scala:tema1_pp_2026_skel_v1.zip|}} |
| - | + | ||
| - | După ce ați descărcat scheletul, creați un proiect nou din IntelliJ în Scala, în care copiați folderele și fișierul din arhivă în root-ul proiectului (folderul ''src'' va fi suprascris). Dați restart la IDE și ar trebui să funcționeze. | + | |
| <note warning>După deadline fiecare student va prezenta tema la laborator, explicând în detaliu implementarea.</note> | <note warning>După deadline fiecare student va prezenta tema la laborator, explicând în detaliu implementarea.</note> | ||
| Line 14: | Line 12: | ||
| * Partea 1: modulul de decodificare a codului de bare de pe produs | * Partea 1: modulul de decodificare a codului de bare de pe produs | ||
| * Partea 2: modulul de tabele folosit pentru a stoca informatiile despre produse, cum at fi denumirea, pretul si codul de bare | * Partea 2: modulul de tabele folosit pentru a stoca informatiile despre produse, cum at fi denumirea, pretul si codul de bare | ||
| - | * Partea 3: operatii uzuale de gestionare a cosului de cumparaturi, de exemplu adaugarea deproduse, stergerea sau modificarea cantitatii | + | * Partea 3: operatii uzuale de gestionare a cosului de cumparaturi, de exemplu adaugarea de produse, stergerea sau modificarea cantitatii |
| ===== 1. Coduri de bare ===== | ===== 1. Coduri de bare ===== | ||
| Line 590: | Line 588: | ||
| - | **2.3.1.** Vom defini operatiile ce se pot realiza pe o tabela folosind TDA-ul ''PP_SQL_Table''. Funcția ''eval'' trebuie sa apeleze metodele corespunzatoare definite in ''Table''. | + | **2.3.1.** Vom defini operatiile ce se pot realiza pe o tabela folosind TDA-ul ''PP_SQL_Table''. Funcția ''eval'' trebuie sa apeleze metodele corespunzatoare definite in ''Table''. Ne vom folosi de mostenire pentru a oferi implementari specifice functiei eval pentru fiecare tip de operatie. |
| <code scala> | <code scala> | ||
| Line 680: | Line 678: | ||
| </code> | </code> | ||
| ===== Testare ===== | ===== Testare ===== | ||
| - | În folderul src/test din proiect se află Test.scala, care poate fi rulat din IntelliJ apăsând pe butonul de Run din partea stângă a codului. Fiecare test are un buton propriu și poate fi rulat separat. Există teste pentru cele mai importante funcții, vă recomandăm să testați funcțiile de bază înainte de a începe implementarea task-urilor avansate. | + | În folderul src/test din proiect se află testele. Testele pot fi rulate din terminal folosind comanda: |
| - | La rularea testelor veți primi și un punctaj, după specificațiile din enunț. | ||
| - | |||
| - | Dacă folosiți terminalul: | ||
| <code>sbt test</code> | <code>sbt test</code> | ||
| + | |||
| + | Puteti testa singuri functionalitatea temei folosind functia main din fisierul Main.scala dupa ce ati implementat toate functiile. Ar trebui ca primul cod de bare sa fie recunoscut si al doilea nu. | ||
| + | |||
| + | Din terminal puteti rula proiectul folosind comanda: | ||
| + | |||
| + | <code>sbt run</code> | ||
| ===== Submisie arhiva ===== | ===== Submisie arhiva ===== | ||