Ukeoppgaver IN2030 uke 34 (22.8-25.8.2023) * Oppdatert 22.8.23 * Oppgave 1 Alle vil trenge ? kj?re referanseinterpreten i l?pet av kurset. Gj?r derfor f?lgende: 1-1. Last ned referanseinterpreten asp.jar fra /studier/emner/matnat/ifi/IN2030/h23/nedlasting/ref-asp.jar 1-2. Pr?v ? kj?re den ved ? gi kommandoen $ java -jar ref-asp.jar Da skal svaret bli This is the IN2030 Asp interpreter (2023-08-21) Usage: java -jar ref-asp.jar [-log{E|P|S|Y}] [-test{expr|parser|scanner}] file 1-3. Skriv inne dette lille Asp-programmet p? en fil som heter mini.asp: # En hyggelig hilsen navn='Dag' print ('Hei,',navn) (men bytt gjerne ut Dag med ditt eget navn). Kj?r s? programmet med $ java -jar ref-asp.jar mini.asp og resultatet skal bli: This is the IN2030 Asp interpreter (2023-08-21) Hei, Dag Oppgave 2 (til de som bruker egen maskin) Les skrivet p? semestersiden om hvordan man skal installere programmet Ant p? datamaskinen sin. Gj?r det. Oppgave 3 N? skal dere v?re i stand til kompilere deres egen versjon av Asp-interpreten. 3-1. Opprett en arbeidsmappe og last ned basiskoden der; den ligger i /studier/emner/matnat/ifi/IN2030/h23/nedlasting/in2030-oblig-2023.zip 3-2. Pakk ut ZIP-filen: $ unzip in2030-oblig-2023.zip 3-3. I filen no/uio/ifi/asp/main/Main.java i linje 23 finner du System.out.println("This is the IN2030 Asp interpreter (" + version + ")"); Legg til en linje som skriver ut ?utviklet av NN og MM? eller noe tilsvarende etter eget ?nske. 3-4. Kompiler interpreten deres ved ? utf?re kommandoen $ ant i mappen der prosjektet ligger (og der det ligger en fil build.xml). 3-5. Etterp? kan dere kj?re den nye verjonen med $ java -jar asp.jar og dere skal f? med den nye utskriften dere la til. Oppgave 4 om syntaks Alle disse sju sm? programmene unntatt ett inneholder en syntaksfeil. Bruk jernbanediagrammene til ? finne ut hvilket som er riktig og hva som er galt med de andre. a) a = 4 b = 2 ** a print("Svaret er", b) b) a = "x" a_ = a + "-" _a = "-" + a print("\"a\"=", a) print("\"a_\"=", a_) print("\"_a\"=", _a) c) x = 9 y = -1 if x = y+1: x = x+1 d) v = input("Skriv et tall: ") if v < 0: print(v, "er negativt.") else: if v == 0: print(v, "er null.") else: print(v, "er positivt.") e) tab = [ 001, 010, 100 ] if tab[0] <= tab[1] <= tab[2]: print("Sortert") else: print("Ikke sortert") f) n = 0 def f (v): global n n = n + v f(1); f(2); f(3) print("Svaret", 'er', n) g) for i in range(0,10): j = i+1; print (j*j);