Programmering nivå 2
Kap 2.1 – Vad är en algoritm?
Lär dig beskriva problem som tydliga steg innan du skriver kod.
Mål med lektionen
När du har arbetat klart med denna lektion ska du:
- Förstå vad en algoritm är och varför den är viktig i programmering.
- Känna till olika typer av algoritmer och hur de används.
- Kunna beskriva en enkel algoritm i både text och flödesform.
- Använda algoritmer för att lösa vardagliga och programmeringstekniska problem.
Så här lär du dig bäst
Tänk inte på algoritmer som något avancerat. De är instruktioner för att lösa ett problem steg för steg. Börja med vardagliga exempel, försök sedan översätta dem till kod eller pseudokod. Träna på att se mönster och dela upp problem i mindre delar.
Vad är en algoritm?
En algoritm är en väldefinierad sekvens av steg som löser ett problem eller utför en uppgift. Det är grunden i varje program, oavsett om du vill sortera tal, beräkna en rabatt eller kontrollera ett lösenord.
Exempel: algoritm i vardagen
Algoritm för att koka kaffe:
- Fyll vatten i kaffebryggaren.
- Lägg i ett kaffefilter.
- Tillsätt kaffe i filtret.
- Starta bryggaren.
- Vänta tills det är klart.
- Servera.
Detta är en algoritm eftersom stegen är tydliga och leder fram till ett resultat.
Algoritmer i programmering
När du programmerar skapar du algoritmer i form av kod. Innan du skriver koden kan du beskriva lösningen i text eller pseudokod.
Algoritm för att kontrollera om ett tal är jämnt
- Läs in ett tal.
- Dela talet med 2.
- Om resten är 0, skriv
Jämnt. - Annars, skriv
Udda.
I pseudokod:
INPUT number
IF number MOD 2 == 0 THEN
PRINT "Even"
ELSE
PRINT "Odd"
Olika typer av algoritmer
I programmering finns många typer av algoritmer. Här är några du kommer att stöta på:
- Beslutsalgoritmer: till exempel kontrollera om ett lösenord är korrekt.
- Beräkningsalgoritmer: till exempel räkna ut ett medelvärde.
- Sökningsalgoritmer: till exempel hitta ett namn i en lista.
- Sorteringsalgoritmer: till exempel sortera en lista i stigande ordning.
- Repetitiva algoritmer: till exempel upprepa en kontroll tills ett villkor uppfylls.
Från problem till lösning
Problem: Kontrollera om en person är berättigad till ungdomsrabatt.
Algoritm i text:
- Läs in personens ålder.
- Om åldern är under 18, skriv
Du får rabatt. - Annars, skriv
Du får ingen rabatt.
I pseudokod:
INPUT age
IF age < 18 THEN
PRINT "You get a discount"
ELSE
PRINT "No discount"
Senare i kursen kommer du att översätta sådana algoritmer till Python eller C#.
Öva själv
- Skriv en algoritm i textform som beskriver hur du gör dig redo för skolan.
- Skriv pseudokod som beräknar medelvärdet av tre tal.
- Skapa ett flödesschema som visar en algoritm för att kontrollera lösenord.
Reflektion
- Hur skiljer sig en algoritm från färdig kod?
- Hur hjälper det dig att skriva algoritmen först, innan du börjar programmera?
- Vilken typ av algoritm tycker du verkar mest användbar?