Diferente pentru limeeval intre reviziile #13 si #37

Nu exista diferente intre titluri.

Diferente intre continut:

h1=. *LimeEval*
table{border-style: hidden}.
|\350/2^~.  * Este un evaluator gratuit pentru mediul Windows, care automatizeaza procesului de compilare si punctare a problemelor de natura algoritmica.
* Creat in special pentru a aduce suport schimbarilor necesare Olimpiadei Judetene de Informatica, *trecerea la compilatoare pe 32 de biti*
* Destinat OJI-ului si a concursurilor de informatica (interjudetene, pe clasa etc..) pentru a facilita o compilare si evaluare a concurentilor automatizata intr-un mediu sigur.
* Destinat elevilor si profesorilor care sustin o activitate de pregatire la informatica cu probleme de concurs
<br>
Linkurile de download sunt in dreapta.
Pentru a rula evaluatorul aveti nevoie de un sistem de operare Windows XP, si framework-ul .NET 2.0 instalat.
<br>
(toc){width:100px}* *{'Screenshots':limeeval#screenshots}*
* *{'Structura de fisiere a evaluatorului':limeeval#structura}*
* *{'Instructiuni de folosire':limeeval#instructiuni}*
** {'Tutorial 1 : Instalare si configurare compilatoare':sdfsdf}
** {'Tutorial 2 : Creare si definire runda':sdfsdf}
** {'Tutorial 3 : Compilarea si evaluarea unei runde definite anterior':sdfsdf}
** {'Tutorial 4 : Consola grafica - warninguri si erori':sdfsdf}
** {'Tutorial 5 : Rulare evaluator in mod consola':sdfsdf}
* *{'Intrebari frecvente':limeeval#intrebari}*
* *{'Sursa verif':limeeval#verif}*
<br>
|-=. !limeeval?lime_logo.png!|
|^. (toc){width:340px}* *Versiune* :
** {'0.9.3.11':limeeval?lime.exe}
* *Framework .NET* :
** {'2.0':http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en}
* *Functii generale* :
** - mod consola / mod grafic
** - configurare completa din interfata
** - compilare automata surse concurenti (selectiva sau totala)
** - posibilitate de specificare a compilatoare multiple
** - directive custom de compilare
** - salvare output compilatoare pe fiecare sursa
** - xml generat cu rezultatele compilarii tuturor concurentilor
** - evaluare (selectiva sau totala) in mod sandbox
** - limitare de timp si limitare de memorie
** - evaluare test cu test, sau rapida
** - salvarea in fisier individual outputului produs de fiecare concurent pe fiecare test
** - salvare in fisier individual rezultate evaluare pe fiecare test (punctaj, timp, memorie, mesaj verif)
** - xml generat cu rezultatele totale ale evaluarii
** - curatare foldere concurenti \ filtrare surse \ redenumire surse
** - error reporting, exceptii, warninguri, erori, salvate in fisiere si afisate in consola grafica
* *To Do* :
** - clasament real time, si detasat din tab control
** - exportare borderouri in *.txt-uri individuale pentru fiecare concurent
** - exportare clasament in *.xls (Excel)
* *Buguri cunoscute* :
** - in timpul evaluarii in mod grafic (fara pauza), daca se tot face resize la tabel, aplicatia se blocheaza. (thread deadlock)
|
h5=. *Aceasta pagina are nevoie de o rescriere totala, pentru a fi actuala cu versiunea curenta a evaluatorului, corectat de buguri si cu new features. Pagina va fi rescrisa la lansarea versiunii 1.0*
<br><br>
Sunt ocupat cu bac-ul acuma, nu mai am timp sa curat sursa si sa o pun la liber, dar dupa BAC, am sa fac niste documentatie, si instructiuni de utilizare videouri etc.. si o sa lansez proiectul ca Open Source
h3(#screenshots). *Screenshots*
!limeeval?1.png!:http://i27.tinypic.com/2ljklxu.jpg
!limeeval?2.png!:http://i25.tinypic.com/14uvtwo.png
!limeeval?3.png!:http://i32.tinypic.com/mio3yq.png
!limeeval?4.png!:http://i31.tinypic.com/2vnnp00.png
!limeeval?5.jpg!:http://i29.tinypic.com/2mpyc95.jpg
!limeeval?6.jpg!:http://i28.tinypic.com/2u43qe0.jpg
Ultimul build e din /05/26, modificari la autodetectarea idurilor si functii de curatare. Enjoy.
<br><br><br>
 
h3(#structura). *Structura de fisiere a evaluatorului*
 
<br><br><br>
 
h3(#instructiuni). *Instructiuni de folosire*
 
<br><br><br>
 
h3(#intrebari). *Intrebari frecvente*
 
(toc){width:340px}* *1. Runde*
** {'1.1 Ce este o runda?':test}
** {'1.2 Prin ce se defineste o problema intr-o runda?':test}
** {'1.3. Prin ce se defineste un id valid?':test}
** {'1.4 Ce path-uri catre foldere specifice sunt intr-o runda?':test}
* *2. Compilatoare*
** {'2.1 Ce contine o configurare de compilatoare?':test}
* *3. Compilare*
** {'3.1 Cum se produce compilarea?':test}
* *4. Evaluare*
** {'4.1 Cum se produce evaluarea?':test}
** {'4.2 Ce trebuie sa indeplineasca \ implementeze un verificator?':test}
* *5. Runtime*
** {'5.1 Ce se intampla in cazul unei exceptii aparute la rularea solutiei concurentului?':test}
 
<br><br><br>
 
h3(#verif). *Sursa verif*
 
Verificatorul este necesar pentru a puncta fisierul OUT produs de concurent. Trebuie pus sub forma de executabil in fisierul cu testele problemei.
 
Mai jos este o sursa generala de verificator. Sursa are implementate functii de comparare bit la bit, si a numarului din fisier. Pentru probleme cu solutii multiple sau un alt mod de verificare vor trebui implementate si alte functii de verificare a rezultatului.
Shimbati #define-urile INFILE, OUTFILE, si OKFILE cu numele corespunzatoare.
 
== code(cpp) |
#include <stdio.h>
 
/* !!! schimba <problema> cu numele problemei */
#define INFILE "problema.in"
#define OUTFILE "problema.out"
#define OKFILE "problema.ok"
 
FILE *fIN, *fOUT, *fOK, *fV;
 
bool openFiles();        /* deschide fisierele si verifica existenta lor */
void closeHandles();     /* inchide fisierele */
bool compareBitByBit();  /* compara out si ok, bit la bit */
bool compareNumber();    /* compara numerele din out si ok */
 
int main()
{
    if(!openFiles()) return 0;
    if (compareBitByBit())
        fprintf(fV, "10\nCorect");
    else
        fprintf(fV, "0\nGresit");
    closeHandles();
 
    return 0;
}
 
bool openFiles()
{
    fIN = fopen(INFILE, "r");
    fOUT = fopen(OUTFILE, "r");
    fOK = fopen(OKFILE, "r");
    fV = fopen("punctaj.verif", "w");
    if (!fIN)
    {
        fprintf(fV, "0\nFisier IN lipsa.");
        closeHandles();
        return false;
    }
    if (!fOUT)
    {
        fprintf(fV, "0\nFisier OUT lipsa.");
        closeHandles();
        return false;
    }
    if (!fOK)
    {
        fprintf(fV, "0\nFisier OK lipsa.");
        closeHandles();
        return false;
    }
    return true;
}
 
void closeHandles()
{
    if (fIN) fclose(fIN);
    if (fOUT) fclose(fOUT);
    if (fOK) fclose(fOK);
    if (fV) fclose(fV);
}
 
bool compareBitByBit()
{
    char b1, b2;
    int ret1, ret2;
    while (1)
    {
        ret1 = fscanf(fOUT, "%c", &b1);
        ret2 = fscanf(fOK, "%c", &b2);
        if (ret1 > 0 && ret2 <= 0) return false;
        if (ret1 <= 0 && ret2 > 0)  return false;
        if (b1 != b2) return false;
        if (ret1 <= 0 && ret2 <= 0) return true;
    }
    return true;
}
 
bool compareNumber()
{
     int nr1, nr2;
     fscanf(fOUT, "%d", &nr1);
     fscanf(fOK, "%d", &nr2);
     if (nr1 != nr2) return false;
     return true;
}
==
 
h3. {'LimeEval - build 0.9.5.26 (build 0.9.5.26)':limeeval?lime_v0.9.5.26.zip}

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.