Skip to content

Villkor och val i programmeringAktiviteter & undervisningsstrategier

Aktivt arbete med villkor i programmering hjälper eleverna att se direkt hur logik styr programflödet. Genom att testa koden med olika värden och diskutera resultatet i klassen blir programmeringens abstrakta beslut konkret och begriplig.

Årskurs 8Matematikens mönster och samband4 aktiviteter20 min45 min

Lärandemål

  1. 1Förklara hur villkorssatser (if, if-else) styr programmets exekveringsflöde baserat på logiska uttryck.
  2. 2Jämföra funktionaliteten och användningsområdena för en if-sats kontra en if-else-sats i programmering.
  3. 3Designa och implementera ett program som använder villkorssatser för att fatta beslut, till exempel avgöra om ett tal är jämnt eller udda.
  4. 4Analysera och modifiera befintlig kod för att inkludera villkorlig logik för att lösa ett givet problem.

Vill du en komplett lektionsplan med dessa mål? Skapa ett uppdrag

Parprogrammering: Jämnt eller udda

Dela in elever i par där en skriver kod för att kontrollera om ett inmatat tal är jämnt eller udda med if-else. Den andra testar med olika tal och noterar resultat. Byt roller efter 10 minuter och jämför kod.

Förberedelse & detaljer

Förklara hur villkorssatser styr programmets flöde.

Handledningstips: När eleverna skriver egna valprogram, be dem dokumentera sina tester med värden och förväntade utfall i ett separat dokument.

Setup: Gruppbord med material för den aktuella uppgiften

Materials: Problembeskrivning/uppgiftspaket, Rollkort (samtalsledare, sekreterare, tidtagare, rapportör), Protokoll för problemlösningsprocessen, Matris för utvärdering av lösningar

TillämpaAnalyseraUtvärderaSkapaRelationsförmågaBeslutsfattandeSjälvreglering
45 min·Smågrupper

Stationer: Villkorsutmaningar

Sätt upp tre stationer med uppgifter: 1) If-sats för positiv/negativ, 2) If-else för årstid baserat på månad, 3) Nestad if för betygsskala. Grupper roterar och bygger på varandras kod.

Förberedelse & detaljer

Jämför en if-sats med en if-else-sats.

Setup: Gruppbord med material för den aktuella uppgiften

Materials: Problembeskrivning/uppgiftspaket, Rollkort (samtalsledare, sekreterare, tidtagare, rapportör), Protokoll för problemlösningsprocessen, Matris för utvärdering av lösningar

TillämpaAnalyseraUtvärderaSkapaRelationsförmågaBeslutsfattandeSjälvreglering
25 min·Hela klassen

Helklass: Debugga beslut

Visa ett felaktigt program med villkor på projektor. Elever föreslår stegvis ändringar i helklass, kör simuleringar och röstar på bästa lösning. Avsluta med egna varianter.

Förberedelse & detaljer

Designa ett program som avgör om ett tal är jämnt eller udda.

Setup: Gruppbord med material för den aktuella uppgiften

Materials: Problembeskrivning/uppgiftspaket, Rollkort (samtalsledare, sekreterare, tidtagare, rapportör), Protokoll för problemlösningsprocessen, Matris för utvärdering av lösningar

TillämpaAnalyseraUtvärderaSkapaRelationsförmågaBeslutsfattandeSjälvreglering
20 min·Individuellt

Individuell: Valprogram

Elever skapar ett program som frågar om favoritfärg och ger svar med if-else. Testa mot kompisar och förbättra baserat på feedback.

Förberedelse & detaljer

Förklara hur villkorssatser styr programmets flöde.

Setup: Gruppbord med material för den aktuella uppgiften

Materials: Problembeskrivning/uppgiftspaket, Rollkort (samtalsledare, sekreterare, tidtagare, rapportör), Protokoll för problemlösningsprocessen, Matris för utvärdering av lösningar

TillämpaAnalyseraUtvärderaSkapaRelationsförmågaBeslutsfattandeSjälvreglering

Att undervisa detta ämne

Lärande sker bäst när eleverna får testa villkor med egna ögon och diskutera sina iakttagelser. Undvik att bara förklara if-else teoretiskt, utan låt eleverna upptäcka skillnaden genom att köra kod med olika indata. Uppmuntra eleverna att ställa frågor som 'Vad händer om vi ändrar villkoret?' för att fördjupa förståelsen.

