Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
pp:2025:haskell:tema3 [2025/05/04 22:51] tpruteanu |
pp:2025:haskell:tema3 [2025/05/05 01:05] (current) tpruteanu |
||
|---|---|---|---|
| Line 2: | Line 2: | ||
| <note> | <note> | ||
| - | Schelet: TODO | + | Schelet: {{:pp:2024:lambda-interpreter.zip|}} |
| </note> | </note> | ||
| <note warning> | <note warning> | ||
| - | **Deadline:** TODO | + | **Deadline:** luni 26 mai, ora 23:59 |
| * Temele trebuie submise pe [[curs.upb.ro]], în assignment-ul ''Tema 3''. | * Temele trebuie submise pe [[curs.upb.ro]], în assignment-ul ''Tema 3''. | ||
| * Pentru întrebări folosiți forum-ul dedicat de pe [[curs.upb.ro]]. | * Pentru întrebări folosiți forum-ul dedicat de pe [[curs.upb.ro]]. | ||
| Line 19: | Line 19: | ||
| O să definim o expresie lambda cu ajutorul următorului **TDA**: | O să definim o expresie lambda cu ajutorul următorului **TDA**: | ||
| <code haskell> | <code haskell> | ||
| - | data Expression = Var String | + | data Lambda = Var String |
| - | | Abs String Expression | + | | App Lambda Lambda |
| - | | App Expression Expression | + | | Abs String Lambda |
| </code> | </code> | ||
| + | |||
| + | <note important> | ||
| + | În schelet, definiția **TDA**-ului conține și un constructor pentru macro-uri, pentru cerințele **1** și **2** îl puteți ignora, o să puteți lua punctaj maxim fără să faceți pattern matching pe el, o să fie introdus în cadrul cerinței **3**. | ||
| + | </note> | ||
| Variabilele sunt declarate de tipul ''String'', pentru simplitate o să considerăm variabilă orice șir de caractere format numai din litere mici ale alfabetului englez. | Variabilele sunt declarate de tipul ''String'', pentru simplitate o să considerăm variabilă orice șir de caractere format numai din litere mici ale alfabetului englez. | ||
| Line 161: | Line 165: | ||
| ===== Punctare ===== | ===== Punctare ===== | ||
| - | Tema are un punctaj total de **1.5p** din nota finală, împărțit pe subpuncte: | + | Tema are un punctaj total de **1p** din nota finală, împărțit pe subpuncte: |
| - Evaluation | - Evaluation | ||
| * 5p - **1.1.** - aflarea variabilelor | * 5p - **1.1.** - aflarea variabilelor | ||
| Line 181: | Line 185: | ||
| * 4p - **4.2.** expresii perechi | * 4p - **4.2.** expresii perechi | ||
| * 5p - **4.2.** expresii numere naturale | * 5p - **4.2.** expresii numere naturale | ||
| + | |||
| + | Totalul de **150p** o sa fie scalat la **1p**. | ||
| După cum s-a anunțat la începutul semestrului, pentru studenții care au punctaj maxim pe toate 3 temele de pe parcursul semestrului, o să se echivaleze examenul din sesiune cu punctaj maxim. | După cum s-a anunțat la începutul semestrului, pentru studenții care au punctaj maxim pe toate 3 temele de pe parcursul semestrului, o să se echivaleze examenul din sesiune cu punctaj maxim. | ||
| <note warning> | <note warning> | ||
| - | Pot să existe depunctări de până la **1.5p** pentru implementări hardcodate sau plagiat. | + | Pot să existe depunctări de până la **1p** pentru implementări hardcodate sau plagiat. |
| </note> | </note> | ||