Algoritmer: Ge datorn instruktioner att följa

En algoritm är en beskrivning av hur man löser ett problem. I programmering använder vi algoritmer för att steg för steg beskriva vad som ska hända i programmet och på så sätt få en tydligare bild av vad vi ska koda. 

Vad är en algoritm?

Programmering handlar om att ge datorn instruktioner på vad den ska göra. En dator kan förstås inte gissa vad den ska göra, därför måste du ange en exakt beskrivning av vad du vill att den ska göra. Du måste även tänka på alla olika scenarion som kan hända i programmet och vad datorn ska göra när de inträffar.

En dator kan förstås inte gissa vad den ska göra, därför måste du ange en exakt beskrivning av vad du vill att den ska göra.

Genom att skapa en algoritm, får vi en tydlig arbetsbeskrivning av hur vi ska lösa ett problem. Ofta finns det inte bara ett svar på hur man löser problemet, tänk därför igenom en extra gång hur du ska lösa problemet och om du har tänkt på allt som kan hända i programmet.

En algoritm är alltså en hög-nivå programmering, det vill säga med hög abstraktion av hur programmet fungerar. Därför fungerar en algoritm helt oberoende av programspråk, eftersom en algoritm är mer en beskrivning av problemet, snarare än riktig kod.  Vid små program är det enkelt att ha sin algoritm i huvudet men allt eftersom programmet blir större och svårigheten och komplexiteten ökar, blir det nästan omöjligt att gå igenom hela algoritmen i huvudet. Börja därför gärna med att skriva upp algoritmen och lösningsgången med papper och penna för att lösa uppgiften.

Algoritmer är:

  • Exakt beskrivning på hur man löser ett problem.
  • Ger en högre abstraktion av problemet utan att använda kod.
  • Är oberoende av programspråk.
  • Beskriver programmet steg för steg.

Beskriv din algoritm med pseudokod

Pseudokod är ett sätt att beskriva en algoritm på utan att använda programmering. Psedokod är alltså inget riktigt programspråk (som exempelvis Python), utan ett sätt att beskriva en algoritm med exempelvis text eller flödesscheman. Vi använder pseudokod för att få en bättre översikt på hur programmet fungerar, vilket underlättar när man vill förklara en algoritm.

Flödesscheman – Beskriv flödet i ditt program

När man skapar algoritmer kan man använda sig av så kallade flödesscheman som hjälper till att visa vilken typ av handling som programmet ska utföra. Vanligtvis använder vi oss av tre symboler som anger olika handlingar:

Beskriv ditt program med algoritmer
  • Start och stopp – Beskriver var algoritmen börjar och slutar.
  • Aktivitet – Visar vilka aktiviteter som utförs i programmet.
  • Beslut – Vad programmet ska göra beroende på vad som händer i programmet. Besvaras med ett sant eller falskt påståeende.

Exempel på en algoritm med pseudokod och flödesschema

Vi ska nu testa att skapa en algoritm med pseudokod och ett flödesschema. Problemet vi ska lösa är en reglering av ett element. Om temperaturen blir lägre än 10 grader, ska elementet sättas på, annars väntar vi i 30 minuter och försöker igen.

Vi börjar med pseudokod:

Samma program kan vi illustrera med ett flödesschema:

Exempel på algoritmer

Vi har nu skapat en algoritm på hur man kan kontrollera ett element. Vi har inte använt någon kod, trots det har vi fått en bra översikt på hur programmet skulle kunna fungera. Detta program skulle nu vara mycket enklare att koda, än om vi bara skulle haft algoritmen i huvudet. Som du förstår blir det viktigare och viktigare att skapa algoritmer, allt eftersom komplexiteten i programmet ökar.

Bakåt    |    Framåt