Presentationer Slide 1/1

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

Start

Oval: start eller slut

Instruktion

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

Start Läs in tal Delbart med 2? Ja Jämnt Nej Udda Slut

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

Kursportal för Programmering 2 Elev Admin Läsa lektion Köra quiz Rätta svar Visa resultat Visa tips Hantera frågor Exportera rapporter include include extend

Quiz använder rättning och resultat. Tips visas som stöd när det behövs.

Diagram

Logga in i en kursportal

Kursportal Elev Lärare Admin Logga in Se kursinnehåll Ändra kursinnehåll Hantera användare

Elev använder innehållet. Lärare kan ändra kursinnehåll. Admin kan även hantera användare.

Diagram

Webbutik

Online Store Visitor Admin Place Order Cancel Order Manage Order Change Order Status Update Products

Besökaren arbetar med order. Admin kan hantera orderstatus och produkter.

Från behov till lösning

En möjlig arbetsgång

  1. Analysera behovet.
  2. Skriv användningsfall.
  3. Bryt ned problemet.
  4. Modellera med flödesschema eller pseudokod.
  5. Skriv kod.

Diagram

Från analys till design

Analysera behov
Skapa användningsfall
Bryt ned problemet
Modellera med flödesschema eller pseudokod
Designa lösningen

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

  1. Gör först flödesschema.
  2. Skriv sedan pseudokod.
  3. 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.