Beregninger og avrunding (Program Model)

  • Oppdatert

Program Model i Inspera Assessment lar forfattere definere komplekse beregninger og sikre presisjon i numeriske resultater for automatisk vurderte oppgaver. 

Denne artikkelen forklarer hvordan du skriver matematiske ligninger ved hjelp av infix-notasjon og vanlige operatorer, og detaljerer hvordan du bruker funksjoner for avrunding av verdier.

Beregninger i Program Model

Variabler i Program Model er ikke bare for å generere tilfeldige verdier; de kan også inneholde fullstendige matematiske ligninger. Ligninger skrevet i Maxima, og dermed i Program Model, bruker infix-notasjon, som er et standard matematisk format der operatorer plasseres mellom operandene.

Vanlige operatorer 

Du kan bruke følgende vanlige matematiske operatorer i ligningene dine:

+ Addisjon
- Subtraksjon
* Multiplikasjon
/ Divisjon
^ Eksponentiering
( ) Parenteser

Eksempler på ligninger

Her er eksempler på matematiske ligninger skrevet med infix-notasjon for Program Model:

  • \(3x^2 + 2x - 5\) = 3x^2 + 2x - 5
  • \((y + 3) / 2 - 4y\) = (y + 3) / 2 - 4y

  • \((z + 2) * (z - 3)\) = (z + 2) * (z - 3)

  • \(2t * (t + 1)\) = 2*t * (t + 1)
  • \((x^2 - 1) / (x + 2)\) = (x^2 - 1) / (x + 2)

Kombinere variabler i ligninger

Alle variabler som tidligere er definert i Program Model kan inkluderes i ligningen til en annen variabel, noe som muliggjør komplekse beregninger i flere trinn.

  •  

    • trainA: rand_with_step(30,100,1);
    • trainB: trainA + rand_with_step(5,35,1);
    • combined_speed: trainA + trainB;

    I eksempelet over settes trainA som en tilfeldig verdi mellom 30 og 100. Deretter settes trainB som en verdi mellom 5 og 35 høyere enn trainA. Til slutt er combined_speed summen av trainA og trainB.

Avrunding av verdier

Beregnede resultater eller verdier generert av funksjoner som rand(n.0) (som produserer et tilfeldig flyttall mellom 0.0 og n.0) kan produsere tall med mange desimaler. Du kan avrunde disse verdiene til et spesifikt antall desimaler ved å bruke funksjonen decimalplaces(a, b):

a = verdien eller variabelen du vil avrunde.

b = antall desimaler som a skal avrundes til.

  • Variabelen fruit_weight: rand(5.0); kan resultere i verdien 4.69831604812.

    For å gjøre det mer håndterbart kan du avrunde den til 2 desimaler på én eller to linjer. Begge alternativene nedenfor gir samme resultat, avhengig av om du ønsker en spesifikk avrundet variabel eller ikke.

    fruit_weight: rand(5.0);
    fruit_weight_rounded: decimalplaces(fruit_weight, 2);

    eller

    fruit_weight: decimalplaces(rand(5.0), 2);

Var denne artikkelen nyttig?

0 av 0 syntes dette var nyttig