Læringsmål:

  • Utskrift
  • FOR-løkker

Pensum

  • 3.3.2 - Output Statements: Disp and fprintf
  • 5.4 - Loops with Vectors and Matrices: Vectorizing


a)

Nedenfor er et skript som regner ut MVA for matvarer og summerer prisene på ett sett med varer samt skriver ut kvitteringen etter kjøp. Ved hjelp av innebygde funksjoner og matriseoperasjoner skal skriptet fullføres. Det trengs ikke å definere egne funksjoner for å løse oppgaven. 

vareMVA skal være en liste på formen: vareMVA(1) = prisliste(1)*mva

prisTotal skal være en liste som følger: prisTotal(1) = prisliste(1) + vareMVA(1)

Fullfør koden under.

% Definerer programinput
vareliste = { 'Kjøttdeig', 'Revet ost', 'Tacokrydder', 'Ananas, boks','Mais, boks'};
antall = [2, 1, 2, 1, 2]; % Antall av hver vare. 
prisliste = [ 20, 32, 16, 23, 6 ];

% Definerer konstant verdi
mva = 0.15;
% Regn ut MVA for hver vare
vareMVA = % MANGLER KODE
 
% Regn ut total pris for hver vare ( pris + mva )
prisTotal = % MANGLER KODE
 
% Regn ut total summen for MVA
totalMVA = % MANGLER KODE
 
% Regn ut totalt beloep aa betale
total = % MANGLER KODE
 
% Skriv ut kvitteringen
fprintf (' -------------------------------------\n');
fprintf ('Hva\t\tPris\tMVA\tTotal\n');
for i = 1 : length ( vareliste )
	fprintf ('%ix %s\t%.2f\t%.2f\t%.2f\n', antall(i), vareliste {i} , ...
        prisliste (i), vareMVA (i),prisTotal (i));
end
fprintf (' -------------------------------------\n\n');
fprintf ('Total MVA \t\t\t%.2f\n', totalMVA );
fprintf ('Total \t\t\t\t%3.2f\n\n', total );
fprintf ('\tTakk for en koselig \n\t kalkulasjon !\n');
fprintf (' -------------------------------------\n');

Resulat ved kjøring av kodesnutten:

 -------------------------------------
Hva				Pris	MVA		Total
2x Kjøttdeig	20.00	3.00	46.00
1x Revet ost	32.00	4.80	36.80
2x Tacokrydder	16.00	2.40	36.80
1x Ananas, boks	23.00	3.45	26.45
2x Mais, boks	6.00	0.90	13.80
 -------------------------------------
Total MVA 						20.85
Total 							159.85
		Takk for en koselig 
	 		kalkulasjon !
 -------------------------------------

2 Comments

  1. Unknown User (larshb)

    Ordet boks har ikke blitt lagt til i den utdelte kodesnutten. Om utskriften ser litt rar ut (ved at for eksempel prisen til ananas havner litt lenger til venstre), kan man fikse (noe av) dette ved å bytte ut %s ned %-12s på linje 24.

    1. Unknown User (cmhansen)

      Hei Lars! Tusen takk for ditt innspill, dette er nå rettet opp (smile)