Læringsmål:

  • if-elseif-else

Pensum

  • Kap 3.7.1
  • Kap 1.3
  • Kap 1.6

a) Hva gjør funksjonen mystery(a, b, c) nedefor? Her skal du finne frem til svaret ved å analysere koden. Her er det derfor viktig at du ikke kjører koden før du har gjort deg opp en mening om hva funksjonen gjør. Forklar denne og resten av oppgavene nedenfor til læringsassistent på sal, du trenger ikke levere inn noen kode på denne øvingen.

function y = mystery(a, b, c) 
	if a < b && a < c 
		y = a; 
	elseif b < a && b < c 
		y = b; 
	elseif c < a && c < b 
		y = c; 
	else 
		y = NaN; 
	end
end

 

b) I denne oppgaven skal du lese kode og finne ut hva skriptene vil skrive ut på skjermen. Her er det også viktig at du ikke tester ut koden før du har gjort deg opp en mening om hva utskriften er. Denne typen kodeforståelse er viktig for å lære seg å programmere, og eksamen vil også inneholde slike oppgaver. Hvis du ikke forstår hvordan koden fungerer etter å ha kjørt den, kan du spørre en læringsassistent om hjelp til å bruke debuggeren i Matlab for å se hva koden gjør.

I)

a = 20;
b = 14;
c = 11;
if (b < a)
	a = 10 - b;
	c = 7;
else
	b = b - a;
	c = 1;
end
disp(a);
disp(b);
disp(c);

II)

a = 9; 
b = 6; 
c = 12; 
if (b + c > a && c <= 12)
	a = b;
	b = a;
	if (a > b)
		c = 0;
	elseif (a < b)
		c = c + 1;
	else
		c = c + 2;
	end
else
	c = b;
end
disp(a);
disp(b);
disp(c);