Formler, teknikker og begreper du trenger til eksamen.
KompetansemålLes og skriv Python til rekker og tallfølger, og bruk tilfeldige tall til å anslå sannsynlighet og forventning.
Lese kode: summere en rekke
En -løkke som summerer legger tallene sammen ett om gangen. Les den ovenfra og ned, og hold styr på hva variablene inneholder etter hver runde.sum = 0
for i in range(1, 6):
sum = sum + i
print(sum)Her går gjennom ( stopper før 6). Summen blir . Dette er en aritmetisk rekke.En geometrisk rekke bygger på en konstant kvotient. Her ganges leddet med hver runde:ledd = 8
sum = 0
for i in range(5):
sum = sum + ledd
ledd = ledd * 0.5
print(sum)Leddene er , og summen blir . Sammenlign med formelen .
Lese kode: while-løkke med terskel
En -løkke kjører så lenge betingelsen er sann. Den er nyttig når du ikke vet antall runder på forhånd, men vil kjøre helt til en terskel er nådd.sum = 0
n = 0
while sum < 100:
n = n + 1
sum = sum + n
print(n, sum)Programmet legger til helt til summen når eller mer. Etter er , som er første gang . Utskriften blir .Merk rekkefølgen: betingelsen sjekkes FØR hver runde. Løkka stopper straks betingelsen blir usann. Pass på at noe inne i løkka endrer betingelsen, ellers kjører den i det uendelige.
Skrive kode: rekursiv tallfølge
En rekursiv følge er definert ved at et ledd regnes ut fra det forrige. For eksempel og . For å skrive dette lagrer du forrige ledd i en variabel og oppdaterer den i en løkke.a = 2
print(a)
for n in range(4):
a = 3 * a + 1
print(a)Programmet skriver ut . Variabelen holder alltid det nyeste leddet, og linja er selve rekursjonsformelen.Vil du ta vare på alle leddene, kan du bruke en liste:folge = [2]
for n in range(4):
neste = 3 * folge[-1] + 1
folge.append(neste)
print(folge) er det siste leddet i lista. Utskriften blir .
Simulering: sannsynlighet med tilfeldige tall
Du kan anslå en sannsynlighet ved å simulere mange forsøk og telle hvor ofte hendelsen skjer. Andelen treff nærmer seg den teoretiske sannsynligheten når antall forsøk øker (store talls lov).Eksempel: kast to terninger og anslå .import random
treff = 0
N = 100000
for i in range(N):
t1 = random.randint(1, 6)
t2 = random.randint(1, 6)
if t1 + t2 == 7:
treff = treff + 1
print(treff / N) gir et tilfeldig heltall fra 1 til 6. Utskriften ligger nær , som er den teoretiske sannsynligheten.
Simulering: forventning med normalfordeling
Med trekker du tilfeldige tall fra en normalfordeling . Da kan du anslå både en forventningsverdi og en sannsynlighet ved simulering.Eksempel: høyder er normalfordelt med og . Anslå og gjennomsnittet.import random
N = 100000
treff = 0
sum_hoyde = 0
for i in range(N):
x = random.gauss(170, 8)
sum_hoyde = sum_hoyde + x
if x > 180:
treff = treff + 1
print(treff / N)
print(sum_hoyde / N)Andelen ligger nær (samsvarer med z-verdien ), og gjennomsnittet ligger nær , altså forventningsverdien .
Tips
Sjekk alltid grensene i : gir , mens gir .
I en -løkke må noe inne i løkka endre betingelsen, ellers stopper den aldri.
Simulering gir et anslag, ikke et eksakt svar. Flere forsøk gir vanligvis bedre nøyaktighet.
I en -løkke må noe inne i løkka endre betingelsen, ellers stopper den aldri.
Simulering gir et anslag, ikke et eksakt svar. Flere forsøk gir vanligvis bedre nøyaktighet.
Eksempel