Oppgave 1 - Teori
- En funksjon er en blokk med kode som enkelt kan benyttes hvor som helst i et program. Man bruker funksjoner om man trenger lik funksjonalitet mange steder for å unngå å gjenta seg selv.
- function output = functionName(input1,input2,input3)
- Ja, om du skal hente et konstant tall, eller skrive ut en velkomstbeskjed til skjermen.
- Ja, om du skal skrive ut en velkomstbeskjed.
- Å kalle på funksjonen vil si at man benytter seg av funksjonen i koden sin. Se eksempel under
ans = functionName(input1,input2,input3);
Oppgave 2 - Funksjoner
velkommen sumtall(1,3) function velkommen disp('Velkommen til de røde elefanters evighet.') end function tall = sumtall(tall1,tall2) tall = tall1 + tall2; end
Oppgave 3 - Negativt tall
function svar = er_negativ(tall) if tall < 0 svar = 1; else svar = 0; end end
Oppgave 4 - Absoluttverdi
function tall = absolutt(tall) if tall < 0 tall = -tall; end end
Oppgave 5 - Minste tall
function tall = minste_element(tall1, tall2) if tall1 < tall2 tall = tall1; else tall = tall2; end end
Oppgave 6 - Minste tall i liste
function indeks = indeks_minste_element(liste) tall = liste(1); indeks = 1; for i = 2:length(liste) if tall > liste(i) tall = liste(i); indeks = i; end end end
Oppgave 7 - Negative tall i tabell
function svar= negativ_tabell(liste) indeks = indeks_minste_element(liste); if er_negativ(liste(indeks)) svar = 1; else svar = 0; end end
Oppgave 8 - Fakultet
function fak = fakultet(tall) fak = 1; for i = 1:tall fak = fak*i; end end
Oppgave 9 - Tilfeldig tall
function kontroll number = randomNumber(-12,213); disp(number) end function number = randomNumber(maxNum,minNum) if minNum > maxNum temp = minNum; minNum = maxNum; maxNum = temp; end temp = maxNum-minNum; number = mod(round(now)*cputime,temp); number = number + minNum; end
Oppgave 10 - Den lille multiplikasjonstabellen
mult = [1:10]'*[1:10]
Oppgave 11 - Funksjonskall inne i funksjoner
function kontroll radius = input('Skriv inn arealet til sirkelen din: '); areal = pi*kvaderat(radius); disp(areal); end function areal = sirkelareal(radius) areal = pi*kvaderat(radius); end function tall=kvaderat(tall) tall = tall*tall; end
Oppgave 12 - Lotto
function li = lotto li = sparse(1,7); for i = 1:7 li(i) = randi([1,34]); end end
Oppgave 13 - Sum av tall
function kontroll n = 0; x = 0; while x < 500 n = n + 1; x = sumAvTall(n); end fprintf('%d is the smallest number whose sum of preceeding numbers and itself is larger than 500', n); end function svar = sumAvTall(n) sum = 0; for i = 1:n sum = sum + i; end svar = sum; end
Oppgave 14 - Vårt første lille program (skript)
function kontroll %testtabell = [0,3,1,9,8,3,8]; testtabell = [1,2]; storste = storst_tall(testtabell); disp(storste) dobbel_storste = dobbelt_tall(storste); disp(dobbel_storste) areal = sirkelareal(dobbel_storste); disp(areal) end function tall=storst_tall(tabell) tall = tabell(end); for element = tabell if tall < element tall = element; end end end function tall = dobbelt_tall(tall) tall = 2*tall; end