Hopp til innhold
Oppgave

Programmering med for-løkker

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
  1. Det mangler en variabel rett etter kodeordet for.
  2. Den første linja må ha et kolon til slutt.
  3. Den andre linja må rykkes inn.
  4. 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: 4·4=42=16

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  f(x)=4x-3  for x-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:

x

f(x)

0

–3

1

1

2

5

...

Løsningsforslag
  • Skriv til skjermen "Dette programmet lager en verditabell til funksjonen  f(x)=4x-3.".
  • 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
            f(x)")
for x in range(0, 11):
    f_x = 4 * x - 3
    print(f"{x}            {f_x}")

d) Algoritme

Vi ønsker nå at brukeren skal kunne bestemme hvilket intervall x-verdiene skal gå mellom i verditabellen.
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 x-verdiene er 1. Vi ønsker nå at brukeren skal kunne bestemme denne avstanden slik at det for eksempel kan gå an å lage en verditabell med x-verdiene 100, 200, 300, 400 og 500.
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.