Øving:
Oppgave 1 - Flervalgsoppgaver:
1) Hva er det binære tallet 100111010?
Svar: 314
2) Hva er det hexadesimalet tallet 64 i desimaltall?
Svar: 100
3) Et bilde er lagret med 8-bit pr. pixel. Hvor mange forskjellige farger (eller gråtoner) kan man da velge mellom i hver pixel?
Svar: 256
4) Hvilken komponent i en stasjonær datamaskin mister data dersom strømmen forsvinner?
Svar: Ram
5) Hva gjør ALU i hente- og utføre-kretsløpet?
Svar: Utfører instruksjonen (EX)
6) Hva sier Nyquist-regelen for sampling?
Svar: Nyquist-regelen sier at samplingsfrekvensen må være minst dobbelt så rask som den raskeste frekvensen.
Oppgave 2 - Kodeforståelse:
a) "Skulle hatt høstferie nå"
b) "Trenger ikke ferie"
c) "cupcake"
d)
>> kodesnutt3 5678910 56789 5678 567 56
e)
99
Oppgave 3 - input, output, variabler og verdier:
a)
function printName() name = input('Hva heter du? ', 's'); fprintf('Hei %s. Koselig å hilse på deg!', name); end
b)
1) C) 4
2) C) 6
3) A) true
4) D) Ikke gyldig
Oppgave 4
a)
a = 2; b = 5; if a<b fprintf("%d er mindre enn %d", a, b) elseif a>b fprintf("%d er større enn %d", a, b) else fprintf("%d er lik %d", a, b) end
b)
fornavn = input('Hva er fornavnet ditt? ', 's'); if fornavn == "fredrik" || fornavn == "Fredrik" fprintf('Hei, Fredrik') else fprintf('Halla') end
c)
alder = input('Hvor gammel er du? '); if alder < 0 fprintf('Hva? Er du ikke født enda?') elseif alder < 81 fprintf('Kult at du er %d år', alder) else fprintf('Jeg tror bestemoren min er like gammel som deg') end
d)
penger = input('Hvor mye penger har du? '); sjokolade = 30; smaagodt = input('Hvor mye koster smågodtet ditt? '); if penger<(sjokolade + smaagodt) %evt. if penger-30-smågodt<0 fprintf('Du har ikke råd til godteriet :(') else fprintf('Woho! Dette blir en super kveld!') end
Oppgave 5
a)
for x = 1:100 if mod(x,4)==0 fprintf('%i ',x) end end
b)
x = input('Skriv inn en nedre grense for intervallet, x: '); y = input('Skriv inn en øvre grense for intervallet, y: '); antall = 0; for i = x:y if mod(i,3)==0 antall = antall + 1; end end fprintf('%i tall i intervallet er delelige på 3.', antall)
c)
sum = 0; while sum <= 100 tall = input('Skriv inn et tall: '); sum = sum + tall; end fprintf('Summen av alle tallene har oversteget 100')
d)
sum = 0; while sum <= 100 tall = input('Skriv inn et tall: '); sum = sum + tall; if mod(tall,9)==0 break end end fprintf('Summen av alle tallene ble: %i', sum)
Oppgave 6
a)
function prod = fac(n) prod = 1; for x = 2:n prod = prod*x; end end
b)
function svar = nChoosek(n, k) svar = fac(n)/(fac(k)*(fac(n-k))); end
c)
function pascal(n) for x = 0:n-1 for y = 0:x fprintf("%2.0f ", nChoosek(x,y)) end fprintf('\n') end end