Kalkulatorklasse med fire regneoperasjoner
Lov på eksamen
- Datamaskin med programmeringsverktøy
- Lærebok, dokumentasjon og egne notater og programmer
Ikke åpent internett (bare noen utvalgte nettressurser), kommunikasjon med andre eller kunstig intelligens.
Kan den løses uten PC?
1 av 4 deloppgaver kan løses uten PC.
Fra 2027 er det bare kalkulator og skriftlige hjelpemidler på del 2. Vurderingen er gjort med KI og kan inneholde feil.
Vi ønsker å lage en liten kalkulator for de fire regneoperasjonene – minus, pluss, gange og dele. Nedenfor finner du pseudokode som beskriver en del av en løsning ved hjelp av fire funksjoner:
FUNCTION pluss(a, b)
RETURN a + b
ENDFUNCTION
FUNCTION minus(a, b)
RETURN a - b
ENDFUNCTION
FUNCTION gange(a, b)
RETURN a * b
ENDFUNCTION
FUNCTION dele(a, b)
RETURN a / b
ENDFUNCTION
Lag et klassediagram for en tilsvarende klasse kalt Kalkulator til bruk i en objektorientert løsning.
Implementer klassen i ditt programmeringsspråk.
Implementer et egnet testprogram for å teste løsningen, og identifiser mulige feil og unntak.
Implementer nødvendig håndtering av mulige feil og unntak.
Fasit
Klassen Kalkulator uten egenskaper, med konstruktøren og de fire offentlige metodene pluss(a, b), minus(a, b), gange(a, b) og dele(a, b).
LøsningsforslagKI-generert

Et klassediagram i UML har tre felt:
- Øverst står klassenavnet,
Kalkulator. - I midten står egenskapene (attributtene). Kalkulatoren trenger ingen egenskaper: hver metode får tallene den skal regne med som parametere og returnerer svaret. Feltet står derfor tomt.
- Nederst står metodene. De fire funksjonene fra pseudokoden blir metoder i klassen.
+betyr at metodene er offentlige, slik at resten av programmet kan bruke dem. Parameterne og returverdien er desimaltall (float). Datatypene er ikke påkrevd, men gjør diagrammet tydeligere.
Konstruktøren Kalkulator() lager et nytt kalkulatorobjekt. Den tar ingen parametere, siden objektet ikke har egenskaper som skal settes. Mange tar ikke med konstruktøren i diagrammet når den ikke gjør noe spesielt.
Sensorveiledning
Oppgaven gir til sammen 5,5 poeng
Det gis uttelling for korrekt diagram med klassenavn og de fire metodene. Det stilles ikke krav til datatyper.
Det gis uttelling for implementert klasse med konstruktør og for metoder.
Det gis uttelling for fungerende implementert testprogram, tilstrekkelig testdata, identifisering av deling med 0 og identifisering av feil datatype/casting.
Det gis uttelling for håndtering av inntil to typer feil og unntak.