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
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
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!