Sum av aritmetisk rekke med kode

Sum av aritmetisk rekke med kode

En elev har skrevet følgende kode:

a = 3
d = 4

N = 10
S = 0

for i in range(N):
    S = S + a
    a = a + d

print(S)

Forklar hva eleven ønsker å regne ut.

Hva blir resultatet når programmet kjøres, dersom N settes til 100 i linje 4?

Fasit

Programmet beregner summen av de 10 første leddene i en aritmetisk rekke med a1=3a_1 = 3 og d=4d = 4. S10=210\underline{\underline{S_{10} = 210}}

S100=20100\underline{\underline{S_{100} = 20100}}

LøsningsforslagKI-generert

Variabelen a starter på 3 og variabelen d er lik 4. I løkken legges den gjeldende verdien av a til summen S, deretter økes a med d. Etter iterasjon ii (teller fra 0) er leddet som ble lagt til ai+1=3+i4a_{i+1} = 3 + i \cdot 4.

Det betyr at programmet legger til leddene 3, 7, 11, 15, 3,\ 7,\ 11,\ 15,\ \ldots — altså leddene i en aritmetisk rekke med

a1=3,d=4.a_1 = 3, \qquad d = 4.

For N=10N = 10 beregner programmet summen av de 10 første leddene.

Det siste leddet er

a10=3+(101)4=3+36=39.a_{10} = 3 + (10-1) \cdot 4 = 3 + 36 = 39.

Summen av en aritmetisk rekke er

Sn=a1+an2n.S_n = \frac{a_1 + a_n}{2} \cdot n.

Vi får

S10=3+39210=42210=2110=210.S_{10} = \frac{3 + 39}{2} \cdot 10 = \frac{42}{2} \cdot 10 = 21 \cdot 10 = \textbf{\underline{\underline{210}}}.

For N=100N = 100 beregner programmet summen av de 100 første leddene. Det siste leddet er

a100=3+(1001)4=3+396=399.a_{100} = 3 + (100-1) \cdot 4 = 3 + 396 = 399.

Summen blir

S100=3+3992100=4022100=201100=20100.S_{100} = \frac{3 + 399}{2} \cdot 100 = \frac{402}{2} \cdot 100 = 201 \cdot 100 = \textbf{\underline{\underline{20100}}}.