Programmering nivå 2
Kap 2.5 – Planera program med algoritmtänk
Bryt ner problem i tydliga steg innan du börjar skriva kod.
Mål med lektionen
När du har arbetat klart med denna lektion ska du:
- Förstå vad algoritmtänkande innebär och varför det är en central del av programmering.
- Kunna analysera ett problem och bryta ner det i delmoment.
- Använda verktyg som pseudokod, flödesscheman och strukturerade listor i din planering.
- Kunna välja rätt datastrukturer och kontrollflöden för en lösning.
Så här lär du dig bäst
Välj ett konkret problem innan du börjar koda. Försök lösa det på papper med pseudokod eller flödesschema. Använd begrepp du redan känner till: funktioner, loopar, villkor och listor. Reflektera över alternativa lösningar innan du sätter dig vid datorn.
Vad är algoritmtänkande?
Algoritmtänkande handlar om att kunna:
- se ett problem som en sekvens av logiska steg,
- identifiera mönster, repetitioner och beslutspunkter,
- göra lösningen oberoende av vilket språk du använder.
Exempel: poäng i ett spel
Du vill skapa ett program som hanterar användarens poäng i ett spel. Du kan bryta ner problemet så här:
- Läs in spelarens namn.
- Läs in spelarens poäng.
- Kontrollera om poängen är över 100 och gratulera spelaren.
- Annars, uppmana spelaren att spela igen.
- Spara poängen i en lista.
Pseudokod: struktur innan kod
Pseudokod är ett sätt att skriva programidéer utan att följa exakt syntax. Du fokuserar på vad som ska hända, inte hur det skrivs i ett specifikt språk.
START
Fråga efter namn
Fråga efter poäng
OM poängen > 100
Skriv "Grattis!"
ANNARS
Skriv "Försök igen"
SPARA poängen i en lista
STOPP
Flödesscheman: visualisera logiken
Ett flödesschema gör det enklare att se logiken i ett program. Du använder symboler för att visa start, beslut, process och stopp. Det passar särskilt bra när programmet innehåller flera vägval.
Algoritmisk planering i praktiken
Scenario: Skapa en app där användaren skriver in dagens temperatur och får en rekommendation på klädval.
Analys:
- Programmet behöver input från användaren.
- Programmet behöver beslut beroende på temperaturintervall.
- Programmet behöver skriva ut ett lämpligt klädråd.
Pseudokod:
Läs in temperatur
OM temperatur < 0
Skriv "Ta på vinterjacka"
ELSE IF temperatur < 15
Skriv "Ta på en tröja"
ELSE
Skriv "Ta på t-shirt"
Att välja rätt struktur
När du planerar en algoritm bör du också tänka på:
- Ska jag använda en lista eller en dictionary?
- Behöver jag en loop för att upprepa inmatning?
- Ska jag skapa en funktion eller metod för detta?
Öva själv
- Välj ett vardagsproblem, till exempel planera en måltid eller organisera en packlista, och skriv pseudokod som löser det.
- Skapa ett flödesschema för en meny med tre alternativ.
- Analysera ett tidigare program du skrivit och bryt ner det i tydliga steg.
Reflektion
- Vad fick du syn på i problemet när du ritade flödesschemat?
- Hur förändrades lösningen när du skrev den som pseudokod?
- Hur påverkar tydlig planering kvaliteten på din kod?