Læringsmål:
- For-Løkker
Pensum:
- 3.7 User-Defined Functions That Return a Single Value
- 5.1 The for loop
- 5.2 Nested for loops
- 5.4 Loops with Vectors and Matrices: Vectorizing
Denne oppgaven, som i tidligere øvinger, handler om å kunne analysere og lese kode. Det er derfor viktig, for din egen læring, at du ikke kjører koden før du har forsøkt å forstå hva den gjør. Koden skal forklares for studass på sal.
a)
Hva gjør følgende funksjon? Parameteren L er en liste med tall.
Kodesnutt 1
function L = Unknown(L)
tmp = L(end);
for i = length(L):-1:2
L(i) = L(i-1);
end
L(1)=tmp;
end
b)
Hva gjør følgende funksjon? Parameteren m er en matrise med tall.
Kodesnutt 2
function m = Unknown2(m)
for i = 1:size(m, 1)
tmp = m(i,end);
for j = size(m, 2):-1:2
m(i,j) = m(i,j-1);
end
m(i,1) = tmp;
end
end
c)
Hva gjør funksjonen Something? Parameteret list er en liste med tall. Forklar hva som er funksjonen til variabelen Mystery i koden.
Kodesnutt
function list = Something(list)
Mystery = false;
while ~Mystery
Mystery = true;
for i = 2:length(list)
if list(i) < list(i-1)
temp = list(i);
list(i) = list(i-1);
list(i-1) = temp;
Mystery = false;
end
end
end
end
d)
Skriv pseudokode for funksjonen Something. Her holder det å skrive vanlige setninger, som forklarer hva koden gjør i hvert enkelt steg.