Tallfølge med programmering og induksjon
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?
Tallene fra oppgave a) er starten på en rekke.
- Bruk induksjon til å vise at et ledd i rekken kan uttrykkes som
\[a_n = \frac{n(n+3)}{2}, \quad n \geq 1 \]
a) Koden skriver ut tallfølgen 2, 5, 9, 14, 20. Differansen mellom leddene starter på 3 og øker med 1 for hvert ledd.
b) Eleven finner delsummen etter 5 ledd. Programmet skriver ut 50.
c) Se løsningsforslag (induksjonsbevis).
a
Her setter vi opp en oversikt for å se hvordan variablene i programmet utvikler seg.
i |
a |
Beregning av neste a |
|---|---|---|
| 1 | 2 | \(2+1+2=\underline{5}\) |
| 2 | 5 | \(5+2+2=\underline{9}\) |
| 3 | 9 | \(9+3+2=\underline{14}\) |
| 4 | 14 | \(14+4+2=\underline{20}\) |
| 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.
b
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=\underline{\underline{50}}\)
c
Påstanden vår er at
Vi viser at dette gjelder for \(n=1\)
Vi antar at formelen gjelder for \(n=k\) slik at
Vi finner \(a_{k+1}\) ved å bruke den rekursive sammenhengen fra b).
Deretter finner vi \(a_{k+1}\) ved å bruke formelen.