Levering av obliger
Obligene vil bli kjørt automatisk mot en rekke testsett; derfor er det nødvendig med en fast struktur på innleveringene. Altså:
- Det er IKKE LOV å lage interaktive programmer (dvs. som krever at bruker gjør annet enn å starte det -- tekstmenyer, grafiske brukergrensesnitt etc. er fy)
- En SKAL følge input og output-spesifikasjonene som står i obligene (samme format etc.)
- En skal ikke skrive ut mer enn dette (dvs., sørg for å kommentere ut all debugging-utskrift etc. før du leverer)
Obligene skal leveres som en pakket fil (enten tar.gz eller zip, andre pakkeformater er ikke tillatt) og skal inneholde en mappe med navn av typen "brukernavn-oblig2". I mappen skal det ligge:
- Kildekode (se under for språkspesifikke krav). Husk å følge det som står i obligen med tanke på å lese og skrive input og output, samt at en må være nøye med at blanke tegn etc. stemmer helt overens.
- En besvarelse for alt som ikke skal programmeres ("oblig.txt", "oblig.pdf" eller "oblig.doc")
Obligen sendes til inf4130-1@ifi.uio.no. Ha med brukernavnet ditt i tittelfeltet i eposten.
Java
En kan ha så mange java-filer en vil og kalle de det en vil; det som teller er navnene på klassene med main()-metoder i, som skal hete "Oppgave1b", "Oppgave2" osv. alt ettersom hvilken oppgave/deloppgave som spør etter programmet.
Python
Kall filene som skal kalles "oppgave1b.py", "oppgave2.py" osv. (men disse må gjerne importere andre filer for å dele på kode).
C/C++
Du må lever enten en "Makefile" eller et shell-skript "build.sh" sammen med filene som tar seg av kompilering med rette opsjoner. De resulterende programfilene må hete "oppgave1b", "oppgave2" osv.
Hjelp for Visual Studio-brukere: Vi tester filene deres på Linux med GCC. Det er fint om dere tester dette før dere leverer. En kan logge seg inn på Linux-maskiner på IFI med SSH og gjøre alt som er nødvendig for å teste ut slik (spør evt. gruppelærer om dette).
Et typisk build.sh-skript kan se sånn ut for en oblig som gjør bruk av C++ (for C byttes g++ ut med gcc):
g++ -o oppgave1b oppgave1b.cpp g++ -o oppgave1c oppgave1c.cpp
Avanserte innstillinger
Dersom du ikke liker å ta innfil/utfil men heller vil lese/skrive til standard input/output, så kan du bare legge ved en fil kalt "config" der du skriver nøyaktig "standard_io = True" på en linje.