Variabler og randomisering (Program Model)

  • Oppdatert

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.

    1. Antall epler James har (2).
    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_epler alltid være 2, og variabelen amy_epler vil 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.

Var denne artikkelen nyttig?

0 av 0 syntes dette var nyttig