a)
Code Block | ||
---|---|---|
| ||
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å staterstarter vi på 100 igjen\n\n') |
b)
Code Block | ||
---|---|---|
| ||
function vector = countCoins(coinList) vector = zeros(1, 4); %oppretter returvektoren for i = 1:length(coinList) switch if coinList(i) == case 1 vector(1) = vector(1) + 1; elseif coinList(i) == case 5 vector(2) = vector(2) + 1; elseif coinList(i) == case 10 vector(3) = vector(3) + 1; elseif coinList(i) == 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)
Code Block | ||
---|---|---|
| ||
function vector = countCoinssumCoins(coinList) vector = zeros(1, 4); % oppretter returvektoren sum = 0; for i = 1:length(coinList) ifswitch coinList(i) == case 1 vector(1) = vector(1) + 1; elseif coinList(i) == case 5 vector(2) = vector(2) + 1; elseif coinList(i) == case 10 vector(3) = vector(3) + 1; elseif coinList(i) == case 20 vector(4) = vector(4) + 1; elseotherwise error('Kun gyldige mynter!'); end sum = sum + coinList(i); end fprintf('Etter %d mynter % dersomhar vi hartalt taltopp 20 mynter, skriver vi ut summen if mod(i,20) == 0 disp(sum); end end end%d kroner\n', i, sum); end |
d)
Code Block | ||
---|---|---|
| ||
function numCoins = dailyCoins(dailyDinnercoins(price) %dailyDinnercoinList = [60,139,63,102,94,83,49,75,133,102]; coins = [20,10,5,20, 10, 5, 1]; %%%sum En liste over verdien til mynter vi kan betale med numCoins = zeros(length(dailyDinner),length(coins)); %%% Denne listen skal inneholde hvor mange av de forskjellige myntene vi %%% trenger hver dag. %%% numCoins(i,j) gir antall mynter for dag i av myntnummer j %%% numCoins(1,1) skal være 3, fordi 60 = 3*20 i = 1; %%% Dag j = 1; %%% Mynt while i <= length(dailyDinner) %%% så lenge det finnes flere dager if dailyDinner(i)-sum(coins.*numCoins(i,:))-coins(j) >= 0= 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 Sjekker= omprice man kan bruke en mynt til av samme type- coinList(i); %%% uten å overstige prisen på middagenend fprintf('Antall %d-kroninger: numCoins%d\n', coinList(i),j) = numCoins(i,j)+1; % legger til en mynt. sum); elseif dailyDinner(i)-sum(coins.*numCoins(i,:)) == 0; end end % Alternativ løsning function coins(price) coinList = [20, 10, 5, %%% Sjekker om vi har funnet rett antall mynter for denne middagen 1]; sum = 0; for i = i+1; %%% går til neste middag1:length(coinList) % Her kunne vi også skrevet 4 sum = floor(price j = 1/ coinList(i)); price = %%% Angir at vi skal coins(1) igjen.rem(price, coinList(i)); else fprintf('Antall %d-kroninger: %d\n', coinList(i), sum); jsum = j+1; %%% angir at vi må bruke neste mynt end end |
e)
Code Block |
---|
numCoins = dailyCoins(dailyDinner) weightCoins = sum(numCoins*[9.9;6.8;7.85;4.35])0; end end |