b) Lag eit program som skriv ut dei 20 første ledda.
Løysingpython
1a_n =02antal =13Ledda =[]45for n inrange(1,21):6 a_n =1/(1+n)**27 Ledda.append(a_n)8 antal = antal+1910print(Ledda)
c) Utvid programmet slik at det òg skriv ut dei 20 første summane, det vil seie og så vidare.
Løysingpython
1a_n =02Sum =03antal =14Ledda =[]5Summane =[]67for n inrange(1,21):8 a_n =1/(1+n)**29 Sum = Sum + a_n
10 Ledda.append(a_n)11 Summane.append(Sum)12 antal = antal+11314print(Ledda)15print(Summane)
Legg merke til at desse programma berre er heilt grunnleggjande, og at utskriftene ikkje er lette å tyde.
Her kjem ein versjon med overskrifter og litt færre desimalar. Kanskje kan du nokre andre triks for å få det til å sjå betre ut?
Python
1a_n =02Sum =03antal =14Ledda =["a_n"]5Summane =["S_n"]67for n inrange(1,21):8 a_n =1/(1+n)**29 Sum = Sum + a_n
10 Ledda.append(a_n)11 Summane.append(Sum)12 antal = antal+113141516for i inrange(0,21):17if i ==0:18print(f"{Ledda[i]:<6}{Summane[i]:<6}")19else:20print(f"{Ledda[i]:.4f}{Summane[i]:.4f}")21
I linje 18 har vi lagt inn ei formatering for å få rada med overskrifter til å bli like brei som radene med ledd og summar.
d) Finn summen, både eksakt og avrunda til 10 desimalar, når ved hjelp av CAS i GeoGebra.
Løysing
e) Utvid programmet ditt frå c) slik at du får skrive ut ledda frå til og tilsvarande summar og ledda frå til og tilsvarande summar. Beskriv samanhengen mellom desse og svaret du fekk i d).
Løysingpython
1a_n =02Sum =03antal =14Ledda =["a_n"]5Summane =["S_n"]67for n inrange(1,1001):8 a_n =1/(1+n)**29 Sum = Sum + a_n
10 Ledda.append(a_n)11 Summane.append(Sum)12 antal = antal+11314print("a_290 - a_300")1516for i inrange(291,301):17print(f"{Ledda[i]:.5f}{Summane[i]:.5f}")1819print("a_990 - a_1000")2021for i inrange(991,1001):22print(f"{Ledda[i]:.6f}{Summane[i]:.5f}")
Resultatet av utskrifta blir slik (med 5 og 6 desimalar):
Vi ser at ledda blir mindre og mindre, og at summen nærmar seg sakte, men sikkert den summen vi fann i oppgåve d).
f) Utfordring: Kan du lage eit program som finn ut kor mange ledd du må ha for at summen skal vere lik den summen du fekk i oppgåve d) med ei nøyaktigheit på 7 desimalar?
Løysing
Dersom vi skal ha ei nøyaktigheit på 7 desimalar, altså ein sum på 0,6449340, må vi finne ut når summen passerer 0,64493405 (fordi vi då måtte ha runda opp til 0,6449341).
Programmet kan sjå slik ut:
python
1a_n =02Sum =03antal =1456while Sum <0.64493405:7 a_n =1/(1+antal)**28 Sum = Sum + a_n
9 antal = antal+11011print(f"Vi treng {antal-1} ledd for å få summen med ei nøyaktigheit på 7 desimalar.")
Tok programmet langt tid å køyre? Ikkje så rart, kanskje, sidan vi treng heile 59 128 516 ledd i rekka for å komme til denne summen.
Kanskje du klarer å finne eit meir effektivt program?
d) Samanlikn resultatet i c) med resultatet i oppgåve 3 c). Beskriv kva som er forskjellen mellom desse to.
Løysing
I oppgåve 3 c) var svaret eit tal, mens i denne oppgåva er svaret uendeleg. Det betyr at summen av rekka som er gitt ved , vil halde fram med å vekse, mens summen av rekka som er gitt ved , vil gå mot ein bestemd sum.