På teorisida utleidde vi formelen for summen av dei første ledda i ei aritmetisk rekke ved å sjå på , og skreiv: "Resonnementet ovanfor gjeld om vi byter ut talet på ledd i rekka med kva som helst anna naturleg tal enn 5."
Utlei formelen for direkte, utan å setje inn eit bestemt tal.
Løysing
Vi skriv summen av rekka på to måtar:
Vi legg saman dei to venstresidene og dei to høgresidene:
Vi observerer at summen inne i alle parentesane er den same, altså at vi har
Dette betyr at vi kan utleie formelen ferdig slik:
Vi har her ei aritmetisk rekke fordi differansen mellom kvart ledd er lik.
b) Finn ein eksplisitt formel for ledd nummer i rekka.
Løysing
Vi har at og at . Vi får då
c) Vis for hand at 79 er tal nummer 20 i rekka.
Løysing
Vi set den eksplisitte formelen for lik 79:
d) Finn slik at summen . Gjer dette for hand, i CAS og ved hjelp av programmering.
Løysing
For hand:
Vi finn eit generelt uttrykk for og set dette lik 78:
Vi må ha heile, positive løysingar, såg dermed er når summen er 78.
I CAS:
I Python:
python
1a_n =32d =43n =14sum=356whilesum!=78:7 a_n = a_n + d
8sum=sum+ a_n
9 n = n+11011print(f"Summen er lik 78 når n er lik {n}.")
e) Modifiser programmet du laga i d). Bruk det til å finne ut om tala 79, 97, 171, 779, 997, 1 711, 7 799 og 9 870 er ledd i rekka, og kva nummer i rekka dei i så fall er. Her kan det vere lurt å først tenke nøye gjennom kva du må endre og legge til i programmet før du byrjar å programmere.
Løysing
Vi har her valt å bygge vidare på det programmet vi har laga som legg alle ledda i rekka inn i ei liste Så sjekkar vi om tala våre ligg i den lista. Vi skal både undersøke om talet er eit ledd i rekka, og i så fall kva nummer det er. Vi legg tala vi skal sjekke, i ei eiga liste. Først finn vi alle tala som er ledd i rekka, og skriv ut dei, så skriv vi ut dei tala som ikkje er ledd i rekka.
python
1a_n =32d =43n =14Ledda =[3]5Tala =[79,97,171,779,997,1711,7799,9870]67while a_n <10000:8 a_n = a_n + d
9 Ledda.append(a_n)1011for i inrange(len(Ledda)):12if Ledda[i]in Tala:13print(f"{Ledda[i]} er tal nummer {i+1} i rekka.")1415for i inrange(len(Tallene)):16if Tala[i]notin Ledda:17print(f"{Tala[i]} er ikkje eit tal i rekka.")
Hugs at dette er éin måte å gjere det på. Gjorde du det på ein annan måte? Dersom det verka, er det supert! Ein kan til dømes velje å undersøke om den eksplisitte formelen for gir heiltalige .
f) Utvid programmet og bruk det til å finne ut om kan vere lik 79, 97, 171, 779, 997, 1 711, 7 799 og 9 870, og finn ut kor mange ledd du i så fall må ha i rekka for å få desse summane.
Løysing
Her utvidar vi programmet frå den førre oppgåva og lagar ei eiga liste med summane. Så undersøkjer vi dei på same måte.
python
1a_n =32d =43n =14sum=35Ledda =[3]6Tala =[79,97,171,779,997,1711,7799,9870]7Summane =[3]89while a_n <10000:10 a_n = a_n + d
11 Ledda.append(a_n)12sum=sum+ a_n
13 Summane.append(sum)1415for i inrange(len(Ledda)):16if Ledda[i]in Tala:17print(f"{Ledda[i]} er tal nummer {i+1} i rekka.")1819for i inrange(len(Tala)):20if Tala[i]notin Ledda:21print(f"{Tala[i]} er ikkje eit tal i rekka.")2223for i inrange(len(Ledda)):24if Summane[i]in Tala:25print(f"Summen er {Summane[i]} dersom det er {i+1} ledd i rekka.")2627for i inrange(len(Tala)):28if Tala[i]notin Summane:29print(f"Summen kan ikkje bli {Tala[i]}.")
Igjen: Gjorde du det på ein annan måte? Kanskje meir effektivt? Så bra!
a) Lag eit program som skriv ut dei 50 første ledda og summane i rekka.
Løysing
Vi må først finne den eksplisitte formelen for rekka:
Så kan vi lage det følgande programmet:
python
1a_n =02Sum =03antal =04Ledda =["a_n"]5Summane =["S_n"]67for n inrange(1,51):8 antal = antal+19 a_n =6*3**(n-1)10 Sum = Sum + a_n
11 Ledda.append(a_n)12 Summane.append(Sum)1314for i inrange(0,51):15print(f"{Ledda[i]:<27}{Summane[i]:<27}")
Koden i linje 15 er for å få fine kolonnar. Du kan velje å erstatte linjene 14 og 15 med skriv ut(Ledda) og skriv ut(Summane) dersom du ikkje treng ei fin utskrift.
b) Modifiser programmet slik at ein brukar kan undersøke om eit gitt tal kan vere eit ledd i rekka eller ein sum av rekka.
Løysing
Her må vi først hente inn talet brukaren vil undersøke. Så må vi gå gjennom listene våre, sjekke om talet er i nokre av dei og skrive ut resultatet.
python
1a_n =02Sum =03antal =04Ledda =["a_n"]5Summane =["S_n"]67for n inrange(1,51):8 antal = antal+19 a_n =6*3**(n-1)10 Sum = Sum + a_n
11 Ledda.append(a_n)12 Summane.append(Sum)1314talet =int(input("Kva tal vil du sjekke?"))1516for i inrange(len(Ledda)):17if talet == Ledda[i]:18print(f"{talet} er ledd nummer {i} i rekka.")19if talet == Summane[i]:20print(f"{talet} er summen av dei {i} første ledda i rekka.")2122if talet notin Ledda:23print(f"{talet} er ikkje eit ledd i rekka.")24if talet notin Summane:25print(f"{talet} kan ikkje vere ein sum av denne rekka.")