Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pp:21:teme:prolog-integrame [2021/05/12 22:54]
andrei.olaru [Resurse]
pp:21:teme:prolog-integrame [2021/05/23 17:25] (current)
andrei.olaru [Changelog]
Line 156: Line 156:
 ==== Etapa 3 ==== ==== Etapa 3 ====
  
-[în curând]+În această etapă veți implementa rezolvarea propriu-zisă a integramei. O soluție a integramei este una în care pentru fiecare întrebare este asociat un cuvânt (un cuvânt din vocabular poate fi asociat cel mult unei întrebări) de lungimea potrivită, și care la intersecțiile cu oricare alt spațiu are aceeași literă cu cuvântul asociat cu întrebarea corespunzătoare acelui spațiu.
  
 +Trebuie implementate predicatele:​
 +  * ''​solutii_posibile/​2'',​ care determină toate cuvintele (ca liste de litere) care pot fi soluție pentru fiecare întrebare.
 +  * ''​rezolvare/​2'',​ care determină în al doilea argument o soluție pentru integramă.
 +    * o soluție este reprezentată ca o listă de perechi întrebare-răspuns,​ unde atât întrebarea (identificată prin textul ei) cât și răspunsul sunt literali/​atomi,​ ca în fișierul ''​solutie.pl''​.
 +    * ca bonus poate fi considerată oricare dintre următoarele două proprietăți (cealaltă va fi parte din punctajul nominal):
 +      * tema funcționează într-un timp acceptabil (5 secunde) și pentru cazuri în care vocabularul este mai extins;
 +      * predicatul ''​rezolvare''​ produce un număr corect de soluții (2 soluții pentru integrama 0 și câte o singură soluție pentru celelalte integrame)
 +    * (adică, dacă implementați doar una dintre cele două proprietăți,​ aveți punctaj nominal; dacă implementați pe ambele, aveți și bonus)
  
  
 +==== Punctaje =====
 +
 +  * pentru etapa 1 puteți acumula maxim 3.6 puncte
 +  * pentru etapa 2 puteți acumula maxim 3.6 puncte
 +  * pentru etapa 3 puteți acumula maxim 4.8 puncte
 +  * în total puteți acumula maxim 12 puncte.
  
  
Line 170: Line 184:
 ===== Resurse ===== ===== Resurse =====
   * {{.prolog:​schelet.zip|schelet de cod}}   * {{.prolog:​schelet.zip|schelet de cod}}
 +  * {{.prolog:​schelet2.zip|schelet de cod pentru etapa 2}}
 +  * {{.prolog:​schelet3.zip|schelet de cod pentru etapa 3}}
 +
 +//Notă: practic, diferența între fișiere este doar fișierul ''​pointsN.pl''​ utilizat, pentru a activa testele pentru diverse etape.//
  
 ===== Changelog ===== ===== Changelog =====
Line 180: Line 198:
     * clarificare legată de reprezentarea elementelor din integramă ca literali, nu ca stringuri, și utilizarea predicatului ''​atom_chars''​ (în loc de ''​string_chars''​)     * clarificare legată de reprezentarea elementelor din integramă ca literali, nu ca stringuri, și utilizarea predicatului ''​atom_chars''​ (în loc de ''​string_chars''​)
     * adăugare în enunț a detalierii structurii unei integrame     * adăugare în enunț a detalierii structurii unei integrame
 +  * 18.05 (20:00)
 +    * publicare vmchecker pentru etapele 2 și 3, publicare etapa 3
 +    * modificare test ''​completare|d''​ pentru a verifica corect și cazurile în care ''​completare''​ întoarce un număr mare de soluții.
 +    * corectare mențiuni despre //​stringuri//​ în fișierul ''​integrame.pl''​
 +    * adăugare documentare corectă (în termeni de "​tipuri"​ ale argumentelor) pentru bonus pentru predicatele ''​lungime''​ și ''​intersectie''​.
 +  * 23.05
 +    * modificare structură punctaje astfel încât la fiecare etapă se primesc doar punctele de pe etapa respectivă (vedeți [[#​Punctaje]])
 +    * fix bug în care era posibil ca modul de test detaliat să fie activat pe vmchecker
  
pp/21/teme/prolog-integrame.1620849273.txt.gz · Last modified: 2021/05/12 22:54 by andrei.olaru
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0