Välj kapitel {{ courseTrack.signature }} Välj kurs

{{ article.chapterName }}

{{ article.displayTitle }}

Teori

Datorer idag är väldigt kraftfulla och har en enorm bredd av användningsområden, men för att kunna utnyttja den här kraften måste datorn först förstå vad den ska göra. Det går inte att bara säga åt den att lösa ett problem, utan man måste ge tydliga instruktioner som förklarar hur den ska göra. Att formulera sådana instruktioner är att programmera.

Intro algoritmer 1 p.svg
Innan man börjar skriva program är det dock viktigt att komma in i rätt sätt att tänka. Datorer är ganska petiga när det gäller instruktioner, och små fel eller otydligheter kan få programmet att göra helt fel eller kanske inget alls. På den här sidan kommer du därför att få träna på att skriva algoritmer, alltså instruktioner för att lösa ett problem eller utföra en uppgift.

Algoritm

Inom matematik och programmering är en algoritm en serie instruktioner för att uppnå något. I skolan får man t.ex. lära sig en algoritm för addition genom uppställning, och senare pqpq-formeln som är en algoritm för att lösa andragradsekvationer. Algoritmer kan liknas vid recept, där tydliga steg måste utföras i en viss ordning för att det ska bli rätt. Ta t.ex. ett recept på havregrynsgröt.

Blanda 1 dl havregryn med 2 dl vatten och 1 krm salt i en kastrull.
Koka upp blandningen och låt sjuda tills gröten är tillräckligt tjock.

Recept behöver inte vara mer detaljerade än så, men en algoritm är ofta väldigt specifik. Receptet skulle kunna göras mer som en algoritm genom att dela upp stegen så här.

Ställ fram en kastrull.
Häll 2 dl vatten i kastrullen.
Häll 1 dl havregryn i kastrullen.
Häll 1 krm salt i kastrullen.
Blanda innehållet i kastrullen.
Ställ kastrullen på en spis.
Sätt spisens temperatur på medelhög värme.
Vänta tills blandningen kokar.
Sänk temperaturen till låg värme.
Rör om tills gröten når önskad konsistens.
Man kan förfina algoritmen ytterligare genom att dela upp instruktionerna igen. I det här fallet kan det kännas lite onödigt men inom matematik och programmering är det viktigt att alla instruktioner är detaljerade och entydiga.

Exempel

Skriv algoritmen

Verktyg för algoritmer

När man skriver algoritmer måste man ibland ta en mer komplicerad väg genom instruktionerna än att bara gå igenom dem steg för steg. Det kan t.ex. vara så att vissa instruktioner bara ska göras ibland eller att vissa ska upprepas.

Upprepning

Om en algoritm innehåller något som ska göras flera gånger kan man markera upprepningen i instruktionerna istället för att skriva samma sak gång på gång. Ibland kanske man inte ens vet hur många gånger stegen ska upprepas när algoritmen skrivs. Om man t.ex. ska skriva en algoritm för att skala morötter kan man använda något i stil med följande.

Ta fram morötter.
Upprepa för varje morot:
	Skölj av moroten.
	Skär av blasten.
	Skala moroten.

Här ska de indragna instruktionerna, dvs. de som står längre in på raderna, göras för varje morot. Har man t.ex. 1010 morötter kommer alltså rad 33 till 55 upprepas 1010 gånger.

Villkor

Om en algoritm innehåller steg som bara ska göras under vissa omständigheter kan man införa ett villkor. Om man ska ut och cykla behöver man förmodligen inte pumpa däcken varje gång, så en algoritm för förberedelserna skulle kunna se ut på följande sätt.

Ta fram cykeln.
Om det är dåligt med luft i däcken:
	Pumpa däcken.
Sätt dig på cykeln och åk.
Här gör man ett val i rad 22 baserat på hur mycket luft det finns i däcken. Är det för lite luft går man till rad 33 och pumpar dem, annars går man direkt till rad 4.4.

Exempel

Använd algoritmen

Uppgifter