Göm meny
Gäller för: HT22

Algoritmseminarium 2

På algoritmsemiariumet i Tema 5 ska diskutera utbrytning av funktioner.

Komplettering vid frånvaro

Frånvaro från Algoritmseminarie 2 kompletteras genom att du/ni utför uppgiften nedan samt skriver en kort diskussion kring detta. Ta upp samma punkter som skulle tagits upp under seminariet.

Skicka in fungerande versioner av programmen som ni brutit ut kod i, samt diskussionen via Lisam.

Gruppindelning och presentationstider

  • Gruppindelning enligt registrering i Webreg.
  • Presentationstider hittar du i schemat i TimeEdit.

Anslutningar till projektor/skärm i salar

  • I platta salar/lektionssalar finns anslutning för:
    • Mini display port
    • Displayport
    • USB-C (har man en Mac kan ibland egen adapter vara att föredra, beroende på modell)
    • HDMI
  • I grupprum finns HDMI (och i studenthuset möjlighet till trådlös delning)

Ta med eventuella adaptrar ni behöver för att kunna koppla in er dator/platta/etc. till projektor/skärm.

Uppgift: Bryt ut kod till funktioner

Välj minst en av programmen (draw_square.py/humor.py) att öva på att bryta ut kod ifrån.

Bryt ut minst tre funktioner som anropas med argument. Det går bra att jobba med båda programmen, t.ex. bryta ut en från draw_square.py och två från humor.py. Ni kan bryta ut fler än tre funktioner om ni vill (dessa behöver inte nödvändigtvis anropas med argument)

Målet är att koden med era utbrutna funktioner ska fungera, men om ni inte lyckats, ta fortfarande med koden till seminariet, så kan vi diskutera varför koden inte fungerar.

Att bryta ut kod till en funktion innebär att ni

  1. Hittar ett avsnitt i koden som ni tänker skulle passa bra att bryta ut.
  2. Kopierar koden till en ny funktion. Se till att definera ev. parametrar som behövs, samt returnera ev. värde som det behövs. Anpassa den kopierade koden efter behov.
  3. Ersätt aktuella kodavsnitt med anrop till funktionen med eventuella argument. Vid behov spara eventuellt returvärde i en variabel och använd den där det behövs.

Kodkrav: Koden måste följa PEP8, men PEP257 (docstrings) är frivilligt.

Frivilligt

I de två kodfilerna finns kommentarer och utskrifter som berör tänkta förbättringar till “nästa version”. Skriv gärna nästa version av programmen. Försök även bryta ut funktionalitet till funktioner när ni gör detta.

Eftersom vi gör denna övning i just övningssyfte struntar vi i om det faktiskt blir färre rader kod pga de utbrutna funktionerna. Målet är att öva på att bryta ut funktioner i första hand och att göra koden mer läsbar i andra hand.

På seminariet

Förbered er inför seminariet så att ni kan visa er kod (före och efter) och berätta varför ni valde att bryta ut just de kodavsnitt som ni bröt ut. Gå också igenom punkterna nedan och relatera dem till era utbrutna funktioner:

  • Namngivning: Hur hittar vi bra namn till funktioner som vi bryter ut
  • Argument: Vilka argument behöver vi skicka till funktionen för att den ska kunna utföra sin uppgift?
  • Returvärden: Vad behöver funktionen returnera för att kunna användas?
  • Ersättning av ursprunglig kod med funktionsanrop: Hur används den utbrutna funktionen i den ursprungliga koden?

Berätta om ni stötte på problem när ni skulle bryta ut funktionen och om ni valde mellan olika alternativa lösningar.


Sidansvarig: Jody Foo
Senast uppdaterad: 2022-11-14