Tänk datalogiskt

Robots03 01

Att tänka datalogiskt betyder att kunna tänka på ett sätt som en dator förstår.

Varför behöver vi kunna det? En dator kan vara supersnabb på att göra saker åt oss, men den är inte så bra på att tänka själv. Därför måste vi människor kunna ge instruktioner till datorn och säga åt den exakt vad den ska göra. Det kanske låter svårt men det blir enklare med ett exempel:

Du har en robot som du ska lära att laga pannkakor. Roboten har ingen aning om hur den ska laga pannkakor innan du säger åt den vad den ska göra. Du kan inte bara säga: “Laga pannkakor till mig!”. Du måste bryta ned uppgiften att laga pannkakor i mindre delar och ge instruktioner för varje liten del till roboten.

Robots01 01

Instruktionerna du ger måste vara exakta och noggranna. Du måste ge roboten all information den behöver och i rätt ordning, annars kan det bli fel!Robots04 01

För att laga pannkakor ger du följande instruktioner till roboten:

  1. Ta fram en skål. Du kan behöva berätta vad en skål är och var den finns.
  2. Lägg följande ingredienser i skålen:
    3 ägg som du först knäcker, sedan lägger du i ägget utan äggskal
    Mjöl, 2,5 dl
    Mjölk, 6 dl
    Salt, 0,5 tsk
    Smör, 3 msk 
    Du behöver visa hur ingredienserna ser ut och var de ska hämtas ifrån, om interoboten vet det redan.
  3. Vispa alla ingredienser i skålen till pannkaksmet. (Hur gör du när du vispar? Vad är smet? Förklara!)
  4. Ta fram en stekpanna.
  5. Sätt stekpannan på spisen och sätt på plattan. (Vilken platta? Samma somstekpannan står på? Hur sätter du på den?)
  6. Vänta tills stekpannan blivit varm.
  7. När stekpannan är varm, häll i pannkaksmet. (Du behöver berätta hur mycket smet du ska ha i.)
  8. Stek tills lagom gräddad. (Vad är lagom gräddad? Det måste du berätta!)
  9. Servera! (Berätta hur roboten ska göra det…)

Nu tänkte vi datalogiskt kring att laga pannkakor. Vi bröt ner uppgiften i mindre delar och förklarade den i rätt ordning så att någon eller någonting som aldrig tidigare har lagat pannkakor ska lyckas göra uppgiften.

Det är samma sak som när du bakar och följer ett recept, men skillnaden är att instruktionen till en dator eller robot måste vara exakt, helt fullständig och i rätt ordning. Inte ens den instruktionen vi har visat här skulle vara tillräcklig för att programmera en riktig robot! Vi har satt några frågor i parenteser eftersom instruktionen inte är fullständig eller exakt. Kan du komma på fler saker som är otydliga?

Child Baking (1)

Att tänka datalogiskt handlar också om att hitta mönster i det du gör, eller det som du vill att en dator ska göra. Säg att du vill förklara hur roboten ska vispa pannkaksmet. Du kan ge en instruktion för hur rörelsen ser ut, att vispa runt i skålen.Men sedan blir det jobbigt om du måste ge samma instruktion, att vispa runt i skålen, många gånger för att smeten ska bli bra. Det är samma rörelse som roboten ska göra om och om igen! Det kan du istället säga till roboten, att den ska göra samma rörelse flera gånger.

Robots02 01

Något som är viktigt för datorer är också påståenden om någonting är sant eller falskt. Till exempel kan det just idag bara vara en veckodag, alltså måndag, tisdag, onsdag, torsdag, fredag, lördag eller söndag. Påståendet “idag är det måndag” kan bara vara sant en dag per vecka, just måndagar. Det kan du använda när du ger instruktioner till datorer, till exempel att om det är måndag ska datorn påminna dig om att gå på simträning. Eller att roboten bara ska göra pannkakor om det är torsdag.

Att fundera på:

  • Finns det något som du gör varje dag och som du kan tänka datalogiskt kring?
  • Kan du komma på något som du kan bryta ned i mindre delar och förklara i rätt ordningsföljd så att en robot kan hjälpa dig?
  • Hur kan du göra en instruktion exakt, fullständig och i rätt ordning? Testa!
Har du kommentarer till materialet på den här sidan? Mejla info@kodcentrum.se