Unelte utilizator

Unelte site


15:teme:racket-decizie
Diferențe

Aici sunt prezentate diferențele dintre versiunile selectate și versiunea curentă a paginii.

Link către această vizualizare comparativă

Both sides previous revision Versiuni anterioare
Urmatoarea versiune
Versiuni anterioare
15:teme:racket-decizie [2015/03/19 09:51]
Andrei Olaru [Construcția arborelui]
15:teme:racket-decizie [2016/02/26 18:21] (curent)
199.119.124.44 ↷ Links adapted because of a move operation
Linia 2: Linia 2:
  
 * Responsabil:​ [[cs@andreiolaru.ro|Andrei Olaru]] * Responsabil:​ [[cs@andreiolaru.ro|Andrei Olaru]]
-* Deadline: **03.04.2015** (depunctare:​ 0.5p/zi)+* Deadline: **03.04.2015** (depunctare:​ 0.5p/​zi ​->| 28.04.2015)
 * Data publicării:​ 11.03.2015 * Data publicării:​ 11.03.2015
-* Data ultimei modificări: ​19.03.2015 +* Data ultimei modificări: ​30.03.2015 ​(17:00) 
-* Data tester-ului: ​soon+* Data tester-ului: ​30.03.2015 | [[https://​elf.cs.pub.ro/​vmchecker/​ui/#​PP|vmchecker]]
 * [[http://​cs.curs.pub.ro/​2014/​mod/​forum/​view.php?​id=4834|Forum tema 1]] * [[http://​cs.curs.pub.ro/​2014/​mod/​forum/​view.php?​id=4834|Forum tema 1]]
 * [[#​changelog|Changelog]] ​ * [[#​changelog|Changelog]] ​
Linia 135: Linia 135:
 == Debugging == == Debugging ==
  
 +În depanarea implementării vă pot fi utile următoarele funcții implementate în ''​decision-tree-test.rkt'':​
  
 +  * ''​(get-test nume-test)''​ -- întoarce toate elementele testului cu numele specificat
 +  * ''​(get-tree nume-test funcție-creare)''​ -- întoarce arborele creat de funcția dată (probabil ''​create-tree''​) pentru testul cu numele specificat
 +  * ''​(perform-test listă-funcții nume-exemplu funcție-creare)''​ -- efectuează verificări,​ folosind funcțiile de acces date (probabil ''​functions''​),​ testul cu numele dat, și funcția dată (probabil ''​create-tree''​):​
 +    * creează arborele
 +    * verifică structura arborelui
 +      * coerența structurii în raport cu funcțiile date
 +      * apartenența valorilor din frunze la mulțimea de valori a atributului clasă
 +      * apartenența valorilor din noduri la mulțimea de atribute
 +      * apartenența valorilor de pe ramuri la mulțimea de valori ai atributului verificat în nod
 +      * această testare va afișa erori (prima eroare întâlnită) la consolă
 +    * verifică clasificarea corectă a exemplelor de test, folosind arborele dat
 +      * prima verificare eșuată va afișa eroarea la consolă
 +  * ''​(get-tree-height listă-funcții arbore test)''​ -- calculează înălțimea arborelui (folosind funcțiile de acces date). Ultimul parametru (poate fi obținut cu ''​get-test''​) este necesar pentru obținerea valorilor atributelor.
 +  * ''​(decide-class listă-funcții arbore exemplu-test)''​ -- parcurge arborele dat (folosind funcțiile de acces date) și întoarce clasa la care a fost clasificat exemplul de test.
 +  * ''​(check-tree-structure listă-funcții arbore test)''​ -- efectuează verificările de mai sus asupra structurii arborelui dat, folosind funcțiile de acces date, și testul dat (poate fi obținut cu ''​get-test'',​ este necesar pentru valorile atributelor și pentru valorile clasei)
  
 == Precizări == == Precizări ==
-  * Încărcarea temelor, ca și testarea și notarea lor, se va face pe ''​vmchecker''​. ​Vom reveni ​cu detalii ​în timp util.+  * Încărcarea temelor, ca și testarea și notarea lor, se va face pe ''​vmchecker''​. ​Este suficient să includeți fișierul ''​decision-tree-create.rkt''​ (plus readme) în arhivă, testele există deja. 
 +  * În arhiva temei includeți un fișier README ​cu detalii ​despre cum ați implementat structura arborelui.
   * Sunt interzise efectele laterale de orice fel (''​set!'',​ ''​set-car!''​ etc.).   * Sunt interzise efectele laterale de orice fel (''​set!'',​ ''​set-car!''​ etc.).
   * Nu implementați arborele ca listă simplă (liniară, ne-imbricată) în care găsirea nodurilor se face prin calcul de indecși.   * Nu implementați arborele ca listă simplă (liniară, ne-imbricată) în care găsirea nodurilor se face prin calcul de indecși.
Linia 148: Linia 165:
 == Resurse == == Resurse ==
  
-* {{:teme15:​racket-decizie:​racket-decizie.zip|Arhiva de pornire}}+* {{15:teme:​racket-decizie:​racket-decizie.zip|Arhiva de pornire}}
  
 == Changelog == == Changelog ==
  
 +* 30.03 -- corecție test ''​food-small''​ (mulțumesc Radu-Paul Rădulescu);​ corecție testare înălțime arbore ''​food-big''​ în funcție de atributul ales ca rădăcină.
 +* 25.03 -- vmchecker up.
 * 19.03 -- corecție teste food-small, food-big, și bonus (mulțumesc Teodor-Petre Ștefu și Adrian-Nicolae Tănase) * 19.03 -- corecție teste food-small, food-big, și bonus (mulțumesc Teodor-Petre Ștefu și Adrian-Nicolae Tănase)
 +* 19.03 -- adăugare secțiune [[#​debugging]]
 * 17.03 -- mențiune în enunț a utilității inspectării fișierului ''​decision-tree-test.rkt''​. * 17.03 -- mențiune în enunț a utilității inspectării fișierului ''​decision-tree-test.rkt''​.
 * 14.03 -- corecție (actualizare) documentație aferentă listei ''​string'',​ în ''​decision-tree-test.rkt''​ (mulțumesc Tiberiu Iorgulescu) * 14.03 -- corecție (actualizare) documentație aferentă listei ''​string'',​ în ''​decision-tree-test.rkt''​ (mulțumesc Tiberiu Iorgulescu)
 * 11.03 -- corecție documentare funcție get-child (mulțumesc Alexandru Antonică) * 11.03 -- corecție documentare funcție get-child (mulțumesc Alexandru Antonică)
15/teme/racket-decizie.1426751463.txt.gz · Ultima modificare: 2015/03/19 09:51 de către Andrei Olaru