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
trainAtill ett slumpmässigt värde mellan 30 och 100. Sedan sättstrainBtill ett värde som är mellan 5 och 35 större äntrainA. Slutligen ärcombined_speedsumman avtrainAochtrainB.
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);