Skip to end of metadata
Go to start of metadata

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 SomethingHer holder det å skrive vanlige setninger, som forklarer hva koden gjør i hvert enkelt steg.