Program Model i Inspera Assessment er en kraftig funksjon for oppgavetypene Numerisk simulering og Symbolsk matematikk. Den muliggjør simuleringer ved å bruke et uttrykksfullt programmeringsspråk (Maxima, som er basert på Lisp) for å sette variabler og definere beregninger.
Denne artikkelen forklarer det grunnleggende ved deklarering av variabler i Program Model, og detaljerer hvordan du kan randomisere variabelverdier ved hjelp av ulike funksjoner.
Forstå variabler i Program Model
Program Model er motoren bak oppgavetypene Numerisk simulering og Symbolsk matematikk. Det er her du definerer alle de dynamiske elementene i oppgaven din, som variabler som skal inneholde spesifikke verdier eller være randomiserte.
Det grunnleggende formatet for å deklarere variabler i Program Model er: variabel_navn: uttrykk;
Husk at hver kodelinje må slutte med et semikolon for å bli riktig tolket av Maxima.
-
La oss ta utgangspunkt i følgende oppgave: James har 2 epler. Amy har dobbelt så mange som James. Hvor mange epler har Amy?
Det er to variabler som må settes.
- Antall epler James har (2).
- Antall epler Amy har (James' verdi multiplisert med 2).
I Program Model kan dette skrives slik:
james_epler: 2;amy_epler: james_epler * 2;I dette eksempelet vil variabelen
james_epleralltid være 2, og variabelenamy_eplervil alltid være 4.
Randomisere variabler med funksjoner
Styrken til Program Model ligger i evnen til å generere tilfeldige variabelverdier for hver kandidat, i stedet for å bruke faste verdier. Maxima tilbyr flere funksjoner for å oppnå tilfeldige verdier:
-
random(n): Erstatt "n" med et positivt heltall. Den genererte verdien vil være et tilfeldig heltall fra 0 opp til, men ikke inkludert, det tallet.
f.eks.
james_epler: random(5);vil resultere i verdien 0, 1, 2, 3 eller 4. -
rand(n.0): Erstatt "n" med et positivt heltall. Et flyttall vil bli generert mellom 0.0 og n.0.
f.eks.
james_epler: rand(2.0);vil resultere i en verdi mellom 0.0000 og 2.0000. -
rand([n0, n1, n3, n7]): Oppgi en liste med verdier inne i firkantparenteser. En tilfeldig verdi fra denne listen vil bli valgt.
f.eks.
james_epler: rand([2,7,12,18]);vil føre til at verdien blir enten 2, 7, 12 eller 18. -
rand_with_step(nedre, øvre, steg): Genererer en tilfeldig verdi mellom de spesifiserte grensene, der verdiene øker med det satte steg-intervallet.
f.eks.
james_epler: rand_with_step(1,13,3);vil gi verdien 1, 4, 7, 10 eller 13. -
rand_with_prohib(nedre, øvre, [n0,n1..]): Genererer en tilfeldig verdi fra et tallområde, men ekskluderer spesifikt verdiene i firkantparentesene.
f.eks.
james_epler: rand_with_prohib(1,10,[2,3,7,8]);vil gi verdien 1, 4, 5, 6, 9 eller 10.