algemeen
uitleg
systeem
regels
meedoen
opgaven
de_dag
links

Sponsors

  ABN AMRO

  Philips

  Logica

  CMG
NKP 2001

Systeem en programmeertalen

Als deelnemer mag je kiezen uit de operating systems Windows en Linux. Op beide systemen zijn allerlei programmeertalen en editors geinstalleerd. Je moet je keuze voor het begin van de wedstrijd bepalen; tijdens de wedstrijd wisselen is niet mogelijk. Alle ingezonden programma's worden onder Linux getest en beoordeeld.

Voor het programmeren kun je gebruik maken van de programmeertalen C, C++, Pascal en Java. Bij deze talen is ook de bijbehorende documentatie geinstalleerd. Tijdens de wedstrijd kun je bepalen welke taal je gebruikt. Als je wilt mag je verschillende talen voor verschillende opgaven gebruiken. Het is een leuke uitdaging om in elke taal minstens 1 opgave goed op te lossen.

Voor het insturen van oplossingen en het opvragen van berichten van de jury, gebruiken we het Sub-Zero Programming System 2.0d (SZP).

Hardware

Per team is er één PC met een 17" monitor, een toetsenbord en een muis. Exacte specificaties liggen niet vast, maar je moet denken aan een Pentium II à III op een paar honderd MHz, met een stuk of 64 MB aan geheugen. Voor het nakijken van de inzendingen gebruikt de jury soortgelijke PC's.

Software

Voor Linux

OS
  • Debian GNU/Linux 2.2 (potato)
  • X11 grafische omgeving
  • Window managers: twm, fvwm2, Window Maker
Prog.talen
  • GNU GCC 2.95.2 C / C++
  • Freepascal 1.0.4
  • Java JDK 1.1.8 met de TYA 1.6 JIT compiler
Editors
  • Vim, Elvis
  • Emacs 20.7
  • Joe
  • Pico
  • Nedit


Voor Windows

OS
  • Windows NT 4.0 / SP6
Prog.talen
Editors

Ook inzendingen van Windows-teams worden onder Linux beoordeeld. Je programma's kunnen dus geen Windows-specifieke functies gebruiken.

Beperkingen

Er zijn een aantal regels waar je je aan moet houden bij het schrijven van de programma's. Dit is om te voorkomen dat sommige programmeertalen onredelijke voordelen of nadelen krijgen, en om te voorkomen dat er geknoeid wordt met het systeem.

  • Voor C: Uitsluitend ANSI C en uitsluitend ANSI C library functies.
  • Voor C++: Uitsluitend ANSI C++, geen Standard Template Library.
  • Voor Pascal: Geen units (alleen de System unit dus), en geen compiler directives.
  • Voor Java: Uitsluitend de packages java.lang, java.io, en java.util.
  • Geen systeem specifieke trucks, zoals fork(), execve(), CreateThread().
  • Geen (inline) assembler code.
  • Behalve de in- en uitvoerbestanden, geen files openen.
  • Niet met het netwerk rommelen.






Leer afzien in Delft