Ukjente programmer S2 v25
En elev arbeider med en tallfølge og har skrevet denne koden:
a = 2
n = 5
for i in range(1, n + 1):
print(a)
a = a + (i + 2)
Beskriv mønsteret i tallfølgen eleven arbeider med.
Hva blir resultatet når koden kjøres?
Eleven har også skrevet denne koden:
a = 2
n = 5
S = 0
for i in range(1, n + 1):
S = S + a
a = a + (i + 2)
print(S)
Hva ønsker eleven nå å finne ut?
Hva blir resultatet når koden kjøres?
Fasit
2, 5, 9, 14, 20
Eleven ønsker å finne summen av de 5 første leddene. Summen blir 50.
Løsningsforslag
Her setter vi opp en oversikt for å se hvordan variablene i programmet utvikler seg.
i | a | Beregning av neste a |
|---|---|---|
| 1 | 2 | |
| 2 | 5 | |
| 3 | 9 | |
| 4 | 14 | |
| 5 | 20 |
Vi ser en tallfølge hvor differansene mellom leddene starter på 3, og deretter øker med 1 for hvert ledd. Matematisk kan dette uttrykkes med den rekursive sammenhengen
Koden skriver ut leddene i tallfølgen 2, 5, 9, 14, 20.
Eleven har lagt til en variabel S. S gir en løpende sum av verdiene til a, derfor vil S være delsummen til rekka etter n ledd.
Eleven ønsker å finne delsummen til rekka etter 5 ledd, altså
Sensorveiledning
1 poeng for å beskrive mønsteret og 1 poeng for riktig resultat av kjøringen.
1 poeng for å beskrive hva eleven ønsker å finne ut og 1 poeng for riktig resultat av kjøringen.