Programmering med for-løkker
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?
Forklaring
Se for eksempel teorisiden "Funksjonsbegrepet. Definisjonsmengde og verdimengde".
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.