You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Læringsmål:

  • Switch

Pensum

  • Kap PLACEHOLDER


a) 

I) Hva gjør funksjonen?
II) Hva er noe, annet og funky? Gi dem bedre navn. 

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

Man 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 antaes at alle personene er lagret i en vektor (liste) og man bruker for-løkken for å gå gjennom alle personene (i listen).

 

function res = dinFunksjon ( 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. 

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

% vector er en vektor med tall eks : v = [ 1 2 3 ];
	function res = fn ( vector )
	res = 1;
	
	for i = 1 : length ( vector )
		res = res*vector(i);
	end
end

c) Funksjonen under skal returnere verdien til det største tallet. Hva er galt?

function val = maximum ( r, s )
	if ( r < s )
		val = r;
	elseif ( s > r )
		val = s;
	end
end
  • No labels