For-løkker har vi bruk for når vi skal kjøre den samme koden et visst antall ganger.
AP-50
a) Koding
Programmet nedenfor gir feilmelding. Hva er feil i kodelinjene?
for in range(1,6)
print(f"Tallet er {tall}.")
Fasit
- Det mangler en variabel rett etter kodeordet for.
- Den første linja må ha et kolon til slutt.
- Den andre linja må rykkes inn.
- Variabelen tall er ikke definert (men blir det dersom den blir satt inn etter kodeordet for på den første linja).
b) Algoritme
Skriv algoritmen til disse kodelinjene.
Løsningsforslag
- Sett variabelen tall lik 1.
Gjør 5 ganger:
- Skriv til skjermen "Tallet er <tall>.".
- La tall øke med 1.
c) Forklaring
Forklar med ord hva programmet gjør.
AP-51
Vi ønsker å lage et program som lager en utskrift av de 6 første kvadrattallene.
a) Teori
Hva er et kvadrattall?
Forklaring
Kvadratroten av et kvadrattall er alltid et helt, positivt tall, for eksempel er 9 et kvadrattall fordi kvadratroten av 9 er lik 3. Kvadrattallene finner vi ved å ta et helt tall og kvadrere det, altså multiplisere det med seg selv, eller opphøye det i andre potens.
Eksempel med tallet 4 som utgangspunkt:
16 er altså et kvadrattall.
b) Algoritme
Skriv algoritmen til et program som kan lage utskriften
"Kvadrattall nummer 1 er 1^2 = 1"
"Kvadrattall nummer 2 er 2^2 = 4"
og så videre til og med kvadrattall nummer 6. Husk å få med forklarende tekster.
Løsningsforslag
- Skriv til skjermen "Dette programmet skriver ut de 6 første kvadrattallene.".
- Sett variabelen tall til 1.
Gjør 6 ganger:
- Skriv til skjermen "Kvadrattall nummer <tall> er <tall>^2 = (verdien av <tall>^2)".
- La tall øke med 1.
c) Koding
Lag programmet, og test at det fungerer.
d) Algoritme
Vi ønsker å endre programmet slik at brukeren kan bestemme hvor mange kvadrattall som skal skrives ut.
Endre på algoritmen ovenfor slik at dette blir mulig.
Løsningsforslag
- Skriv til skjermen "Dette programmet skriver ut de n første kvadrattallene.".
- Skriv til skjermen "Skriv inn hva n skal være:".
- Ta imot tallet fra brukeren, og lagre det i variabelen n.
- Sett variabelen tall lik 1.
Gjør så mange ganger som verdien av variabelen n:
- Skriv til skjermen "Kvadrattall nummer <tall> er <tall>^2 = (verdien av <tall>^2)".
- La tall øke med 1.
e) Koding
Lag programmet, og test at det fungerer.
f) Algoritme
Vi ønsker nå at brukeren i tillegg skal kunne bestemme hvilket tall vi skal starte med slik at utskriften ikke alltid starter med 1 som det første tallet.
Skriv algoritmen til et slikt program.
g) Koding
Lag programmet i f), og test at det fungerer.
AP-52
Vi ønsker nå å lage et program som lager en verditabell for funksjonen for -verdier fra og med 0 til og med 10.
a) Teori
Hva er en verditabell?
b) Algoritme
Skriv algoritmen til et slikt program.
Tips
Verditabellen kan se slik ut:
0 | –3 |
1 | 1 |
2 | 5 |
... |
Løsningsforslag
- Skriv til skjermen "Dette programmet lager en verditabell til funksjonen .".
- Skriv til skjermen "x
f(x)". - Sett variabelen x lik 0.
Gjør 10 ganger:
- Regn ut 4·x – 3 og sett resultatet lik variabelen f_x.
- Skriv til skjermen "<x>
<f_x>". - La x øke med 1.
Her betyr "<x>" at det er verdien av variabelen x som skal skrives ut. Det er tilsvarende for <f_x>.
c) Koding
Skriv koden til programmet. Kjør programmet, og kontroller at det fungerer.
Løsningsforslag
print(f"Dette programmet lager en verditabell "
f"til funksjonen f(x) = 4x – 3.")
print(f"x
for x in range(0, 11):
d) Algoritme
Vi ønsker nå at brukeren skal kunne bestemme hvilket intervall
Skriv algoritmen til et slikt program.
e) Koding
Skriv programkoden til algoritmen i d), og kjør programmet til slutt for å se at det fungerer.
f) Algoritme
Programmene i denne oppgaven så langt lager verditabeller der avstanden mellom
Skriv algoritmen til et slikt program.
g) Koding
Skriv programkoden til algoritmen i f), og kjør programmet til slutt for å se at det fungerer.
Tips
Her får vi bruk for å la tellevariabelen i for-løkken gå i andre steg enn 1.