This shows you the differences between two versions of the page.
pp:21:teme:racket-teste-enunt [2021/04/04 12:50] mihaela.balint |
pp:21:teme:racket-teste-enunt [2021/04/06 22:45] (current) mihaela.balint [Depunctări] |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== Corectare Tema 1 ===== | ===== Corectare Tema 1 ===== | ||
+ | ==== Depunctări ==== | ||
De marcat în spreadsheet, doar dacă ceva este în neregulă, următoarele rubrici: | De marcat în spreadsheet, doar dacă ceva este în neregulă, următoarele rubrici: | ||
- | * **efecte laterale**: **1** dacă folosește funcții cu efecte laterale | + | * (generic) **efecte laterale** ------ **1** dacă folosește funcții cu efecte laterale |
- | * **checker tricks**: **numele funcțiilor** care sunt inginerite astfel încât să treacă mai multe teste decât ar trebui | + | * (generic) **checker tricks** ------ **numele funcțiilor** care sunt inginerite astfel încât să treacă mai multe teste decât ar trebui |
- | * (etapa 2) **funcții curry**: **un număr între 1 și 3**, în funcție de câte dintre tt+, et+, add-to-counter nu sunt implementate în formă curry | + | * (etapa 2) **funcții curry** ------ **un număr între 1 și 3**, în funcție de câte dintre tt+, et+, add-to-counter nu sunt implementate în formă curry |
- | * (etapa 2) **abstractizare funcții**: **1** dacă min-tt și min-et nu sunt derivate dintr-o funcție mai abstractă, evitând rescrierea aceluiași cod | + | * (etapa 2) **lipsă abstractizare** ------ **1** dacă min-tt și min-et nu sunt derivate dintr-o funcție mai abstractă, evitând rescrierea aceluiași cod |
- | * (etapa 3) **abstractizare date**: **1** dacă TDA-ul queue nu este folosit doar prin intermediul interfeței sale | + | * (etapa 3) **incorect TDA** ------ **1** dacă TDA-ul queue nu este folosit doar prin intermediul interfeței sale |
- | * (etapa 4) **fluxuri ineficiente**: **1** dacă TDA-ul queue trece testele fără a implementa eficient (conform indicațiilor) rotate/enqueue/dequeue | + | * (etapa 4) **fluxuri ineficiente** ------ **un număr între 1 și 3**, în funcție de câte dintre rotate, enqueue, dequeue trec testele fără a fi implementate eficient (conform indicațiilor); numărați funcția doar dacă sursa ineficienței este în funcția respectivă; ex: dacă enqueue și dequeue sunt ineficiente din cauză că folosesc un rotate ineficient, atunci scrieți 1, nu 3) |
| | ||
+ | ==== Sugestii de întrebări la prezentare ==== | ||
+ | * (etapa 1) | ||
+ | * cum alegem casa la care așezăm un client | ||
+ | * cum se tratează întârzierile la casele fără clienți | ||
+ | * (etapa 2) | ||
+ | * unde exploatăm faptul că am definit funcții curry | ||
+ | * cum determinăm câte case noi trebuie deschise și care sunt indecșii acestora | ||
+ | * cum este folosit remove-first-from-counter | ||
+ | * (etapa 3) | ||
+ | * cum tratăm cazul în care în numărul dat de minute ies mai mulți clienți (de la aceeași casă / de la case diferite) | ||
+ | * cum ordonăm clienții care ies simultan | ||
+ | * de ce este implementată coada cu 2 stive | ||
+ | * (etapa 4) | ||
+ | * ce operație pe coadă optimizăm și cum | ||
+ | * s-a modificat în vreun fel structura counter | ||
+ | * ce se întâmplă cu clienții de la casele care se închid | ||
+ | * (generic) | ||
+ | * ce se schimbă de la o etapă la alta | ||
+ | * câte moduri diferite de a reprezenta coada de clienți s-au folosit în cele 4 etape | ||
+ | * care sunt situațiile tratate de funcția serve | ||
+ | * unde s-au putut / s-ar fi putut folosi funcționale |