Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
pp:2023:hw2_v2 [2023/04/10 12:37] alexandra.udrescu01 |
pp:2023:hw2_v2 [2023/04/11 00:04] (current) sorin.mateescu [2. Functii de procesare a datelor (50p)] |
||
---|---|---|---|
Line 64: | Line 64: | ||
Vom implementa clasa ''Table'' in acest sens: | Vom implementa clasa ''Table'' in acest sens: | ||
<code scala> | <code scala> | ||
- | case class Table (column_names: Line, tabular: List[List[String]]) { | + | class Table (column_names: Line, tabular: List[List[String]]) { |
??? | ??? | ||
} | } | ||
Line 131: | Line 131: | ||
</code> | </code> | ||
- | **2.4. (20p)** Implementati functia ''merge'' care uneste 2 tabele. Identificarea liniilor ce trebuie combinate se va face folosing coloana comuna ''key''. Daca exista suprapuneri intre valori, se vor pastra amandoua sub forma unui singur sir de caractere (cele doua intrari vor fi separate prin '';''), iar acolo unde nu exista corespondent in unul dintre tabele, coloanele ramase necompletate vor fi umplute cu un sir de caractere gol. Daca coloana ''key'' nu exista in vreunul din tabele, se va intoarce None. | + | **2.4. (20p)** Implementati functia ''merge'' care uneste 2 tabele. Identificarea liniilor ce trebuie combinate se va face folosing coloana comuna ''key''. Daca exista suprapuneri intre valorile asociate unei chei in cele doua tabele, se vor pastra amandoua valorile (daca sunt diferite) sub forma unui singur sir de caractere (cele doua intrari vor fi separate prin '';''), iar acolo unde nu exista corespondent in unul dintre tabele, coloanele ramase necompletate vor fi umplute cu un sir de caractere gol. Daca coloana ''key'' nu exista in vreunul din tabele, se va intoarce ''None''. |
<code scala> | <code scala> | ||
def merge(key: String, other: Table): Option[Table] = ??? | def merge(key: String, other: Table): Option[Table] = ??? | ||
Line 150: | Line 150: | ||
MERGE intre TABEL 1 si TABEL 2 cu cheia PL: | MERGE intre TABEL 1 si TABEL 2 cu cheia PL: | ||
- | PL Functional OO Description | + | PL Functional Description OO |
- | Haskell yes "" nice | + | Haskell yes nice "" |
- | Scala yes yes cool | + | Scala yes cool yes |
- | Python yes yes good;whoa | + | Python yes good;whoa yes |
</code> | </code> | ||
</hidden> | </hidden> | ||
Line 217: | Line 217: | ||
**3.2. (5p)** Eliminati limbajele al caror scop original este "Application" si sunt "concurrent". Rezultatul se va numi ''TestTables.programmingLanguages2''. | **3.2. (5p)** Eliminati limbajele al caror scop original este "Application" si sunt "concurrent". Rezultatul se va numi ''TestTables.programmingLanguages2''. | ||
- | **3.3. (5p)** Selectati doar coloanele "Language", "Object-Oriented" and "Functional" din tabelul obtinut anterior. Rezultatul se va numi ''TestTables.programmingLanguages3''. | + | **3.3. (5p)** Selectati doar coloanele "Language", "Object-Oriented" si "Functional" din tabelul obtinut anterior. Rezultatul se va numi ''TestTables.programmingLanguages3''. |