Hoppa till innehållet
Teknik · Årskurs 1 · Algoritmer och Logiskt Tänkande · Hösttermin

Loopar i blockprogrammering

Eleverna utforskar hur repetitioner (loopar) kan användas för att effektivisera programmeringen i en blockbaserad miljö (t.ex. Scratch).

Skolverket KursplanerLgr22: Teknik 4-6 - Kontrollstrukturer i algoritmerLgr22: Teknik 4-6 - Hur algoritmer kan skapas och användas

Om detta ämne

Loopar i blockprogrammering lär eleverna att använda repetitioner för att effektivisera algoritmer i miljöer som Scratch. Istället för att kopiera samma block flera gånger anger eleverna antal repetitioner i ett loop-block, vilket minskar kodens längd och gör den lättare att ändra. Eleverna övar på att få en karaktär att upprepa rörelser, som att gå i cirkel eller utföra danssteg, och jämför detta med manuella upprepningar.

Ämnet anknyter till Lgr22:s mål om kontrollstrukturer i algoritmer och skapande av algoritmer inom Teknik 4-6, men anpassas för årskurs 1 genom enkla, lekfulla uppgifter. Det bygger logiskt tänkande och förståelse för hur algoritmer optimeras, en grund för vidare programmering.

Aktivt lärande gynnar detta ämne särskilt väl, eftersom eleverna omedelbart ser effekterna av loopar på skärmen. Genom experiment i par eller små grupper, där de testar, ändrar och felsöker, blir abstrakta idéer om repetition konkreta och engagerande. Detta stärker problemlösningsförmågan på ett naturligt sätt.

Nyckelfrågor

  1. Förklara hur en loop kan minska antalet kommandon som behövs för en upprepad rörelse eller handling.
  2. Designa en algoritm som använder en loop för att få en karaktär att utföra en upprepad uppgift.
  3. Jämför effektiviteten mellan att skriva ut varje steg och att använda en loop i ett program.

Lärandemål

  • Förklara hur en loop minskar antalet kommandon för en upprepad rörelse i blockprogrammering.
  • Designa en enkel algoritm med en loop för att få en sprite att utföra en upprepad uppgift.
  • Jämföra och beskriva skillnaden i effektivitet mellan att använda en loop och att upprepa kommandon manuellt i ett program.
  • Identifiera situationer i ett givet blockprogram där en loop skulle kunna användas för att effektivisera koden.

Innan du börjar

Grundläggande blockprogrammering

Varför: Eleverna behöver känna till hur man drar och släpper block, samt hur man skapar enkla sekvenser av kommandon för att kunna introduceras till loopar.

Sekvenser i programmering

Varför: Förståelsen för att kommandon utförs i en bestämd ordning är grundläggande innan man kan introducera kontrollstrukturer som loopar.

Nyckelbegrepp

LoopEtt kommando i programmering som gör att en sekvens av instruktioner upprepas ett visst antal gånger.
RepetitionAtt göra samma sak om och om igen. I programmering kan detta göras med hjälp av loopar.
KommandoEn enskild instruktion som en dator eller ett program kan utföra, till exempel 'gå framåt' eller 'sväng vänster'.
AlgoritmEn steg-för-steg-instruktion för hur man löser ett problem eller utför en uppgift. I programmering är det koden som skapas.

Se upp för dessa missuppfattningar

Vanlig missuppfattningLoopar körs alltid oändligt.

Vad man ska lära ut istället

Förklara att elever anger ett fast antal repetitioner i loop-blocket. Aktiva tester i Scratch visar direkt när loopen slutar, och parvis diskussion hjälper elever jämföra förväntningar med verkligheten.

Vanlig missuppfattningLoopar sparar inte tid i koden.

Vad man ska lära ut istället

Jämför visuellt antal block före och efter. Smågruppsaktiviteter där elever räknar och bygger båda varianterna gör skillnaden tydlig och motiverar användning av loopar.

Vanlig missuppfattningLoopar fungerar bara för exakt samma rörelse.

Vad man ska lära ut istället

Visa variationer inom loopen med villkor. Experiment i stationer låter elever upptäcka detta själva genom trial-and-error, vilket stärker förståelsen.

Idéer för aktivt lärande

Se alla aktiviteter

Kopplingar till Verkligheten

  • En robotarm på en fabrik som ska montera en produkt upprepar samma rörelser många gånger. Programmeraren använder loopar för att tala om för roboten hur många gånger den ska upprepa varje moment, istället för att skriva ut varje enskild rörelse separat.
  • I ett datorspel där en karaktär ska gå en viss sträcka, till exempel hoppa över hinder upprepade gånger, används loopar för att få karaktären att utföra dessa rörelser utan att programmeraren behöver skriva ut varje enskilt hopp.

Bedömningsidéer

Snabbkontroll

Visa eleverna två kodsnuttar: en som använder en loop för att få en figur att gå runt i en cirkel, och en annan som upprepar 'gå framåt' och 'sväng' många gånger utan loop. Fråga: 'Vilken kod är kortast och varför? Vilken kod är lättast att ändra om vi vill att figuren ska gå snabbare?'

Utgångsbiljett

Be eleverna rita en bild av en figur som gör en upprepad rörelse (t.ex. dansar, hoppar). Under bilden skriver de en mening om hur de skulle kunna använda en loop i programmering för att få figuren att göra samma sak om och om igen.

Diskussionsfråga

Starta en diskussion genom att fråga: 'Tänk er att ni ska bygga en robot som ska klappa händerna 10 gånger. Hur skulle ni programmera den? Skulle ni skriva 'klappa' tio gånger, eller finns det ett smartare sätt? Vad kallas det smarta sättet?'

Vanliga frågor

Hur förklarar man loopar för årskurs 1?
Använd vardagsexempel som 'upprepa handen i fickan fem gånger'. I Scratch koppla till att spara block som leksaker i en låda. Praktiska byggen med karaktärer som dansar visar hur loopen minskar arbete, och elevernas egna skapanden befäster begreppet på 10-15 minuter.
Hur kan aktivt lärande hjälpa elever förstå loopar?
Aktivt lärande aktiverar elever genom direkta experiment i blockprogrammering. De bygger, testar och itererar loopar i par, ser omedelbara resultat och felsöker tillsammans. Detta gör repetition greppbart, jämfört med passiv förklaring, och utvecklar uthållighet i problemlösning. Gruppdiskussioner förstärker varför loopar effektiviserar.
Vilka Scratch-exempel passar för loopar?
Börja med enkla: upprepa rörelse som 'gå 10 steg framåt', måla former som cirkel eller stjärna, eller ljudsekvenser. Utöka till loop inom loop för mönster. Använd Scratch Jr för yngre elever. Uppmuntra elever att anpassa till egna idéer som djur som springer runt.
Hur kopplar detta till Lgr22?
Ämnet täcker Tekniks mål om kontrollstrukturer och algoritmer. Elever skapar och jämför algoritmer, vilket bygger logiskt tänkande. Dokumentera elevernas program som bedömningsunderlag för progression mot högre årskursers krav på sekvenser och villkor.

Planeringsmallar för Teknik