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