Algoritmer i Python: oppgaver med fasit
14 oppgaver i algoritmer i Python i 1T, med løsning steg for steg og fasit. Prøv selv først, og trykk «Vis løsning» når du vil sjekke svaret. Oppgavene er sortert fra kort til lang løsning.
Lær dette i Sophus: 8.3 Halveringsmetoden, 8.4 Vekstfart med et program i Matematikk 1T, med video og øving med nye tall hver gang. Se leksjonen
Lettere oppgaver
Oppgave 1
Hvilken linje regner ut differansekvotienten riktig?
- A: (f(2) - f(2 + h)) * h
- B: (f(2 + h) - f(2)) / h
- C: f(2 + h) - f(2) / h
- D: (f(2 + h) - f(2)) / 2
Vis løsning på oppgave 1
Telleren f(2 + h) − f(2) i parentes, delt på h.
Fasit: B: (f(2 + h) - f(2)) / h
Fra leksjon 8.4 Vekstfart med et program · Se forklaringen i videoen
Oppgave 2
f(a) = −1 og f(b) = 7. Kan vi være sikre på at halveringsmetoden finner et nullpunkt mellom a og b?
- A: ja
- B: nei
- C: bare hvis f er et polynom
- D: bare hvis b − a er lite
Vis løsning på oppgave 2
f(a) og f(b) har ulikt fortegn, så det finnes et nullpunkt mellom.
Fasit: A: ja
Fra leksjon 8.3 Halveringsmetoden · Se forklaringen i videoen
Oppgave 3
f(a) = −3 og f(b) = −1. Kan vi være sikre på at halveringsmetoden finner et nullpunkt mellom a og b?
- A: ja
- B: nei
- C: bare hvis f er et polynom
- D: bare hvis b − a er lite
Vis løsning på oppgave 3
f(a) og f(b) har samme fortegn.
Da vet vi ikke om det finnes et nullpunkt.
Fasit: B: nei
Fra leksjon 8.3 Halveringsmetoden · Se forklaringen i videoen
Oppgave 4
f(x) = x³ + x − 3, a = 1 og b = 2. f(1,5) = 1,875. Hva er det nye intervallet?
- A: [1,5; 2]
- B: [1; 2]
- C: [1; 1,5]
- D: [0; 1,5]
Vis løsning på oppgave 4
f(1) = −1 og f(1,5) > 0, så nullpunktet ligger mellom 1 og 1,5.
Fasit: C: [1; 1,5]
Fra leksjon 8.3 Halveringsmetoden · Se forklaringen i videoen
Oppgave 5
f(a) = 3 og f(b) = 5. Kan vi være sikre på at halveringsmetoden finner et nullpunkt mellom a og b?
- A: ja
- B: nei
- C: bare hvis f er et polynom
- D: bare hvis b − a er lite
Vis løsning på oppgave 5
f(a) og f(b) har samme fortegn.
Da vet vi ikke om det finnes et nullpunkt.
Fasit: B: nei
Fra leksjon 8.3 Halveringsmetoden · Se forklaringen i videoen
Middels vanskelige
Oppgave 6
a = 3 og b = 6. Hva er det første midtpunktet m?
Vis løsning på oppgave 6
m = 3 + 6 delt på 2 = 4,5.
Fasit: 4,5
Fra leksjon 8.3 Halveringsmetoden · Se forklaringen i videoen
Oppgave 7
a = 1 og b = 3. Hva er det første midtpunktet m?
Vis løsning på oppgave 7
m = 1 + 3 delt på 2 = 2.
Fasit: 2
Fra leksjon 8.3 Halveringsmetoden · Se forklaringen i videoen
Oppgave 8
a = 4 og b = 6. Hva er det første midtpunktet m?
Vis løsning på oppgave 8
m = 4 + 6 delt på 2 = 5.
Fasit: 5
Fra leksjon 8.3 Halveringsmetoden · Se forklaringen i videoen
Oppgave 9
Intervallet starter med lengde 1 og halveres i hver runde. Etter hvor mange runder er det kortere enn 0,001?
Vis løsning på oppgave 9
1 delt på 2¹⁰ = 1 delt på 1 024 < 0,001, men 1 delt på 2⁹ = 1 delt på 512 > 0,001.
Svaret er 10.
Fasit: 10
Fra leksjon 8.3 Halveringsmetoden · Se forklaringen i videoen
Oppgave 10
Hva skriver programmet ut?
def f(x):
return x**2
h = 0.01
print(round((f(3 + h) - f(3)) / h, 2))
Vis løsning på oppgave 10
(3 + 0,01)² − 9 delt på 0,01 = 6 + 0,01 = 6,01.
Fasit: 6,01
Fra leksjon 8.4 Vekstfart med et program · Se forklaringen i videoen
Mer krevende
Oppgave 11
Hva skriver programmet ut?
def f(x):
return x**3
h = 0.001
print(round((f(2 + h) - f(2)) / h, 3))
Vis løsning på oppgave 11
Programmet gir 12,006.
Den eksakte er 3 · 2² = 12.
Fasit: 12,006
Fra leksjon 8.4 Vekstfart med et program · Se forklaringen i videoen
Oppgave 12
Hva skriver programmet ut?
def f(x):
return x**2
h = 0.01
print(round((f(5 + h) - f(5)) / h, 2))
Vis løsning på oppgave 12
(5 + 0,01)² − 25 delt på 0,01 = 10 + 0,01 = 10,01.
Fasit: 10,01
Fra leksjon 8.4 Vekstfart med et program · Se forklaringen i videoen
Oppgave 13
Hva skriver programmet ut?
def f(x):
return x**3
h = 0.001
print(round((f(3 + h) - f(3)) / h, 3))
Vis løsning på oppgave 13
Programmet gir 27,009.
Den eksakte er 3 · 3² = 27.
Fasit: 27,009
Fra leksjon 8.4 Vekstfart med et program · Se forklaringen i videoen
Oppgave 14
Hva skriver programmet ut?
def f(x):
return x**2
h = 0.01
print(round((f(2 + h) - f(2)) / h, 2))
Vis løsning på oppgave 14
(2 + 0,01)² − 4 delt på 0,01 = 4 + 0,01 = 4,01.
Fasit: 4,01
Fra leksjon 8.4 Vekstfart med et program · Se forklaringen i videoen
Fasit
Vis fasit til alle oppgavene
- Oppgave 1: B: (f(2 + h) - f(2)) / h
- Oppgave 2: A: ja
- Oppgave 3: B: nei
- Oppgave 4: C: [1; 1,5]
- Oppgave 5: B: nei
- Oppgave 6: 4,5
- Oppgave 7: 2
- Oppgave 8: 5
- Oppgave 9: 10
- Oppgave 10: 6,01
- Oppgave 11: 12,006
- Oppgave 12: 10,01
- Oppgave 13: 27,009
- Oppgave 14: 4,01
Oppgavene hører til leksjonene 8.3–8.4 i modulen Programmering og algoritmer, som øves til del 2. Les mer om eksamen i 1T, og bruk formelarket for 1T når du øver.
Les også
- Halveringsmetoden – forklart steg for steg
- Vekstfart med et program – forklart steg for steg
- While-løkker i Python: oppgaver med fasit
- Funksjoner og løkker i Python: oppgaver med fasit
- Alle oppgavene i 1T
- Begrepene i 1T forklart
Oppgavene er laget av Sophus med de samme oppgavemalene som i kurset, og løsningene er kontrollert av en regnekontroll. Ser du likevel en feil, si fra på kontakt@sophus.no, så retter vi den.