Program Model i Inspera Assessment är en kraftfull funktion för uppgiftstyperna Numerisk simulering och Symbolisk matematik. Den möjliggör simuleringar genom att använda ett uttrycksfullt programmeringsspråk (Maxima, som är baserat på Lisp) för att ställa in variabler och definiera beräkningar.
Denna artikel förklarar grunderna i att deklarera variabler i Program Model och detaljerar hur du kan slumpa (randomisera) variabelvärden med hjälp av olika funktioner.
Förstå variabler i Program Model
Program Model är motorn bakom uppgiftstyperna Numerisk simulering och Symbolisk matematik. Det är här du definierar alla dynamiska element i din uppgift, såsom variabler som ska innehålla specifika värden eller slumpas fram.
Det grundläggande formatet för att deklarera variabler i Program Model är: variabel_namn: uttryck;
Kom ihåg att varje kodrad måste avslutas med ett semikolon för att tolkas korrekt av Maxima.
-
Låt oss utgå från följande uppgift: James har 2 äpplen. Amy har dubbelt så många som James. Hur många äpplen har Amy?
Det finns två variabler som behöver ställas in.
- Antalet äpplen James har (2).
- Antalet äpplen Amy har (James värde multiplicerat med 2).
I Program Model kan detta skrivas som:
james_applen: 2;amy_applen: james_applen * 2;I detta exempel kommer variabeln
james_applenalltid att vara 2, och variabelnamy_applenkommer alltid vara 4.
Slumpa variabler med funktioner
Styrkan i Program Model ligger i dess förmåga att generera slumpmässiga variabelvärden för varje student/elev, snarare än att använda fasta värden. Maxima erbjuder flera funktioner för att uppnå slumpmässiga värden:
-
random(n): Ersätt "n" med ett positivt heltal. Det genererade värdet blir ett slumpmässigt heltal från 0 upp till, men inte inklusive, det talet.
t.ex.
james_applen: random(5);resulterar i värdet 0, 1, 2, 3 eller 4. -
rand(n.0): Ersätt "n" med ett positivt heltal. Ett flyttal genereras mellan 0.0 och n.0.
t.ex.
james_applen: rand(2.0);resulterar i ett värde mellan 0.0000 och 2.0000. -
rand([n0, n1, n3, n7]): Ange en lista med värden inom hakparenteser. Ett slumpmässigt värde från listan väljs.
t.ex.
james_applen: rand([2,7,12,18]);gör att värdet blir antingen 2, 7, 12 eller 18. -
rand_with_step(undre, övre, steg): Genererar ett slumpmässigt värde mellan de angivna gränserna, där värdena ökar med det valda steg-intervallet.
t.ex.
james_applen: rand_with_step(1,13,3);ger värdet 1, 4, 7, 10 eller 13. -
rand_with_prohib(undre, övre, [n0,n1..]): Genererar ett slumpmässigt värde från ett intervall, men exkluderar specifikt värdena i hakparenteserna.
t.ex.
james_applen: rand_with_prohib(1,10,[2,3,7,8]);ger värdet 1, 4, 5, 6, 9 eller 10.