Vad du kan förvänta dig

Eleverna kan förklara skillnaden mellan if och if-else genom konkreta exempel, identifiera när endast en gren exekveras och motivera valet av villkorssats i en given situation. De använder modulo och jämförelseoperatorer korrekt i praktiken.

De här aktiviteterna är en startpunkt. Det fullständiga uppdraget är upplevelsen.

  • Komplett handledningsmanuskript med lärardialoger
  • Utskriftsklart elevmaterial, redo för klassrummet
  • Differentieringsstrategier för varje typ av elev
Skapa ett uppdrag

Se upp för dessa missuppfattningar

Vanlig missuppfattningDuring Parprogrammering: Jämnt eller udda, se upp för att eleverna tror att if-satsen alltid körs oavsett villkor.

Vad man ska lära ut istället

Ge dem specifika testfall att köra, t.ex. talet 5 och 4, och be dem förutspå och observera vilken gren som exekveras. Diskutera sedan gemensamt varför vissa tal hoppar över if-blocket.

Vanlig missuppfattningDuring Stationer: Villkorsutmaningar, se upp för att eleverna tror att både if- och else-del körs i en if-else-sats.

Vad man ska lära ut istället

Låt eleverna spåra exekveringen med en penna och papper genom att markera vilken rad som körs för olika indata. Uppmuntra dem att jämföra resultaten och diskutera varför bara en gren kan exekveras åt gången.

Vanlig missuppfattningDuring Helklass: Debugga beslut, se upp för att eleverna tror att villkor måste vara exakt lika för att fungera.

Vad man ska lära ut istället

Ge dem gränsfall att testa, som talet 0 eller negativa tal, och låt dem upptäcka att jämförelseoperatorer som >= eller != hanterar variationer korrekt. Diskutera sedan hur logiska operatorer utökar möjligheterna.

Bedömningsidéer

Utgångsbiljett

Efter Parprogrammering: Jämnt eller udda, ge eleverna en kort kodsnutt med en if-sats och be dem skriva ner vad som skrivs ut om variabeln 'tal' är 15. Ställ sedan följdfrågan: Hur skulle du ändra koden för att även skriva ut 'Försök igen' om talet är mindre än 5?

Diskussionsfråga

Under Stationer: Villkorsutmaningar, ställ frågan: 'När skulle du välja att använda enbart en if-sats istället för en if-else-sats?' Låt eleverna diskutera i par och sedan dela sina tankar med klassen, med fokus på scenarier där det bara finns ett möjligt utfall att agera på.

Snabbkontroll

Under Helklass: Debugga beslut, visa en enkel algoritm i pseudokod för att avgöra om ett tal är positivt, negativt eller noll. Be eleverna identifiera villkoret som avgör utfallet och förklara kortfattat hur programmet skulle agera om talet var -3.

Fördjupning & stöd

  • Utmana eleverna att skriva en valprogram som avgör om en inmatad sträng är ett palindrom, med två olika metoder för jämförelse.
  • För elever som kämpar, ge dem en färdig mall med if-else som de kan fylla i med egna villkor och utskrifter.
  • Låt eleverna undersöka hur villkorssatser kan kombineras med loopar för att skapa mer komplexa beslut, t.ex. en gissningslek.

Nyckelbegrepp

VillkorssatsEn programmeringskonstruktion som tillåter ett program att utföra olika handlingar beroende på om ett visst villkor är sant eller falskt.
If-satsEn villkorssats som endast exekverar en kodblock om det angivna villkoret är sant. Om villkoret är falskt hoppas kodblocket över.
If-else-satsEn villkorssats som exekverar ett kodblock om villkoret är sant, och ett annat kodblock om villkoret är falskt.
Logiskt uttryckEtt uttryck som utvärderas till antingen sant (true) eller falskt (false), och som används för att styra villkorssatser.
Modulo-operatorn (%)En operator som ger resten vid heltalsdivision. Används ofta för att avgöra om ett tal är jämnt eller udda.

Redo att undervisa Villkor och val i programmering?

Skapa ett komplett uppdrag med allt du behöver

Skapa ett uppdrag