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

Villkorlig Logik (If/Else)

Eleverna implementerar villkorlig logik för att skapa program som kan fatta beslut baserat på olika förhållanden.

Skolverket KursplanerLgr22: Teknik 7-9 - Att styra tekniska lösningar med programmering

Om detta ämne

Villkorlig logik med if/else är ett grundläggande verktyg i programmering. Eleverna i årskurs 8 lär sig att implementera detta för att skapa program som fattar beslut baserat på olika förhållanden, som användarinput eller sensordata. De utforskar hur if-satsen utför kod om villkoret är sant, medan else-hanterar det motsatta fallet. Detta kopplar direkt till enhetens fokus på algoritmer och logiskt tänkande under höstterminen.

Inom Lgr22 för Teknik 7-9 stärker ämnet förmågan att styra tekniska lösningar med programmering. Eleverna analyserar konsekvenserna av att utelämna ett else-block, som kan leda till oförutsedda beteenden, och designar program som guidar användaren genom val, till exempel ett enkelt äventyrsspel. Det utvecklar kritiskt tänkande kring hur program simulerar mänskliga beslut och bygger systemförståelse.

Aktivt lärande passar utmärkt för villkorlig logik eftersom elever snabbt ser effekterna av sina ändringar i realtid. Genom att para programmera och testa kod iterativt blir abstrakta koncept konkreta, misstag blir lärdomar och eleverna bygger självförtroende i att felsöka och iterera.

Nyckelfrågor

  1. Hur kan villkorlig logik användas för att simulera mänskligt beslutsfattande?
  2. Analysera konsekvenserna av att utelämna ett 'else'-block i ett program.
  3. Designa ett program som använder if/else för att guida en användare genom en serie val.

Lärandemål

  • Skapa ett program som använder if/else-satser för att ge anpassade rekommendationer baserat på användarens input.
  • Analysera hur ändringar i villkorslogiken påverkar programmets utfall i ett givet scenario.
  • Jämföra och kontrastera användningen av if-satsen med if/else-satsen för att lösa specifika programmeringsproblem.
  • Designa ett enkelt textbaserat äventyrsspel där spelarens val styr berättelsens fortsättning med hjälp av villkorlig logik.

Innan du börjar

Grundläggande programmeringskoncept

Varför: Eleverna behöver förstå variabler, datatyper (särskilt strängar och heltal) och grundläggande utskrifter för att kunna arbeta med villkor.

Sekventiell exekvering

Varför: Förståelsen för att kod körs steg för steg är nödvändig för att kunna introducera hur villkorliga satser avviker från detta mönster.

Nyckelbegrepp

Villkorlig logikEn programmeringskonstruktion som tillåter ett program att utföra olika handlingar beroende på om ett visst villkor är sant eller falskt.
If-satsEn programmeringssats som exekverar en kodblock endast om det angivna villkoret är sant.
Else-satsEn programmeringssats som exekverar ett kodblock om if-satsens villkor är falskt.
VillkorEtt uttryck som utvärderas till antingen sant (true) eller falskt (false), och som avgör vilken kod som ska köras.
BooleanEn datatyp som endast kan anta ett av två värden: sant (true) eller falskt (false). Används ofta i villkor.

Se upp för dessa missuppfattningar

Vanlig missuppfattningEtt if-block utan else utförs alltid.

Vad man ska lära ut istället

Programmet hoppar över if-koden om villkoret är falskt, vilket kan lämna användaren utan feedback. Aktiva tester med olika input visar detta tydligt, och parfelsökning hjälper elever att upptäcka luckor i logiken.

Vanlig missuppfattningVillkor utvärderas alltid i samma ordning.

Vad man ska lära ut istället

Nestade if/else följer hierarki, inte sekvens. Genom att bygga och köra flödesscheman i grupper ser elever prioriteringar, vilket korrigerar missförstånd via visuell och praktisk övning.

Vanlig missuppfattningElse utförs alltid om if är falskt, oavsett andra villkor.

Vad man ska lära ut istället

Else hanterar bara det omedelbara fallet. Stegvis kodning och live-exekvering i smågrupper avslöjar detta, elever itererar för att lägga till fler if-satser.

Idéer för aktivt lärande

Se alla aktiviteter

Kopplingar till Verkligheten

  • Beslutsträd inom medicinsk diagnostik använder if/else-logik för att guida läkare genom en serie frågor och symtom för att nå en potentiell diagnos.
  • Spelutvecklare använder villkorlig logik för att skapa interaktiva upplevelser, där karaktärers handlingar och spelets händelser förändras baserat på spelarens val och spelets tillstånd.
  • System för rekommendationer på e-handelsplattformar som Amazon eller streamingtjänster som Netflix använder if/else-liknande logik för att visa produkter eller filmer baserat på tidigare köp och visningshistorik.

Bedömningsidéer

Utgångsbiljett

Ge eleverna ett kort kodavsnitt med en if-sats men utan en else-sats. Fråga dem: 'Vad kommer att hända om villkoret är falskt? Skriv en mening som förklarar och lägg till en else-sats som hanterar det fallet.'

Snabbkontroll

Visa ett enkelt flödesschema för ett beslut. Be eleverna att skriva motsvarande if/else-kod i sin utvecklingsmiljö. Kontrollera sedan att deras kod ger samma utfall som flödesschemat.

Diskussionsfråga

Diskutera med klassen: 'Ge ett exempel på ett program där det skulle vara problematiskt att utelämna en else-sats. Varför är else-satsen viktig i just det fallet?'

Vanliga frågor

Hur introducerar man villkorlig logik i årskurs 8?
Börja med vardagliga exempel som trafikljus eller väderbeslut, visa enkel kod i Scratch. Låt elever para programmera ett grundprogram med if/else för inputval. Koppla till Lgr22 genom att betona styrning av lösningar, följ upp med reflektion kring beslutsträd.
Vilka konsekvenser ger uteblivet else-block?
Utan else ignoreras falska villkor, programmet fortsätter tyst eller kraschar. Elever testar detta i simuleringar och ser hur feedback saknas, vilket leder till bättre design. Dokumentera skillnaden före och efter else för att förstärka lärandet.
Hur kan aktivt lärande stärka förståelsen för if/else?
Aktiva metoder som parprogrammering och live-debugging gör abstrakt logik konkret. Elever ser omedelbara resultat av ändringar, diskuterar grenar i grupper och itererar kod. Detta bygger självständighet och systemsyn, i linje med Lgr22:s fokus på praktisk programmering.
Hur designar elever program med if/else för användarval?
Använd flödesscheman för att mappa valgrenar, koda nestade satser för multipla beslut. Testa med rollspel som input, utvärdera användarvänlighet. Exempel: ett spel där val påverkar utfall, vilket tränar simulering av beslutsfattande.

Planeringsmallar för Teknik