Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

a)

Code Block
languagenone
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
languagenone
function vector = countCoins(coinList)
vector = zeros(1, 4); %oppretter returvektoren
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;
	else        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
languagenone
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;
    else    otherwise
        error('Kun gyldige mynter!');
    end
    sum = sum + coinList(i);
end
fprintf('Etter %d mynter har % dersom 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
languagenone
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