Løsningsforslag til ukeoppgaver uken 29. august til 3. september 2007 Oppgave 1 --------- 1.a Korrekt 1.b Feil: Mangler `int´ foran parameteren `b´. Parenteser rundt `a+b´ ulovlig. Parameteren til `putint´ får ikke være noe så komplisert som et funksjonskall. 1.c Korrekt 1.d Feil: Det skulle vært {} rundt if-alternativene. 1.e Feil: Ingen unære operatorer (som i `-x´) lov. Oppgave 2 --------- func main () { int max, n, v; max = getint(); n = 1; while (n < 10) { v = getint(); if (v > max) { max = v; } n = n+1; } putint(max); putchar(10); } Oppgave 3 --------- Se neste oppgave. Oppgave 4 --------- start: SET R11,2 # 2 ADD R11,R11,R11 # * 2 CALL putint # putint( ); SET R11,10 # 10 CALL putchar # putchar( ); /* 10 = LF */ SET R11,1 # 1 CALL exit # exit( ); Oppgave 5 --------- 5.a SET R11,R4,1 5.b ADD R11,R6,R6 5.c SUB R11,R0,R22 5.d SET R10,R0,100 MUL R11,R10,R24 ADD R11,R11,R25 MUL R11,R10,R11 ADD R11,R11,R26