a)
for i = 1:99 fprintf ('Fiskebolla lengter etter havet\nFor havet det er fiskebollers hjem\nDette var det %d. verset\nNå er det bare %d igjen\n\n',i,100-i) end fprintf ('Fiskebolla lengter etter havet\nFor havet det er fiskebollers hjem\nDette var det siste verset\nNå starter vi på 100 igjen\n\n')
b)
function vector = countCoins(coinList) vector = zeros(1, 4); %oppretter returvektoren for i = 1:length(coinList) switch coinList(i) case 1 vector(1) = vector(1) + 1; case 5 vector(2) = vector(2) + 1; case 10 vector(3) = vector(3) + 1; case 20 vector(4) = vector(4) + 1; otherwise error('Kun gyldige mynter!'); end end end % Alternativ løsning function vector = countCoins2(coinList) coins = [1, 5, 10, 20]; vector = zeros(1,4); for i = 1:length(coins) vector(i) = sum(coinList == coins(i)); end if sum(coinList) ~= sum(vector.*coins) error('Kun gyldige mynter!'); end end
c)
function sumCoins(coinList) vector = zeros(1, 4); sum = 0; for i = 1:length(coinList) switch coinList(i) case 1 vector(1) = vector(1) + 1; case 5 vector(2) = vector(2) + 1; case 10 vector(3) = vector(3) + 1; case 20 vector(4) = vector(4) + 1; otherwise error('Kun gyldige mynter!'); end sum = sum + coinList(i); end fprintf('Etter %d mynter har vi talt opp %d kroner\n', i, sum); end
d)
function coins(price) coinList = [20, 10, 5, 1]; sum = 0; for i = 1:length(coinList) % Her kunne vi også skrevet 4. Kanskje vil vi utvide funksjonen i fremtiden slik at også lapper skal være med. while price >= coinList(i) sum = sum + 1; price = price - coinList(i); end fprintf('Antall %d-kroninger: %d\n', coinList(i), sum); sum = 0; end end % Alternativ løsning function coins(price) coinList = [20, 10, 5, 1]; sum = 0; for i = 1:length(coinList) % Her kunne vi også skrevet 4 sum = floor(price / coinList(i)); price = rem(price, coinList(i)); fprintf('Antall %d-kroninger: %d\n', coinList(i), sum); sum = 0; end end