This is an old revision of the document!
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
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ă.
circle (0/0.5/1): pentru bonus-ul Părții 1, singurul aspect testat manual, treceți:
1, dacă au implementat corect funcția circle
. Trebuie să vă demonstreze live că target-ul realizează o rotație completă în jurul centrului, pe o traiectorie care seamănă cât mai mult cu un cerc (nu e necesar un cerc perfect);
0.5, dacă face o rotație completă, dar traiectoria e evident diferită de un cerc (de exemplu, dreptunghi);
0, dacă nu realizează o rotație completă.
Euristică trivială (0/1): pentru bonus-ul Părții 2, treceți 1 dacă au definit o euristică trivială, de forma h(x) = 0 sau altă constantă.
Sugestii de întrebări la prezentare
Cum au definit tipul Game
.
Cum a fost utilizat currying-ul pentru definirea behavior-urilor (de exemplu, la funcția bounce
).
Unde au folosit funcționale.
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).
Cum a fost exploatată evaluarea leneșă în Partea 2 a temei.