Aici sunt prezentate diferențele dintre versiunile selectate și versiunea curentă a paginii.
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ă) |