Programmering med egendefinerte funksjoner
AP-70
Vi ønsker å lage et program som regner ut for funksjonen
For å øve på bruk av egendefinerte funksjoner i Python, skal vi lage en egendefinert funksjon med navnet f som kan regne ut funksjonsverdier for oss.
a) Algoritme
Skriv algoritmen til et slikt program og til funksjonen f. Husk å få med tekster som forklarer brukeren av programmet hva programmet gjør.
Løsningsforslag
Algoritmen til programmet:
- Skriv til skjermen "Dette programmet regner ut for funksjonen .".
- Skriv til skjermen " = (verdien til )".
Med "verdien til
Algoritmen til den egendefinerte funksjonen f:
- Ta imot en
-verdi, og kall denne x.x - Regn ut følgende: Multipliser x med 2, og legg til 1.
- Returnerer svaret.
b) Koding
Skriv koden til programmet etter algoritmene ovenfor.
AP-71
Vi ønsker å lage et program som med funksjonen
a) Algoritme
Skriv algoritmen til et slikt program. Husk å få med tekster som forklarer brukeren av programmet hva programmet gjør.
Løsningsforslag
- Skriv til skjermen: "Dette programmet regner ut funksjonsverdier for 3 valgfrie x-verdier."
Gjør tre ganger:
- Skriv til skjermen: "Skriv inn en x-verdi."
- Ta imot x-verdien fra brukeren, og sett tallet lik en variabel.
- Sett variabelen inn i funksjonen, og lagre resultatet i en ny variabel.
Gjør tre ganger:
- Skriv til skjermen "Når x-verdien er <variabel>, er funksjonsverdien <variabel>".
b) Koding
Skriv koden som passer til algoritmen over. Prøv først med å bruke vanlige variabler. Prøv etterpå å lage programmet ved å lagre
AP-72
Noen elever i en klasse har lagd et program som skal regne ut funksjonsverdier for funksjonen
Ingen av dem får programmet til å kjøre. Kan du finne ut hva som er feilen i programmene? Skriv ned hvilken linje som har feil, og hva som er feilen. Til slutt: Skriv et program som virker.
Tips til oppgaven
Hvis du ikke finner feilen, kan du sjekke de andre programmene og se hva som er annerledes der.
Lisa sitt program:
def f(x):
print(f(3))
Rikard sitt program:
def f(x):
print f(3)
Per sitt program:
def f(x)
print(f(3))
Leif sitt program:
def f(x):
print(f(3))
Rolf sitt program:
def f(x):
print(f(3))
Tale sitt program:
def f(x):
print(f)
Gunnar sitt program:
def f(x):
return x**2+2*x
print(f(3))
AP-73
Vi ønsker å lage et program som lager en verditabell med funksjonen
a) Algoritme
Skriv algoritmen til et slikt program. Husk å få med tekster som forklarer brukeren av programmet hva programmet gjør.
b) Koding
Skriv koden til programmet.
Tips
Funksjonen range() kan være god å bruke her, se artikkelen For-løkker. Det kan også være lurt å bruke lister, se artikkelen Lister.