Beräkningar och avrundning (Program Model)

  • Uppdaterad

Program Model i Inspera Assessment tillåter författare att definiera komplexa beräkningar och säkerställa precision i numeriska resultat för automatiskt rättade frågor. 

Denna artikel förklarar hur du skriver matematiska ekvationer med infix-notation och vanliga operatorer, samt detaljerar hur du använder funktioner för avrundning av värden.

Beräkningar i Program Model

Variabler i Program Model används inte bara för att generera slumpmässiga värden; de kan också innehålla fullständiga matematiska ekvationer. Ekvationer skrivna i Maxima, och därmed i Program Model, använder infix-notation, vilket är ett standardformat där operatorer placeras mellan operanderna.

Vanliga operatorer 

Du kan använda följande vanliga matematiska operatorer i dina ekvationer:

+ Addition
- Subtraktion
* Multiplikation
/ Division
^ Exponentiering
( ) Parenteser

Exempel på ekvationer

Här är exempel på matematiska ekvationer skrivna med infix-notation för 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)

Kombinera variabler i ekvationer

Varje variabel som tidigare definierats i Program Model kan inkluderas i ekvationen för en annan variabel, vilket möjliggör komplexa beräkningar i flera steg.

  •  

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

    I exemplet ovan sätts trainA till ett slumpmässigt värde mellan 30 och 100. Sedan sätts trainB till ett värde som är mellan 5 och 35 större än trainA. Slutligen är combined_speed summan av trainA och trainB.

Avrundning av värden

Beräknade resultat eller värden genererade av funktioner som rand(n.0) (vilket skapar ett slumpmässigt flyttal mellan 0.0 och n.0) kan producera tal med många decimaler. Du kan avrunda dessa värden till ett specifikt antal decimaler genom att använda funktionen decimalplaces(a, b):

a = värdet eller variabeln du vill avrunda.

b = antalet decimaler som a ska avrundas till.

  • Variabeln fruit_weight: rand(5.0); kan resultera i värdet 4.69831604812.

    För att göra det mer hanterbart kan du avrunda det till 2 decimaler på en eller två rader. Båda alternativen nedan ger samma resultat beroende på om du vill ha en specifik avrundad variabel eller inte.

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

    eller

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

Var denna artikel till hjälp?

0 av 0 tyckte detta var till hjälp