Læringsmål:
- Switch
- For-løkker
Pensum
- 4.4 - The Switch statement
- 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) I koden under kan du se ordene something, other og funky. Hva representerer disse? Endre navnene til å være mer beskrivende for deres funksjon.
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).
b) Hva gjør følgende kode? Gi bedre navn til res og fn.
% vector er en vektor med tall eks : vector = [ 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 (A, B) if (A > B) val = A; elseif (B < A) val = B; end end
d) Funksjonen under skal returnere 1 om den finner et negativt tall og 0 ellers. Hva er galt med den?
function bool = hasNegatives(list) bool = false; for i = 1 : length(list) if (list(i) < 0) bool = true; % fant else bool = false; % fant ikke end end end