Oppgave 1 - Teori

  1. 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.

    1. function output = functionName(input1,input2,input3)
    2. Ja, om du skal hente et konstant tall, eller skrive ut en velkomstbeskjed til skjermen.
    3. Ja, om du skal skrive ut en velkomstbeskjed.
  2. Å 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

 

 

  • No labels