Kap 1.7
Flödesscheman och pseudokod
Vi planerar programflödet innan vi fastnar i exakt Python-syntax.
Mål
Efter lektionen ska du kunna...
- beskriva programflöde med flödesschema
- skriva pseudokod för en enkel lösning
- förklara vad ett användningsfall beskriver
- använda planering för att hitta logiska fel tidigt
Fokus
Tänk först, koda sedan
Vad ska programmet göra?
I vilken ordning ska saker hända?
Var finns beslut och alternativa vägar?
Vilka värden behöver programmet läsa in eller skriva ut?
Flödesschema
En visuell modell av programmet
Flödesschemat visar steg för steg hur programmet rör sig.
Det visar beslut med olika vägar.
Det går att förstå utan att kunna Python.
Symboler
Vanliga delar
Oval: start eller slut
Rektangel: något programmet gör
Diamant: beslut eller villkor
Pil: nästa steg i flödet
Exempel
Kontrollera jämnt tal
Start
Läs in tal
Är talet delbart med 2?
Ja → skriv "Jämnt"
Nej → skriv "Udda"
Slut
Samma exempel
Flödesschema
Pseudokod
Kodliknande planering
Pseudokod beskriver logiken med ord.
Den behöver inte följa exakt Python-syntax.
Den ska vara tydlig nog att översätta till kod.
Exempel
Pseudokod för jämnt tal
Börja
Läs in ett heltal
Om talet är jämnt
Skriv "Jämnt tal"
Annars
Skriv "Udda tal"
Slut
Mer formellt
Samma logik på engelska
BEGIN
INPUT number
IF number MOD 2 == 0 THEN
PRINT "Even"
ELSE
PRINT "Odd"
END
Språket kan variera. Strukturen är det viktiga.
Jämförelse
Flödesschema eller pseudokod?
- flödesschema: bra när du vill se vägar och beslut
- pseudokod: bra när du vill närma dig riktig kod
- båda hjälper dig att planera innan du programmerar
Analys
Användningsfall
Ett användningsfall beskriver vem som använder systemet.
Det beskriver vad personen vill göra.
Det beskriver vilket resultat som ska uppnås.
Exempel
Kursportal
- Elev vill läsa en lektion.
- Elev vill köra ett quiz.
- Systemet ska rätta svar.
- Systemet ska visa resultat eller tips.
Diagram
Användningsfall: kursportal
Quiz använder rättning och resultat. Tips visas som stöd när det behövs.
Diagram
Logga in i en kursportal
Elev använder innehållet. Lärare kan ändra kursinnehåll. Admin kan även hantera användare.
Diagram
Webbutik
Besökaren arbetar med order. Admin kan hantera orderstatus och produkter.
Från behov till lösning
En möjlig arbetsgång
- Analysera behovet.
- Skriv användningsfall.
- Bryt ned problemet.
- Modellera med flödesschema eller pseudokod.
- Skriv kod.
Diagram
Från analys till design
Varför?
Planering sparar tid
- du ser logiska fel tidigare
- du får bättre struktur på koden
- du kan förklara lösningen för andra
- du tränar problemlösning, inte bara syntax
Öva själv 1
Lösenord tills rätt
Rita ett flödesschema.
Programmet frågar efter lösenord.
Om lösenordet är fel frågar programmet igen.
Om lösenordet är rätt skrivs Access granted.
Öva själv 2
Rabattprogram
Skriv pseudokod för ett program som frågar efter pris och ålder.
Under 18 år ger 10 % rabatt.
Över 65 år ger 15 % rabatt.
Programmet skriver ut det nya priset.
Öva själv 3
Från plan till kod
- Gör först flödesschema.
- Skriv sedan pseudokod.
- Skriv sist programmet i Python.
Reflektion
Fundera
- Hjälpte flödesschemat dig att se logiken?
- Hur fungerar pseudokod som bro mellan idé och kod?
- När skulle du använda detta i ett större projekt?
Sammanfattning
Kom ihåg
- Flödesscheman visar programflöde visuellt.
- Pseudokod beskriver logiken utan exakt syntax.
- Användningsfall beskriver aktör, mål och resultat.
- Bra planering gör kodningen enklare.