This is an old revision of the document!
Corectare Tema 2
Depunctări
De marcat în spreadsheet, doar 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.