Ukjente programmer S2 v25

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.

iaBeregning av neste a
122+1+2=52+1+2=\underline{5}
255+2+2=95+2+2=\underline{9}
399+3+2=149+3+2=\underline{14}
41414+4+2=2014+4+2=\underline{20}
520

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

an+1=an+n+2a_{n+1}=a_{n}+n+2

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å 2+5+9+14+20=502+5+9+14+20=\underline{\underline{50}}

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.