Læringsmål:
- For-Løkker
Pensum:
- Kap 5
- 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.
Code Block | ||||
---|---|---|---|---|
| ||||
function L = unknownUnknown(L) tmp = L(end); for i = length(L):-1:2 L(i) = L(i-1); end L(1)=tmp; end |
...
Hva gjør følgende funksjon? Parameteren m
er en matrise med tall.
Code Block | ||||
---|---|---|---|---|
| ||||
function m = unknown2Unknown2( m) for i = 1:lengthsize(m, 1) tmp = m(i,end); for j = lengthsize(m(i,: 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.
Code Block | ||
---|---|---|
| ||
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.