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:

  1. Fyll vatten i kaffebryggaren.
  2. Lägg i ett kaffefilter.
  3. Tillsätt kaffe i filtret.
  4. Starta bryggaren.
  5. Vänta tills det är klart.
  6. 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

  1. Läs in ett tal.
  2. Dela talet med 2.
  3. Om resten är 0, skriv Jämnt.
  4. 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:

  1. Läs in personens ålder.
  2. Om åldern är under 18, skriv Du får rabatt.
  3. 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

  1. Skriv en algoritm i textform som beskriver hur du gör dig redo för skolan.
  2. Skriv pseudokod som beräknar medelvärdet av tre tal.
  3. 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?

Tillbaka till Kapitel 2