Hopp til hovedinnholdet

Formler, teknikker og begreper du trenger til eksamen.

Kompetansemål

Les 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.
Eksempel
Øv på denne typen