Tips og triks for obligen

Her kommer ekstra informasjon om oblig 1, med litt tips og triks om hvordan komme igang, samt hvordan teste programmene man leverer!

 

Denne videoen viser hvordan man kan komme i gang med oppgave 1 og oppgave 4 fra obligen i Java. I tillegg live-programmerer et program som tester oppgave 4, som innebærer å implementere et binært søketre i Java. Videoen er fra i fjor, men oppgavene som nevnes er uendret fra i tidligere.

 

Oppgave 1

Inputfiler for oppgave 1

For å kjøre en test i Java kan du gjøre følgende:

$ javac *.java
$ java Teque < inputs/eksempel_input
3
5
9
5
1

Tilsvarende i Python:

$ python3 teque.py < inputs/eksempel_input
3
5
9
5
1

Her antar vi at du har lastet ned inputfilene som ligger innenfor en mappe som også inneholder Teque.java eller teque.py.

For å teste på større eksempler kan du gjøre en av følgende:

$ java Teque < inputs/input_100 | cmp - outputs/output_100
$ python3 teque.py < inputs/input_100 | cmp - outputs/output_100

Dersom ingenting skjer passerer testen. Dersom testen ikke passerer vil du få en utskrift som kan se slik ut:

$ java Teque < inputs/input_100 | cmp - outputs/output_100
- outputs/output_100 differ: char 1, line 1

Vi forventer ikke at programmet ditt er raskt nok til å håndtere alle testene. Løsningsforslaget løser input_1000000 på ca. 1 sekund.

Oppgave 3

Inputfiler for oppgave 3

Denne oppgaven kan testes på samme måte som oppgave 1.

Oppgave 4

For å teste programmet ditt kan du bruke programmet BalanceChecker.java (som må kompileres med javac BalanceChecker.java):

$ seq 20 | java BalanceArray | java BalanceChecker

Eller for Python:

$ seq 20 | python3 balancearray.py | java BalanceChecker

Dersom programmet gjør som det skal bør du få følgende utskrift:

Dette treet ser balansert ut!

Dersom programmet ditt inneholder en feil bør du i stedet se:

$ seq 20 | java BalanceArray | java BalanceChecker
Dette treet ser ikke helt balansert ut... prøv igjen!

Programmet bør fungere helt likt for oppgave (a) og (b). Altså kan du også kjøre følgende:

$ seq 20 | java BalanceHeap | java BalanceChecker
Dette treet ser balansert ut!

Eller for Python:

$ seq 20 | python3 balanceheap.py | java BalanceChecker
Dette treet ser balansert ut!
Publisert 3. sep. 2021 15:55 - Sist endret 3. sep. 2021 15:55