Hoppa till innehållet
Skolguiden

Matematik • Åk 6

Programmering och algoritmer

Skolguidens förenklade progression: Bra att börja känna sig säker på

En dator gör precis det du säger, varken mer eller mindre. Här skriver du algoritmer som ritar figurer och räknar, och letar fel i dem – på rutpapper eller i en programmeringsmiljö med block.

Här ser du hur barnet tränar programmering och algoritmer i åk 4–6: att skriva exakta instruktioner som ritar figurer, att använda upprepning och villkor, och att följa en variabel och hitta fel i ett program. Allt går att göra på papper, och den som vill kan använda Scratch utan att skapa konto. Fråga gärna hur barnet tänkte innan ni pratar om svaret.

Till Så kan en vuxen hjälpa

En flicka i elvaårsåldern med ljus hy, rött lockigt hår och en hörapparat bakom örat sitter vid ett köksbord i en grön tröja. Hon läser upp steg från ett rutat papper medan en vuxen bredvid henne ritar med en penna på ett annat papper.

Det här handlar det om

En algoritm är en instruktion i steg som är så exakt att den ger samma resultat vem som än följer den. En dator kan inte gissa vad du menar, så varje steg måste säga precis vad som ska göras. Du kan pröva en algoritm utan dator: låt någon följa den på papper, precis som den står.

När en penna eller en robot ska rita skrivs stegen till exempel "fram 3" (tre rutor eller steg framåt) och "sväng höger 90°". Höger och vänster räknas från pennans eget håll, inte från ditt. "Upprepa 5 gånger: [ … ]" gör stegen inom klamrarna fem gånger. Ritar pennan en sluten figur och slutar åt samma håll som den började, har den svängt ett helt varv, 360°, sammanlagt.

Ett villkor låter programmet välja: "om … annars …". Om villkoret stämmer görs det första, annars det andra. Pröva gärna ett värde precis på gränsen, så att du vet vad programmet gör då.

En variabel är ett namn på ett värde som programmet kommer ihåg och kan ändra, till exempel hur många varv en figur har sprungit. "Sätt varv till 0" ger variabeln ett startvärde, och "ändra varv med 1" gör den 1 större. När du följer ett program steg för steg och skriver upp variabelns värde efter varje steg, hittar du också felen.

Scratch är en gratis programmeringsmiljö där du lägger block i stället för att skriva. Du kan bygga program på scratch.mit.edu utan att logga in – gör det tillsammans med en vuxen. Utan konto går projektet inte att dela, men det går att spara på datorn under Arkiv och Spara till din dator. Lägg aldrig in ditt namn, en bild på dig eller var du bor i ett projekt. Blocken heter till exempel "gå 10 steg", "rotera 90 grader", "repetera", "om … då … annars" och "sätt … till". Blocken som ritar, som "penna ned", finns i tillägget Penna.

Det här kan du öva på att kunna

Du kan träna på att:

  • använda en variabel för ett värde som ändras i ett program
  • följa ett program och skriva upp variabelns värde efter varje steg
  • skriva en algoritm som räknar ut ett medelvärde
  • hitta och rätta fel i en algoritm

