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.