Ukeoppgaver IN2030 uke 35 (29.8-2.9.2022) 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/h22/nedlasting/asp.jar 1-2. Pr?v ? kj?re den ved ? gi kommandoen $ java -jar asp.jar Da skal svaret bli This is the IN2030 Asp interpreter (2022-08-23) Usage: java -jar 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 asp.jar mini.asp og resultatet skal bli: This is the IN2030 Asp interpreter (2022-08-23) 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/h22/nedlasting/in2030-oblig-2022.zip 3-2. Pakk ut ZIP-filen: $ unzip in2030-oblig-2022.zip 3-3. I filen no/uio/ifi/asp/main/Main.java i linje 23-24 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. NB! Referanseinterpreten heter ogs? asp.jar. Pass p? at de to ligger i hver sin mappe, eller skift navn p? referanseinterpreten. Oppgave 4 Hva gj?r dette Asp-programmet? Pr?v f?rst ? finne det ut bare ved ? lese koden; pr?v s? ? kj?re det med referanseinterpreten. i = 0 p = 1 n = 10 while i <= n: print(2, "^", i, "=", p) i = i+1 p = 2*p Oppgave 5 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);