...
- Switch
Pensum
- Kap PLACEHOLDER
a)
I) Hva gjør funksjonen?
...
II) Hva er
...
noe,
...
annet og
...
funky? Gi dem bedre navn.
Code Block | ||
---|---|---|
| ||
function resnoe = fnannet ( argfunky ) 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 resnoe = 'Ikke en gyldig maaned '; end end |
b) 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).
Code Block | ||
---|---|---|
| ||
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.
Code Block | ||
---|---|---|
| ||
% 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 |