Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

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
# 1
def velkommen():
    print("Velkommen til de røde elefanters evighet.")
# 2
def sum(tall1, tall2):
    return tall1 + tall2

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

Oppgave 3 - Negative tall

Code Block
languagepython
#Alternativ 1
def erNegativ(tall):
    if tall < 0:
        return true
    else:
        return false
#Alternativ 2
def erNegativ(tall):
    return tall < 0;

Oppgave 4 - Absoluttverdi

Code Block
languagepython
#Alternativ 1
def absolutt(tall):
    if tall < 0:
        return tall * -1
    else:
        return tall
         
#Alternativ 2
import math
def absolutt(tall):
    return abs(tall)

Oppgave 5 - Minste tall

Code Block
languagepython
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 minsteTall(numberList):
    #Definerer det første elementet som det minste til å beynnge med
    minNumber = numberList[0]
    minIndex = 0
    for index, number in enumerate(numberList):
        if number < minNumber:
            minNumber = number
            minIndex = index
    return minIndex

Oppgave 7 - Negative tall i tabell

Code Block
languagepython
def negativTabell(numberList):
    for number in numberList:
        if number < 0:
            return true
    return false

Oppgave 8 - 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 9 - 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 10 - Den lille multiplikasjonstabellen

Code Block
languagepython
# Vi definerer det laveste og stoerste tallet vi vil inkludere i gangetabellen
# fordi funksjonen vaer tar inn min og max kan vi ikke bruke iterasjonsvariablene
# i og j som indekser i svar-listen (ans) da i trolig ikke vil starte som 0
def gangetabell(min, max):
	# tom liste vi legger til radene i
    ans = []  
    for i in range(min, max+1):
        temp = [] # midlertidig liste som vi bruker til mellomlagring
        for j in range(min, max+1):
            temp.append(i*j)
        ans.append(temp)
    return ans
print(gangetabell(1,10))

Oppgave 11 - Funksjonskall i funksjon

Code Block
languagepython
from random import randint
def lagVerb():
    verb = ['går','spiser','tuller','hopper','leker']
    #henter ut et tilfeldig verb fra listen
    return verb[randint(0,len(verb)-1)]
def lagNavn():
    navn = ['Martin','Lise','Bob','Max','Balle']
    #henter ut et tilfeldig navn fra listen
    return navn[randint(0,len(navn)-1)]
def lagAdverb():
    adverb = ['fort','sakte','rart','teit','glimrende']
    #henter ut et tilfeldig adverb fra listen
    return adverb[randint(0,len(adverb)-1)]
def lagSetning():
    return lagNavn() + ' ' + lagVerb() + ' ' + lagAdverb()
i = 0
while i < 10:
    print(lagSetning())
    i += 1

Oppgave 12 - Lotto

Code Block
languagepython
import random
def lotto():
    return [random.randint(1,34) for i in range(7)] 
    
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,'is the smallest number whose sum of preceeding numbers and itself is larger than 500'

Oppgave 14 - Vårt første lille program

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 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)

# d)
# Areal: 50.27