Göm menyn

Seminarie 1 - Experimentering

Som första seminarium har detta ett rätt så lågt tempo och endast en uppgift med kodskrivning.

Denna sida visar en del av det som kommer att diskuteras på seminariet. Ofta tar handledarna också upp andra uppgifter som inte behöver något specifikt studentmaterial och då syns dessa uppgifter inte på sidan.

Kapitel som ska ha lästs

Uppgifter

Uppgift: Introduktion till satser och uttryck

Instruktioner

def fibonacci(n):
    if n < 3:
        return n-1
    a = 0
    b = 1

    for i in range(n - 2):
        c = b
        b = a + b
        a = c
    return b
  1. Hur många satser finns det i koden?
  2. Hur många sammansatta uttryck finns det i koden?

Uppgift: Satsanalys

fibonacci

  1. Vad gör funktionen? Vad returnerar den? Vilken indata hanterar funktionen.
  2. Vad används variabeln c till? Föreslå ett bättre namn på variabeln.
  3. Vilken sorts tal är returvärdet? (Heltal eller flyttal).
  4. Vad kommer hända om du ger den ett flyttal?

GCD

gcd står för Greatest Common Denominator (största gemensamma nämnare). Och beräknas på följande vis:

+---
| gcd(a, 0) = a
| gcd(a, b) = gcd(b, a mod b)
+---
  1. Beskriv hur beräkningen går till
  2. Skriv gcd i python-kod
  3. Räkna antalet satser och sammansatta uttryck i din funktion

Uppgift: Variablers synlighet

I följande kod finns en mängd variabler som har olika synlighet. Variablerna skrivs ut av print-satser som är markerade med siffror. Vilka print-satser kommer att fungera och vilka kommer att ge ett felmeddelande? Vad skriver de som fungerar ut?

g = 0
def outer(in1):
    a = "a"
    def inner(in2):
        print(a) # 1.
        c = "c"
        a = "a from inner"
        print(in2) # 2.

    print(c) # 3
    print(a) # 4

    inner("into inner")

    print(c) # 5

    print(a) # 6

    if g == 0:
        d = "g = 0"
    else:
        e = "g != 0"

    print(d) # 7.
    print(e) # 8.

Sidansvarig: Peter Dalenius
Senast uppdaterad: 2021-12-03