Hopp til innhald
Oppgåve

Programmering med for-lykkjer

For-lykkjer har vi bruk for når vi skal køyre den same koden eit visst tal gonger.

AP-50

a) Koding

Programmet nedanfor gir feilmelding. Kva er feil i kodelinjene?

for in range(1,6)
print(f"Talet er {tal}.")

Fasit
  1. Det manglar ein variabel rett etter kodeordet for.
  2. Den første linja må ha eit kolon til slutt.
  3. Den andre linja må rykkjast inn.
  4. Variabelen tal er ikkje definert (men blir det dersom han blir sett inn etter kodeordet for på den første linja).

b) Algoritme

Skriv algoritmen til desse kodelinjene.

Løysingsforslag
  • Set variabelen tal lik 1.
  • Gjer 5 gonger:
    • Skriv til skjermen "Talet er <tal>.".
    • La tal auke med 1.

c) Forklaring

Forklar med ord kva programmet gjer.

AP-51

Vi ønskjer å lage eit program som lagar ei utskrift av dei 6 første kvadrattala.

a) Teori

Kva er eit kvadrattal?

Forklaring

Kvadratrota av eit kvadrattal er alltid eit heilt, positivt tal, til dømes er 9 eit kvadrattal fordi kvadratrota av 9 er lik 3. Kvadrattala finn vi ved å ta eit heilt tal og kvadrere det, altså multiplisere det med seg sjølv, eller opphøge det i andre potens.

Eksempel med talet 4 som utgangspunkt: 4·4=42=16

16 er altså eit kvadrattal.

b) Algoritme

Skriv algoritmen til eit program som kan lage utskrifta

"Kvadrattal nummer 1 er 1^2 = 1"
"Kvadrattal nummer 2 er 2^2 = 4"

og så vidare til og med kvadrattal nummer 6. Hugs å få med forklarande tekstar.

Løysingsforslag
  • Skriv til skjermen "Dette programmet skriv ut dei 6 første kvadrattala.".
  • Set variabelen tal til 1.
  • Gjer 6 gonger:
    • Skriv til skjermen "Kvadrattal nummer <tal> er <tal>^2 = (verdien av <tal>^2)".
    • La tal auke med 1.

c) Koding

Lag programmet, og test at det fungerer.

d) Algoritme

Vi ønskjer å endre programmet slik at brukaren kan bestemme kor mange kvadrattal som skal skrivast ut.
Endre på algoritmen ovanfor slik at dette blir mogleg.

Løysingsforslag
  • Skriv til skjermen "Dette programmet skriv ut dei n første kvadrattala.".
  • Skriv til skjermen "Skriv inn kva n skal vere:".
  • Ta imot talet frå brukaren, og lagre det i variabelen n.
  • Set variabelen tal lik 1.
  • Gjer så mange gonger som verdien av variabelen n:
    • Skriv til skjermen "Kvadrattal nummer <tal> er <tal>^2 = (verdien av <tal>^2)".
    • La tal auke med 1.

e) Koding

Lag programmet, og test at det fungerer.

f) Algoritme

Vi ønskjer no at brukaren i tillegg skal kunne bestemme kva for tal vi skal starte med slik at utskrifta ikkje alltid startar med 1 som det første talet.
Skriv algoritmen til eit slikt program.

g) Koding

Lag programmet i f), og test at det fungerer.

AP-52

Vi ønskjer no å lage eit program som lagar ein verditabell for funksjonen  f(x)=4x-3  for x-verdiar frå og med 0 til og med 10.

a) Teori

Kva er ein verditabell?

Forklaring

Sjå til dømes teorisida "Funksjonsomgrepet. Definisjonsmengde og verdimengde".

b) Algoritme

Skriv algoritmen til eit slikt program.

Tips

Verditabellen kan sjå slik ut:

x

f(x)

0

–3

1

1

2

5

...

Løysingsforslag
  • Skriv til skjermen "Dette programmet lagar ein verditabell til funksjonen  f(x)=4x-3.".
  • Skriv til skjermen "x            f(x)".
  • Set variabelen x lik 0.
  • Gjer 10 gonger:
    • Rekn ut 4·x – 3 og set resultatet lik variabelen f_x.
    • Skriv til skjermen "<x>            <f_x>".
    • La x auke med 1.
    Her betyr "<x>" at det er verdien av variabelen x som skal skrivast ut. Det er tilsvarande for <f_x>.

c) Koding

Skriv koden til programmet. Køyr programmet, og kontroller at det fungerer.

Løysingsforslag

print(f"Dette programmet lagar ein 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 ønskjer no at brukaren skal kunne bestemme kva for intervall x-verdiane skal gå mellom i verditabellen.
Skriv algoritmen til eit slikt program.

e) Koding

Skriv programkoden til algoritmen i d), og køyr programmet til slutt for å sjå at det fungerer.

f) Algoritme

Programma i denne oppgåva så langt lagar verditabellar der avstanden mellom x-verdiane er 1. Vi ønskjer no at brukaren skal kunne bestemme denne avstanden slik at det til dømes kan gå an å lage ein verditabell med x-verdiane 100, 200, 300, 400 og 500.
Skriv algoritmen til eit slikt program.

g) Koding

Skriv programkoden til algoritmen i f), og køyr programmet til slutt for å sjå at det fungerer.

Tips

Her får vi bruk for å la teljevariabelen i for-lykkja gå i andre steg enn 1.