This shows you the differences between two versions of the page.
pp:21:teme:haskell-corectare [2021/05/16 19:28] mihnea.muraru [Sugestii de întrebări la prezentare] |
pp:21:teme:haskell-corectare [2021/05/16 19:47] (current) mihnea.muraru [Sugestii de întrebări la prezentare] |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== Corectare Tema 2 ===== | ===== Corectare Tema 2 ===== | ||
+ | |||
+ | ==== Precizări ==== | ||
+ | |||
+ | Bonus-ul părții 1 (funcția ''circle'') trebuie **testată manual** (vezi mai jos). Prin urmare, checker-ul acordă maxim **110 puncte**. | ||
==== Depunctări ==== | ==== Depunctări ==== | ||
- | De marcat în spreadsheet, doar dacă ceva este în neregulă, următoarele rubrici: | + | De marcat în spreadsheet, atât pentru bonus-ul Părții 1, cât și dacă ceva este în neregulă, următoarele rubrici: |
* **Recursivitate explicită (0--5)**: câte dintre funcțiile ''%%gameAsString%%'', ''%%successors%%'', ''%%suitableSuccs%%'', ''%%insertSuccs%%'' și ''%%extractPath%%'' sunt implementate cu recursivitate explicită. | * **Recursivitate explicită (0--5)**: câte dintre funcțiile ''%%gameAsString%%'', ''%%successors%%'', ''%%suitableSuccs%%'', ''%%insertSuccs%%'' și ''%%extractPath%%'' sunt implementate cu recursivitate explicită. | ||
Line 13: | Line 17: | ||
==== Sugestii de întrebări la prezentare ==== | ==== Sugestii de întrebări la prezentare ==== | ||
- | * Cum au definit tipul ''Game''. | + | * Partea 1 (''Basics.hs'') |
- | * Cum a fost utilizat **currying-ul** pentru definirea behavior-urilor (de exemplu, la funcția ''bounce''). | + | * Cum au definit tipul ''Game''. |
- | * Unde au folosit **funcționale**. | + | * Cum au implementat reprezentarea ca ''String'' (funcția ''gameAsString''). |
- | * Unde au folosit **list comprehensions** (nu era obligatoriu, dar încurajat). | + | * Dacă au avut nevoie să instanțieze vreo **clasă** pentru tipul ''Game'' (în afară de ''Show'', instanțiată în schelet). |
- | * Dacă au avut nevoie să instanțieze vreo **clasă** pentru tipul ''Game'' (în afară de ''Show'', instanțiată în schelet). | + | * Cum a fost utilizat **currying-ul** pentru definirea behavior-urilor (de exemplu, la funcția ''bounce''). |
- | * Cum a fost exploatată **evaluarea leneșă** în Partea 2 a temei. | + | * Partea 2 (''Search.hs'') |
+ | * Cum au definit tipul ''Node''. | ||
+ | * Cum au instanțiat clasele ''Eq'' și ''Ord'' pentru tipul ''Node''. | ||
+ | * Cum au definit funcțiile de acces ''nodeState'', ''nodeParent'' etc. | ||
+ | * Cum au instanțiat clasa ''ProblemState''. | ||
+ | * Cum a fost exploatată **evaluarea leneșă**. | ||
+ | * General | ||
+ | * Unde au folosit **funcționale**. | ||
+ | * Unde au folosit **list comprehensions** (nu era obligatoriu, dar încurajat). | ||
+ |