| evaluator - komparatori |
1 1 3A trebalo je biti:
1 2 3defcomp će ispisati da je program ispisao "1", a trebalo je biti "2".
1 2A korisnik ispiše:
1 1Dobit će 50% bodova jer mu je samo pola rješenja točno.
12.00000A korisnik ispiše:
12Rješenje će mu biti prihvačeno. To je prednost numcompa nad defcompom jer je potrebno manje paziti da se točno isti brojevi nalaze u test primjerima i u rješenjima zadataka.
Neki Primjer LudiA test primjer je:
Neki Ludi Primjerlinecomp će javiti da je rješenje točno.
| Dio C koda: | Dio PAS koda: |
#include <stdio.h>
int main(int argn, char *argv[]) {
int tocnost;
char *ulaz, *izlaz;
FILE *datizlaz;
izlaz = argv[1];
ulaz = argv[2];
datizlaz = fopen(izlaz, "rt");
.................................
. sa scanf ili sl. se skupljaju .
. podaci za provjeru .
.................................
return tocnost;
} |
var ulaz,izlaz:string;
tocnost:integer;
datizlaz:text;
begin
izlaz = ParamStr(1);
ulaz = ParamStr(2);
assign(datizlaz, izlaz);
reset(datizlaz);
..................................
. sa readln ili sl. se skupljaju .
. podaci za provjeru .
..................................
halt(tocnost);
end. |
tocnost = CP_PERCENT_OK + postotakPrimjerice, ako je postotak -25, onda će rješenju biti pridodijeljeno -0.25*broj_bodova_po_test_primjeru. Tj. ako je broj bodova po test primjeru bio 4, za taj test primjer korisnik će dobiti -1 bod.
| Ime konstante: | Vrijednost: | Značenje: |
| CP_OK | 0 | Rješenje je točno |
| CP_BAD | 1 | Rješenje je krivo |
| CP_ARGERR | 2 | Nedovoljan broj argumenata ili neka druga greška vezana uz argumente |
| CP_NOFILE | 3 | Ne postoji neka datoteka sa test primjerom |
| CP_PERCENT_NEG | 10 | Rješenje dobiva -100% bodova. |
| CP_PERCENT_OK | 110 | Rješenje dobiva 0% bodova. (Svaka vrijednost između CP_PERCENT_NEG i CP_PERCENT_MAX određuje postotak bodova koji treba pridodijeliti.) |
| CP_PERCENT_MAX | 210 | Rješenje dobiva 100% bodova. |
| CP_FATALERROR | 254 | Došlo je do neke kritične greške u komparatoru, rješenje se ne da provjeriti |
