Göm menyn

Seminarium 6 - En sak i taget

Kapitel som ska ha lästs

Uppgift: Paradigm

Besvara om följande påståenden är sanna eller falska

  1. Dynamisk typning är ett paradigm som Python stödjer
  2. Pythonkod måste kompileras för att köras
  3. Om man programmerar funktionellt kan man ej använda listor då de är objekt
  4. Python stödjer objektiv orientering
  5. I Python kan man ej programmera imperativt
  6. Om man programmerar funktionellt får funktioner inte ha sidoeffekter
  7. Om en funktionellt programmerad funktion tar emot en lista får denna inte ändras, dock kan kopior av listan ändras
  8. print() kan användas i funktionell programmering
  9. range() kan användas i funktionell programmering
  10. Funktionell programmering är generellt snabbare än annan programmering Inom funktionell programmering används ofta rekursion istället för for-loopar. När man programmerar funktionellt måste all kod vara strikt funktionell.

Uppgift: Högre ordningens funktioner, lambdauttryck och listbyggare

Vad printar följande kod?

Uppgift 1: Iterator och index

Givet är tre iterativa funktioner som returnerar samma sak men itererar på olika sätt.

  1. Vad gör funktionerna?
  2. Vad är skillnaden mellan funktionerna? Namnge de metoder funktionerna använder.
  3. Vilken funktion tycker du är lättast att läsa? Vilken borde användas för detta syfte?
  4. Vid vilka tillfällen ska de olika sätten att iterera användas?

Uppgift 2: Iterator och index

Givet ett beteende, vilken iterativ metod bör användas?

  1. Hitta den första förekomsten av ett element i en sekvens och lagra dess index i en variabel.
  2. Returnera antal förekomster av ett element i en sekvens.
  3. Returnera det minsta elementet i en lista.
  4. Så länge ändringar görs ska sekvensen itereras över upprepade gånger. Varje iteration jämför varje element med sin efterföljare. Om efterföljaren är lägre byter de två elementen plats.

Sidansvarig: Peter Dalenius
Senast uppdaterad: 2016-08-17