For Emacs: -*- coding: utf-8 -*- INF2100 ?velsesoppgaver uke 35 2017 Oppgave 1 om Asp Hva gj?r dette programmet? Pr?v f?rst ? finne det ut bare ved ? lese koden; pr?v s? ? kompilere det med ~inf2100/asp og kj?re det. i = 0 p = 1 n = 10 while i <= n: print(2, "^", i, "=", p) i = i+1 p = 2*p Oppgave 2 om Asp Og hva gj?r dette programmet? def w (v, n): vs = str(v) if len(vs) < n: return " " + w(v,n-1) else: return vs i = 0 p = 1 n = 10 while i <= n: print("2^"+w(i,2), "=", w(p,4)) i = i+1 p = 2*p Oppgave 3 om Asp Her er et Java-program som regner ut et Fibonacci-tall p? to ulike m?ter. Oversett programmet til Asp og f? det til ? kj?re. class Fibonacci { final static int n = 20; static int fib1(int x) { int f1 = 0, f2 = 1; for (int i = 0; i < x; i++) { int f3 = f1+f2; f1 = f2; f2 = f3; } return f1; } static int fib2(int x) { if (x <= 2) { return 1; } else { return fib2(x-2) + fib2(x-1); } } public static void main(String arg[]) { System.out.println("fib1(" + n + ") = " + fib1(n)); System.out.println("fib2(" + n + ") = " + fib2(n)); } } Oppgave 4 om syntaks Alle disse fem sm? programmene inneholder en syntaksfeil. Bruk jernbanediagrammene til ? finne ut hva som er galt. 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")