Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Oppgave 1 - Teori om funksjoner

  1. En funksjon er en måte å lage en kodesnutt som skal brukes flere steder. Om noe skal endres trenger man bare å endre det et sted, koden blir også mer oversiktelig siden man bare trenger å bruke en linje med kode for å benytte seg av funksjonen. Funksjoner kan også testes uavhengig av de ferdige programmet, om programmet ditt ikke fungerer trenger du altså ikke være redd for at feilen befinner seg i funksjonen, siden denne har blitt testet på forhånd.

    1. def function_name(argument1,argument2):
    2. Ja, om du vil ha en funksjon som alltid skriver 'hei', så trenger ikke denne funksjonen ta inn noen parametere.
    3. Ja, om du vil ha en funksjon som alltid skriver 'hei', så trenger ikke denne funksjonen gi tilbake noen parametere.
  2. Kalle på en funksjon vil si at man skal kjøre funksjonen, dette gjøres ved : a,b = function_name(arg1,arg2)

Oppgave 2 - Funksjoner

Code Block
languagepython
# printer tekst 20 ganger
for i in range(0,211
def velkommen():
    print("Velkommen til de røde elefanters evighet.")
# 2
def addisjon(tall1, tall2):
    print("Bolton Wanderers!")

...

 return tall1 + tall2

3. Hensikten med funksjoner er at de kan gjenbrukes i programmet, for ulike parameterverdier.

Oppgave 3 - Negative tall

Code Block
languagepython
from random import randint
ikkesyv = True
while (ikkesyv#Alternativ 1
def erNegativ(tall):
    if tall < 0:
        return true
    else:
        return false
 
#Alternativ 2
def erNegativ(tall):
    x = randint(0,10)return tall < 0

Oppgave 4 - Absoluttverdi

Code Block
languagepython
#Alternativ 1
def absolutt(tall):
    if (xtall !=< 7)0:
         print(x)return tall * -1
    else:
        return tall
        ikkesyv = False

...

 
#Alternativ 2
def absolutt(tall):
    return abs(tall)

Oppgave 5 - Minste tall

Code Block
languagepython
 # a
def velkommen():
    print("Velkommen til de røde elefanters evighet.")
# b
def sum(tall1, tall2):
    return tall1 + tall2

 

Oppgave 4

def minsteTall(a,b):
    if a < b:
        return a
    elif b < a:
        return b
    else:
        return a;
def minsteAvTreTall(a,b,c):
    if a < b and a < c:
        return a
    elif b < a and b < c:
        return b
    elif c < a and c < b:
        return c
    else:
        if a == b:
            return a
        elif a == c:
            return a
        elif b == c:
            return b
        #Om vi kommer ned hit betyr det at alle tallene er like
        else:
            return a
#En bedre løsning som benytter en liste
def minsteAvTreTallList(a,b,c):
    liste = [a,b,c]
    minste = a
    for tall in liste:
        if tall < minste:
            minste = tall
    return minste

Oppgave 6 - Minste tall i liste

Code Block
languagepython
def indeks_minste_element(numberList):
    #Definerer det første elementet som det minste til å beynnge med
    minNumber = numberList[0]
    minIndex = 0
    for x in range(len(numberList)):
        if numberList[x] < minNumber:
            minNumber = numberList[x]
            minIndex = index
    return minIndex

Oppgave 7 - Negative tall i tabell

Code Block
languagepy
def negativ_tabell(numberList):
    for number in numberList:
        if number < 0:
            return true
    return false
 
#Alternativt
def negativ_tabell(liste):
    tallIndex = index_minste_element(liste)
    tall = liste[tallIndex]
    return erNegativ(tall)
 
#Alternativt til den rett over, men på én linje
def negativ_tabell2(liste
Code Block
languagepython
import math
# a)
def storst_tall(liste):
    return max(liste)
testliste = [0,3,1,9,8,3,8]
storste = storst_tall(testliste)
print(storste)

# b)
def dobbel_tall(tall):
    return erNegativ(liste[minsteTall(liste)])
 


Oppgave 8 - Tilfeldig tall

...

Code Block
languagepython
from random import randint
nedre_grense = int(input("Skriv inn nedre grense: "))
ovre_grense = int(input("Skriv inn øvre grense: "))
def tilfeldig_tall(n_grense,o_grense):
    return randint(n_grense,o_grense)
print(tilfeldig_tall(nedre_grense, ovre_grense))

Oppgave 9 - Fakultet

Code Block
languagepython
#iterativ
def faculty(number):
    if number == 0:
        return 1
    faculty = 1
    for i in range(1, number + 1):
        faculty *= i
    return faculty
#rekursiv
def facultyRec(number):
    if number == 0:
        return 1
    return number * facultyRec(number - 1)

Oppgave 10 - Den lille multiplikasjonstabellen

...

Code Block
languagepython
def gangetabell():
    # tom liste vi legger til radene i
    ans = [] 
    for i in range(1, 11):
        temp = [] # midlertidig liste som vi bruker til mellomlagring
        for j in range(1, 11):
            temp.append(i*j)
        ans.append(temp)
    return ans
for linje in gangetabell():
    print(linje)

Oppgave 11 - Funksjonskall i funksjon

Code Block
languagepython
from random import randint
def lagVerb(liste):
    #henter ut et tilfeldig verb fra listen
	tall = randint(0,4import math
# henter input fra bruker
input_radius = float(input("Skriv inn radius: "))
# beregner kvadratet av et tall x
def kvadrat(x):
    return x **2
# beregner areal av sirkel vha. hjelpefunksjonen kvadrat
def sirkel_areal(radius):
    areal = math.pi * kvadrat(radius)
    return areal
print("Arealet av en sirkel med radius", input_radius, "er:", " %.2f" % sirkel_areal(input_radius))

...

liste[tall]
 
def lagNavn(liste):
    #henter ut et tilfeldig navn fra listen
	tall = randint(0,4)
    return liste[tall]

def lagSetning(liste1, liste2):
    return lagNavn(liste1) + ' ' + lagVerb(liste2)

Oppgave 12 - Lotto

Code Block
languagepython
fromimport random import randint
nedre_grense = int(input("Skriv inn nedre grense: "))
ovre_grense = int(input("Skriv inn øvre grense: "))
def tilfeldig_tall(n_grense,o
def lotto():
    return [random.randint(1,34) for i in range(7)] 
 
#Alternativt:    
def lotto2():
    liste = []
    for i in range(7):
        liste.append(random.randint(1,34))
    return liste

Oppgave 13 - Sum av tall

Code Block
languagepython
def sumAvTall(n):
    sum = 0
    for i in range(1,n+1):
        sum += i
    return sum
 
n = 0
x = 0
while x < 500:
    n += 1
    x = sumAvTall(n)
print (n,'er det minste tallet som gjør at funksjonen sumAvTall returnerer en verdi over 500')

Oppgave 14 - Vårt første lille program

Code Block
languagepython
import math
# a)
def storst_tall(liste_grense):
    return randint(n_grense,o_grense)
print(tilfeldig_tall(nedre_grense, ovre_grense))max(liste)
testliste = [0,3,1,9,8,3,8]
storste = storst_tall(testliste)
print(storste)

# b)
def dobbel_tall(tall):
    return tall * 2
dobbel_storste = dobbel_tall(storste)
print(dobbel_storste)

# c)
def sirkel_areal(radius):
    return math.pi * radius**2
areal = sirkel_areal(dobbel_storste)
print("%.2f" % areal)