Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Testor, Verificatorul de teste  (Citit de 1556 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
neagu1000123
Strain


Karma: -1
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« : August 23, 2007, 10:15:41 »

M-am gandit sa-mi creez propiul verificator de teste, Testor. El trebuie sa aiba in directorul curent problema in .exe, si testele.
Sa zicem ca problema are ca nume "masini", .exeul este "masini.exe",intrarile si iesirile de la probl. "masini.in", "masini.out", iar teste de verificare "1.in", "1.out","2.in","2.out" ......."n.in","n.out" .El redenumeste "i.in" in "masini.in", ruleaza programul "masini.exe", redenumeste "masini.in" inapoi in "i.in" si verifica "masini.out" (scos de programul nostru) cu "i.out", linie cu linie, unde "i" apartine multimii elementelor de la 1 la "n", "n" intreg, <32767... Daca intalneste o linie in care cel mult un caracter e diferit,nu mai da punctajul
Problema este ca inca nu stiu cum sa-i verific timpul de executie......
Mi-am testat problema "prime" pe vreo 1000 de teste, dar a trebuit sa astept vreo o ora sa termine.... avea punctajul 100, dar depasea cu mult timpul de executie....  Are cineva o idee cum sa lucrez cu verificarea timpului de executie a programelor mele in pascal ?
Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #1 : August 23, 2007, 12:15:47 »

Daca vrei sa masori timpul de executie al unui program, ai doua solutii, fie faci metoda "clasica" cu gettime in pascal (functia din unitul DOS parca...), fie folosesti ptime ( google for it Wink )...

Daca vrei insa sa iti intrerupi executia dupa un anumit timp, mi se pare ca deschizi un thread separat cu programul, iar in threadul care testeaza masori timpul si cand ajungi la timp mai mare de limita atunci opresti child-process-ul si nu dai punctele... se poate sa zic prostii, asa ca mai bine iti arunci ochii peste jrun (se gaseste in sursele de la infoarena)...

PS : nu stiu daca se poate in windows sa deschizi thread separat cu pascal... in linux stiu ca merge Smile
PPS: nu trebuia sa fie topicul asta in informatica?...  Confused
Memorat
silviug
Echipa infoarena
Nu mai tace
*****

Karma: 193
Deconectat Deconectat

Mesaje: 485



Vezi Profilul
« Răspunde #2 : August 23, 2007, 19:52:11 »

Am mutat topicul. In Implica-te -> Development discutam (ma rog, e un mod de-a spune) despre codul la infoarena.
Memorat

"Don't gain the world and lose your soul, wisdom is better than silver or gold." [Bob Marley - Jamaican reggae musician & singer (1945 - 1981)]
wickedman
Echipa infoarena
Nu mai tace
*****

Karma: 227
Deconectat Deconectat

Mesaje: 670



Vezi Profilul WWW
« Răspunde #3 : August 24, 2007, 05:29:37 »

http://hackers.devnet.ro/browser/trunk/jrun
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines