Pristigli rezultati 4. kola Ljetne lige

Pristigli rezultati 4. kola Ljetne lige

11.07.2009.

Upravo smo završili s unosom rezultata. Evaluacija je ovaj put odrađena preko ZATEMASovog automatskog Evaluatora, te smo stoga uočili nekoliko stvari koje bi natjecatelji mogli zaželjeti popraviti u načinu rada (barem prije srednje škole gdje se uvijek koriste ovakvi automatski evaluatori):

1. Nikako, ali baš NIKAKO ne poslati rješenje koje se ne može kompajlirati! Ako nedostaje vitica, ili ako ste #includeali krivi header, to je nevaljano rješenje i nitko ga neće popraviti. (Današnji provoditelj evaluacije nije niti pokušao, jer stvarno nije u redu ne stisnuti F9 i pokrenuti program prije slanja.)
2. Pravilan oblik main() funkcije je:
int main()
Dakle obavezno mora vraćati nulu! To je obavijest OS-u (ili evaluatoru) da je program uspješno završio. Inače evaluatori pretpostavljaju da se program skršio. Neki su zaboravili napisati return, a jedan natjecatelj je čak napisao return 1; - odnosno eksplicitno je tvrdio da je program završio s greškom... To je za ovaj put ispravljeno, s obzirom da se u OŠ inače točnost ne provjerava automatski.
3. Izuzetno bitno: vaš kompajler nije naš kompajler! To jest, vjerojatno koristite MinGW GCC za Windowse, i to vjerojatno GCC3.3. GCC stariji od verzije 4.3 mogao je "žvakati" kod koji je npr. radio #include <stdlib.h>, i zatim koristio funkciju strlen() koja se nalazi u <string.h>. To više nije slučaj! ZATEMASov GCC je nov, i neće to prihvatiti. Uvijek #includeati ono što piše u priručničkoj (man) stranici od pojedine funkcije! Ovo smo ispravljali (memset(), strlen(), ...)
4. Nikako, ali baš nikako, ne ostavljati pozive na system(), čak ni kada se radi [polu-]ručna evaluacija! Time otežavate ispravljaču, a i pokušavate petljati s pozivima programa (proučite što ustvari radi system()). Preporučamo da isprobate Code::Blocks kao razvojno okruženje, koji za konzolne programe sam doda poziv na pauzu; ostavite si Dev-Cpp (radi MinGW), ali doinstalirajte si Code::Blocks. Ovaj put je dežurni ispravljač micao pozive na system().

I konačno, zamolbica: Mailove naslovite imenom i prezimenom, te nazivom natjecanja i brojem kola. Primjer: "Petar Perica - Ljetna liga C++ 2009, 4. kolo". Izvorne kodove zapakirajte u ZIP datoteke istog naziva, ali bez razmaka i posebnih znakova, tj "PetarPerica_LjetnaLigaCPP2009_4kolo.zip"

Sad kad ste naučili nešto novo, dozvoljavamo pogled na rezultate :-)

  

IZDVOJILI SMO

Za odgovore o tome kako se dakle stvaraju centri izvrsnosti poput ovog, morali smo zagrepsti dublje i postaviti nekoliko ključnih pitanja tajniku koji o tome zna najbolje. Kaže za sebe da više voli raditi nego govoriti i da ga se ne može vidjeti na dodjelama medalja...
  

ZANIMLJIVOSTI

Ivan Krstić je prvi čovjek računalne sigurnosti u Apple-u, početkom stoljeća bio je član Saveza, a da je osobit i neponovljiv znali smo odmah...
Zagrebački računalni savez - Sva prava pridržana | Objave portala nije dozvoljeno prenositi bez prethodnog odobrenja Saveza.