Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Læringsmål:

  • Switch
  • For-løkker

Pensum

  • Kap 4.4 - The Switch statement
  • Kap 5.1 - The FOR loop


a) 

I) Hva gjør funksjonen nedenfor? (Hva skrives ut? Hvordan fungerer funksjonen? Hva er case, switch og otherwise?)
II) Hva er I koden under kan du se ordene something, other og funky? Gi dem bedre navn. Hva representerer disse? Endre navnene til å være mer beskrivende for deres funksjon

Code Block
languagenone
function other = something( funky )
    switch ( funky )
        case 1
            other = 'Januar ';
        case 2
            other = 'Februar ';
        case 3
            other = 'Mars ';
        case 4
            other = 'April ';
        case 5
            other = 'Mai ';
        case 6
            other = 'Juni ';
        case 7
            other = 'Juli ';
        case 8
            other = 'August ';
        case 9
            other = 'September ';
        case 10
            other = 'Oktober ';
        case 11
            other = 'November ';
        case 12
            other = 'Desember ';
    otherwise
            other = 'Ikke en gyldig maaned ';
    end
end

 

Du får i oppgave å telle antall personer i et rom. Hvordan gjøres dette? En løsning er å be dem stille seg på rekke og for hver person du ser så legger du til én i tellingen helt til alle er telt. 
I programmering gjøres dette med vektorer og for-løkker. Det antas at alle personene er lagret i en vektor (liste) og man bruker for-løkken for å iterere gjennom alle personene (i listen).

 

Expand
titleKlikk her for å lære mer om lister og løkker
Code Block
languagenone
function res = function ( vector )
	% initialiser noe .
	for i = 1 : length ( vector )
		% gjør noe for hvert element i vektoren
	end
end

Når man løser telleproblemer er det lurt å bruke pekefingeren for å ha kontroll på hvor langt man har kommet. I eksempelet over representerer i-variabelen pekefingeren og man kan si at den peker på det elementet i vektoren man har kommet til. På samme måte som man bruker v(1) for å få tilgang til det første elementet i en vektor med navnet v, kan man bruke i-variabelen for å få tilgang til elementene i vektoren slik: v(i). Siden for-løkken hjelper med å sette verdien til i lik 1,2,3 osv til enden av vektoren, kan man gjøre en handling for hvert element i listen. Feks øke tellevariabelen med 1 for hvert person man ser. 

Code Block
languagenone
% her er vector en liste med personer .
function counter = count ( vector )
	% før vi har starter å telle så har vi telt 0 personer .
	counter = 0;
	for i = 1 : length ( vector )
		% for hver person vi teller øker vi telleren med 1.
		counter = counter + 1;
	end
% nå er counter lik antall personer i rommet .
end


b) Hva gjør følgende kode? Gi bedre navn til res og fn.

...

Code Block
languagenone
function val = maximum (A, B)
	if (A > B)
		val = A;
	elseif (B >< A)
		val = B;
	end
end


d) En funksjon dukker opp. Den Funksjonen under skal returnere 1 om den finner et negativt tall og 0 ellers. Hva er galt med den?

...