Kan du lösa sådana här?

  1. Enkel uppgift

    Följ programmet och skriv upp variablerna efter varje varv: sätt tal till 1, sätt summa till 0, repetera 5 gånger: [ändra summa med tal, ändra tal med 2]. Vad är summa och tal när programmet är klart?

    Tränar: Följa två variabler i ett program

    Visa svar

    summa är 25 och tal är 11. Varv 1: summa 1, tal 3. Varv 2: summa 4, tal 5. Varv 3: summa 9, tal 7. Varv 4: summa 16, tal 9. Varv 5: summa 25, tal 11. Kontrollera: 1 + 3 + 5 + 7 + 9 = 25.

  2. Från vardagen

    Elias gör ett eget spel i Scratch tillsammans med en vuxen. Variabeln poäng börjar på 0. Varje gång katten fångar ett äpple: ändra poäng med 5. Varje gång den nuddar ett moln: ändra poäng med −2. I en omgång fångar katten 7 äpplen och nuddar 3 moln. Vad visar poäng till sist?

    Tränar: Räkna ut värdet på en variabel i ett eget spel

    Visa svar

    29 poäng. Äpplena ger 7 · 5 = 35 och molnen −2 tre gånger, alltså 6 poäng mindre: 35 − 6 = 29. Det spelar ingen roll i vilken ordning det händer, så länge poäng aldrig sätts om till 0 under omgången.

  3. Från vardagen

    Klassen har mätt temperaturen ute samma tid fem dagar: 6, 9, 4, 8 och 3 °C. Skriv en algoritm med variabler som räknar ut medelvärdet, och använd den på mätningarna.

    Tränar: Skriva en algoritm som räknar ut ett medelvärde

    Visa svar

    Till exempel: sätt summa till 0 och antal till 0. För varje mätning: ändra summa med mätningen och ändra antal med 1. Medelvärdet är summa : antal. Med mätningarna blir summa 30 och antal 5, och 30 : 5 = 6 °C. Det går att skriva algoritmen på andra sätt också. Kontrollera: 6 · 5 = 30.

  4. Förklara hur du tänker

    Programmet ska räkna ner från 10 till 1 och sedan säga "Start!": sätt tal till 10, repetera 9 gånger: [säg tal, ändra tal med −1], säg "Start!". Följ programmet. Vad blir fel, och hur rättar du det?

    Tränar: Hitta och rätta ett fel i en algoritm

    Visa svar

    Programmet säger 10, 9, 8, 7, 6, 5, 4, 3, 2 och sedan "Start!" – talet 1 kommer aldrig. Från 10 till 1 är det 10 tal, så upprepningen behöver köras 10 gånger: repetera 10 gånger. Kontrollera genom att skriva upp tal efter varje varv.

  5. Jämför

    Program A: sätt x till 3, repetera 2 gånger: [ändra x med 3, sätt x till x · 2]. Program B: sätt x till 3, repetera 2 gånger: [sätt x till x · 2, ändra x med 3]. Programmen har samma block. Vad är x när varje program är klart?

    Tränar: Jämföra två program med samma block

    Visa svar

    A ger 30 och B ger 21. A, varv 1: 3 + 3 = 6 och 6 · 2 = 12. Varv 2: 12 + 3 = 15 och 15 · 2 = 30. B, varv 1: 3 · 2 = 6 och 6 + 3 = 9. Varv 2: 9 · 2 = 18 och 18 + 3 = 21. Blocken är desamma men står i olika ordning, och i A fördubblas också de 3 som just lagts till.

  6. Öppen fråga – flera svar kan stämma

    Bygg ett eget spel eller program i Scratch tillsammans med en vuxen, utan att logga in, där en variabel räknar något. Lägg inte in ditt namn, en bild på dig eller var du bor.

    Tränar: Använda en variabel i ett eget program

    Visa svar

    Till exempel ett spel där en variabel räknar hur många stjärnor figuren fångar, eller ett program som frågar efter fem tal och räknar ut medelvärdet. Det finns många bra idéer. Pröva programmet och skriv upp variabelns värde för att se att det räknar rätt.

Visa hur man kan tänka

Uppgift:Följ programmet: sätt antal till 0. För varje tal i listan 12, 7, 15, 3, 10: om talet är större än 9, ändra antal med 1. Vad är antal till sist?
  1. 1

    12 är större än 9: antal blir 1.

  2. 2

    7 är inte större än 9: antal är kvar på 1. 15 är större: antal blir 2.

  3. 3

    3 är inte större: antal är kvar på 2. 10 är större än 9: antal blir 3.

  4. 4

    Kontrollera: talen som är större än 9 är 12, 15 och 10 – tre tal.

Svar: antal är 3

