Teknik 2 · Kapitel 9
Programmering för problemlösning
Från ett tydligt problem till instruktioner som datorn kan utföra.
Lektionsmål
Efter kapitlet ska du kunna...
- förklara hur programmering används för problemlösning
- beskriva programmeringsprocessens fem steg
- förklara variabler, villkor, loopar och funktioner
- resonera om testning, automatisering och kodkvalitet
Startfråga
Vad behöver datorn veta?
Uppgift: räkna ut medelvärdet av tre tal.
- Vilka tal ska användas?
- Vilka beräkningar ska göras?
- Vad ska visas för användaren?
- Vad händer om inmatningen är fel?
Programmering kräver att problemet uttrycks exakt.
Begrepp
Vad är programmering?
Att skriva instruktioner som en dator kan följa.
Instruktionerna skrivs i programmeringsspråk som Python, JavaScript eller C#.
Datorn följer instruktionerna snabbt och noggrant – även när instruktionerna är fel.
Problemlösningsverktyg
Koden är inte målet
Programmering kan användas för att:
Målet är en fungerande lösning på ett verkligt problem.
Helhetsbild
Programmeringsprocessen
Nya testresultat kan skicka oss tillbaka till ett tidigare steg.
Steg 1
Förstå problemet
- Vad ska programmet göra?
- Vilken indata behövs?
- Vilken utdata ska skapas?
- Hur ska programmet användas?
- Vilka fel behöver hanteras?
Indata · bearbetning · utdata
Beskriv lösningens flöde
En tydlig modell gör det lättare att kontrollera om programmet löser rätt problem.
Steg 2
Planera lösningen
- Läs in talen.
- Räkna ut summan.
- Dela summan med antalet tal.
- Visa resultatet.
Pseudokod och flödesscheman hjälper oss att tänka igenom logiken innan syntaxen tar plats.
Pseudokod
Planen utan programspråk
LÄS IN tre tal
summa = tal 1 + tal 2 + tal 3
medelvärde = summa / 3
VISA medelvärde
Pseudokoden beskriver logiken men behöver inte följa ett programspråks exakta regler.
Steg 3
Skriv kod
tal = [5, 8, 11]
summa = sum(tal)
medelvarde = summa / len(tal)
print(medelvarde)
Resultat: 8.0
Koden är en möjlig implementation av planen – inte själva planen.
Fyra byggstenar
Så uttrycks lösningen
| Variabel | Lagrar information. | poang = 10 |
|---|---|---|
| Villkor | Väljer mellan alternativ. | if poang > 5 |
| Loop | Upprepar en instruktion. | for tal in lista |
| Funktion | Samlar kod för en uppgift. | berakna_summa() |
Variabler
Ge information ett namn
namn = "Anna"
poang = 120
aktiv = True
Variabelnamnet ska hjälpa läsaren att förstå vad värdet betyder.
x = 120 fungerar för datorn, men poang = 120 är tydligare för människor.
Villkor
Låt programmet välja
if alder >= 18:
print("Myndig")
else:
print("Inte myndig")
Villkoret kontrolleras. Endast den gren som stämmer körs.
Loopar
Upprepa utan kopiering
for namn in ["Anna", "Erik", "Lisa"]:
print(namn)
Samma instruktion körs en gång för varje namn.
Loopar är användbara när antalet värden kan förändras.
Funktioner
Samla en tydlig uppgift
def medelvarde(tal):
return sum(tal) / len(tal)
resultat = medelvarde([5, 8, 11])
Funktionen kan återanvändas med andra listor och testas separat.
Interaktivt exempel
Beräkna medelvärde
Tryck på Beräkna.
Steg 4
Testa programmet
| Testfall | Vad kontrolleras? |
|---|---|
5, 8, 11 | Vanliga giltiga värden |
0, 0, 0 | Nollvärden |
-5, 5 | Negativa tal |
fem, 8 | Felaktig inmatning |
| tomt | Saknad inmatning |
Kontrollfråga
Vilket test saknas?
Ett program som räknar med tal har bara testats med 2, 4 och 6.