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öljande kapitel i studiematerialet förbereder för laboration 1 och 2, och är även viktiga för det här seminariet:
- Första gången med Python
- Tal, sanningsvärden, variabler och funktioner
- Olika sätt att köra program
- Satser och uttryck
- Selektion
Följande kapitel i studiematerialet förbereder för laboration 2, men tas inte upp explicit i övningarna för det här seminariet:
Räkna satser och sammansatta uttryck i de kodexempel som seminarieledaren visar upp.
- Vad gör funktionen? Vad returnerar den? Vilken indata hanterar funktionen.
- Vad används variabeln c till? Föreslå ett bättre namn på variabeln.
- Vilken sorts tal är returvärdet? (Heltal eller flyttal).
- Vad kommer hända om du ger den ett flyttal?
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)
+---
- Beskriv hur beräkningen går till
- Skriv gcd i python-kod
- Räkna antalet satser och sammansatta uttryck i din funktion
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