Uppgift:Programmet ska räkna ut 1 + 2 + 3 + … + 10, som är 55. Det ger 65. Hitta felet: sätt summa till 0, sätt tal till 1, repetera 10 gånger: [ändra tal med 1, ändra summa med tal].
  1. 1

    Följ de första varven: varv 1 ändrar tal till 2 och lägger till 2. Varv 2 ändrar tal till 3 och lägger till 3.

  2. 2

    Talet 1 läggs aldrig till, och sista varvet lägger till 11. Programmet räknar alltså 2 + 3 + … + 11 = 65.

  3. 3

    Rätta genom att byta ordning på blocken: [ändra summa med tal, ändra tal med 1].

  4. 4

    Kontrollera: nu läggs 1, 2, 3 … 10 till, och summan blir 55.

Svar: Blocken står i fel ordning. Lägg till talet först och öka det sedan

Så tränar du

5 minuter

  • Håll koll på variabeln

    Den ena läser upp ett kort program, till exempel "sätt x till 2, repetera 3 gånger: ändra x med 4". Den andra håller räkningen i huvudet och säger vad x är till sist.

I vardagen

  • Algoritmer omkring oss

    Ett recept, en tvättmaskin och en diskmaskin följer steg i ordning. Leta efter ett villkor i vardagen: när händer något bara om något annat stämmer?

Med papper och penna

  • Rita med gradtal

    Skriv algoritmer med "fram" och "sväng" och rita dem på olinjerat papper med linjal och gradskiva. Pröva olika antal sidor och olika svängar och se vilka figurer som blir slutna.

Tillsammans med en vuxen

  • Robot för en stund

    Barnet skriver en algoritm som ritar en figur, och den vuxna spelar robot och gör precis det som står – inte det barnet menade. Byt roller och försök hitta på en algoritm som är svår att följa rätt.

Så kan en vuxen hjälpa

Försök inte bara fråga: ”Vad blir svaret?” Fråga hellre:

  • ”Vad händer om jag gör precis som det står?”

    Följ barnets algoritm exakt som den står, också när du ser att den leder fel. Då hittar barnet felet själv.

  • ”Hur vet du att den fungerar?”

    Fråga hur barnet prövade algoritmen innan ni pratar om den är rätt.

  • ”Vad händer om vi ändrar det här blocket?”

    Använder ni Scratch, gör det tillsammans och utan att logga in. Titta tillsammans på att inget namn, ingen bild och ingen adress finns med i projektet.

  • ”Var slutade programmet göra det du ville?”

    När ett program blir fel, be barnet hitta steget där det gick snett i stället för att börja om från början.

Det här kan vara klurigt

  • Blandar ihop höger och vänster när pennan pekar nedåt eller åt sidan.

    Så kan du hjälpa: Vrid papperet så att pennan pekar uppåt, eller ställ dig själv åt samma håll som pennan.

  • Glömmer att ge en variabel ett startvärde, så att programmet räknar vidare från förra gången.

    Så kan du hjälpa: Fråga vad variabeln är innan programmet börjar, och låt barnet skriva det överst.

  • Skriver steg som en människa förstår men som inte är exakta, till exempel "gå en bit".

    Så kan du hjälpa: Fråga hur långt "en bit" är. Låt barnet byta ut varje ungefärligt ord mot ett tal.

Nästa steg

Så bygger det vidare

Skolguidens förenklade progression

  1. Programmering och algoritmerDu är här

Bra att kunna först

Fortsätt med

Kopplingen till Lgr22

Skolguidens förklaring

Det här området bygger på det centrala innehållet i matematik för årskurs 4–6 om programmering i visuella programmeringsmiljöer och om hur algoritmer skapas och används när man programmerar.

Visa Skolverkets formulering

Skolverkets text

Matematik, årskurs 4–6

Programmering i visuella programmeringsmiljöer.

Hur algoritmer skapas och används vid programmering.

Källa: Skolverket, Läroplan för grundskolan, förskoleklassen och fritidshemmet (Lgr22)

Senast kontrollerad: 24 oktober 2026

Nya läroplaner införs hösten 2028. Läs mer i Om innehållet.

Exemplen är Skolguidens pedagogiska exempel – inte nationella prov.