Göm menyn

Seminarium 1 - Introduktion (Experimentering)

Vi fångar upp erfarenheter från första veckans laborationer och lägger grunden för laboration 2 genom att gå igenom många grundbegrepp i programmering i allmänhet: satser, uttryck, datatyper, operatorer, funktioner, argument.

Här visas ett urval av uppgifter som kan förekomma under seminariet. Syftet är att du ska få chansen att förbereda dig på några övningar eller gå tillbaka och repetera övningar i efterhand. Seminarieledarna kommer oftast att lägga in ytterligare uppgifter. Titta gärna på materialet för andra inriktningar om du vill ha fler övningar.

Förberedelser

Följande kapitel i studiematerialet förbereder för laboration 1 och 2, och är även viktiga för det här seminariet:

Följande kapitel i studiematerialet förbereder för laboration 2, men tas inte upp explicit i övningarna för det här seminariet:

Uppgifter

Uppgift: Introduktion till satser och uttryck

Räkna satser och sammansatta uttryck i de kodexempel som seminarieledaren visar upp.

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.
outer(42)

Sidansvarig: Jonas Kvarnström
Senast uppdaterad: 2025-09-09