Hopp til innhald
Oppgåve

Programmering med eigendefinerte funksjonar

I desse oppgåvene skal du bruke eigendefinerte funksjonar i løysinga.

AP-70

Vi ønskjer å lage eit program som reknar ut f(0) for funksjonen

f(x)=2x+1

For å øve på bruk av eigendefinerte funksjonar i Python, skal vi lage ein eigendefinert funksjon med namnet f som kan rekne ut funksjonsverdiar for oss.

a) Algoritme

Skriv algoritmen til eit slikt program og til funksjonen f. Hugs å få med tekstar som forklarer brukaren av programmet kva programmet gjer.

Løysingsforslag

Algoritmen til programmet:

  • Skriv til skjermen "Dette programmet reknar ut f(0) for funksjonen f(x)=2x+1.".
  • Skriv til skjermen "f(0) = (verdien til f(0))".

Med "verdien til f(0)" meiner vi at vi set inn talet 0 inn i den eigendefinerte funksjonen f.

Algoritmen til den eigendefinerte funksjonen f:

  • Ta imot ein x-verdi, og kall denne x.
  • Rekn ut følgjande: Multipliser x med 2, og legg til 1.
  • Returnerer svaret.

b) Koding

Skriv koden til programmet etter algoritmane ovanfor.

AP-71

Vi ønskjer å lage eit program som med funksjonen  f(x)=2x+1  reknar ut 3 funksjonsverdiar som brukaren skriv inn.

a) Algoritme

Skriv algoritmen til eit slikt program. Hugs å få med tekstar som forklarer brukaren av programmet kva programmet gjer.

Løysingsforslag
  • Skriv til skjermen: "Dette programmet reknar ut funksjonsverdiar for 3 valfrie x-verdiar."
  • Gjer tre gonger:
    • Skriv til skjermen: "Skriv inn ein x-verdi."
    • Ta imot x-verdien frå brukaren, og set talet lik ein variabel.
    • Set variabelen inn i funksjonen, og lagre resultatet i ein ny variabel.
  • Gjer tre gonger:
    • Skriv til skjermen "Når x-verdien er <variabel>, er funksjonsverdien <variabel>".

b) Koding

Skriv koden som passar til algoritmen over. Prøv først med å bruke vanlege variablar. Prøv etterpå å lage programmet ved å lagre x-verdiar og funksjonsverdiar i kvar si liste.

AP-72

Nokre elevar i ei klasse har laga eit program som skal rekne ut funksjonsverdiar for funksjonen

f(x)=x2+2x

Ingen av dei får programmet til å køyre. Kan du finne ut kva som er feilen i programma? Skriv ned kva for linje som har feil, og kva som er feilen. Til slutt: Skriv eit program som virkar.

Tips til oppgåva

Dersom du ikkje finn feilen, kan du sjekke dei andre programma og sjå kva som er annleis der.

Lisa sitt program:

def f(x):
    return x**2+2x
print(f(3))

Rikard sitt program:

def f(x):
    return x**2+2*x
print f(3)

Per sitt program:

def f(x)
    return x**2+2*x
print(f(3))

Leif sitt program:

def f(x):
    x**2+2*x
print(f(3))

Rolf sitt program:

def f(x):
    return x^2+2*x
print(f(3))

Tale sitt program:

def f(x):
    return x**2+2*x
print(f)

Gunnar sitt program:

def f(x):
return x**2+2*x
print(f(3))

AP-73

Vi ønskjer å lage eit program som lagar ein verditabell med funksjonen  f(x)=2x+1  der brukaren skriv inn kva som er største og minste x-verdi i tabellen.

a) Algoritme

Skriv algoritmen til eit slikt program. Hugs å få med tekstar som forklarer brukaren av programmet kva programmet gjer.

b) Koding

Skriv koden til programmet.

Tips

Funksjonen range() kan vere god å bruke her, sjå artikkelen For-lykkjer. Det kan òg vere lurt å bruke lister, sjå artikkelen Lister.