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
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.
Unknown User (cmhansen)
Hei Lars! Tusen takk for ditt innspill, dette er nå rettet opp