Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2007-04-27 16:08:07.
Revizia anterioară   Revizia următoare  

Cum se adauga o problema noua

Creare problema

  1. Pentru a crea o problema noua accesati pagina admin/problema-noua.
  2. Dupa ce ati ales un id unic, format numai din litere mici pentru problema si tipul problemei (doar Clasic momentan) veti fi dusi la pagina de editare unde veti putea configura parametrii problemei.
  3. Alegeti titlul problemei (care poate fi diferit de id, de exemplu id-ul secv13 si titlul Secventa 13); acesta trebuie sa inceapa cu litera mare. De asemenea, cand editati enuntul este indicat ca si titlul care apare ca titlul ferestrei de browser sa fie cu litera mare la inceput.
  4. Setati limita de timp, limita de memorie si numarul de teste pe care le are problema.
  5. infoarena permite evaluarea problemelor folosind grupuri de teste. In casuta Grupare teste va trebui sa introduci o expresie care sa descrie aceste grupuri. Sintaxa pentru aceasta expresie este prezentata in continuare:
    expresie = grup sau expresie;grup
    grup = interval sau grup,interval
    interval = numar sau numar-numar
    numar = $1 sau 2 sau ...
    Mai exact o expresie va fi formata dintr-o serie de grupuri separate prin caracterul ;. Un grup va reprezenta o serie de intervale separate prin caracterul ,. Un interval va fi ori numarul unui test (intre 1 si numarul de teste specificate) ori un interval de numere (x-y va reprezenta testele x, x+1, x+2... y-1, y).
    Atentie! Trebuie ca fiecare test sa apara o singura data in cadrul expresiei. Spre exemplu expresia 1-10;5 nu este valida deoarece testul 5 este inclus de doua ori.
  6. Daca problema are raspuns unic, bifati ca problema foloseste .ok-uri si lasati gol la campul Evaluator. In cazul in care problema nu are raspuns unic va trebui sa creati un program de evaluare si sa specificati daca acest program de evaluare foloseste .ok-uri. Ca sa aflii cum se scrie un program de evaluare pentru o problema intra aici.
  7. Completati campul Sursa cu concursul la care a fost propusa aceasta problema (spre exemplu preONI 2007, Runda 1) si specificati ca este un Task ascuns. Problemele de la un concurs se vor face automat vizibile odata ce incepe concursul la care sunt atasate.
  8. Salvati datele introduse apasand butonul Salveaza.

Enunt si teste

  1. Editati enuntul care se va gasi la adresa problema/nume-problema, in cazul in care n-ati schimbat setarea implicita in formularul de editare al problemei pentru Pagina cu enuntul.
  2. Pentru editarea unei probleme consultati documentatia Textile si conventiile de formatare.
  3. Testele, evaluatorul si eventualele imagini care vor aparea in task se ataseaza la pagina de enunt a problemei.
    Atentie! Testele problemei trebuie sa se numeasca grader_testX.in si grader_testX.ok (unde X este numarul testului, incepand cu 1), iar evaluatorul va trebui de asemenea prefixat cu grader_ (vezi documentatia pentru evaluatore).
  4. Cel mai simplu mod de a atasa toate aceste fisiere este printr-o arhiva ZIP. La momentul atasarii puteti specifica daca doriti ca arhiva sa fie despachetata.
  5. Atentie! Nu atasati testele sub alt nume sau alte fisiere importante, deoarece vor putea fi accesate de utilizatori!
  6. La final puneti link la topic-ul (sau topic-urile) din forum legate de aceasta problema folosind macro-ul ==SmfTopic(topic_id="...")==

Verificarea problemei

  1. Atentie! Pentru a evita cat mai mult posibil situatiile in care testele sunt gresite, este necesar sa existe mai multe solutii pentru o problema scrise de persoane diferite, eventual cu abordari diferite.
  2. Este necesar sa se verifice daca testele respecta restrangerile din enunt. Acest lucru se va face in sursa oficiala (folosind functia assert() de exemplu).
  3. Ca administrator sau propunator al problemei, puteti oricand trimite solutii si sa se vedeti rezultatul. Utilizatorii normali nu vor avea acces sa trimita solutii la problema, decat in momentul in care aceasta este atasata unui concurs activ, la care utilizatorii sunt inregistrati. De asemenea, in monitor detaliile de evaluare nu vor putea fi vazute de catre ceilalti utilizatorilor normali.
  4. Puteti oricand modifica limitele de timp, memorie sau alte detalii ale problemei accesand pagina admin/problema/nume-problema