Variabler, invärden och utvärden

En variabel kan liknas vid en låda där du lägger in saker. I variabeln lägger du ett värde, till exempel en siffra. Du kan ta bort eller lägga till värde, så att variabeln ökar eller minskar. Precis som att du kan ta ur eller lägga i fler saker i en låda.

Men en variabel kan också innehålla annat än siffror. En variabel kan till exempel innehålla ord, namn, platser, datum – all sorts information som en dator eller robot kan behöva hålla reda på!

Vi tar exemplet med en robot som ska laga pannkakor. Om du vill att pannkaksroboten ska kunna göra olika antal pannkakor beroende på vem som ska äta, och hur hungrig den är, kan du använda variabler. Om du själv använder roboten kanske du sätter variabeln till 4 men när din väldigt hungriga kompis använder roboten ska variabeln vara 10. Variabeln kan ändra värde!

När roboten ska hålla koll på hur många pannkakor den har lagat så använder den också variabeln. Den räknar antalet pannkakor den lagat: varje gång den gjort en pannkaka lägger den till +1 på variabeln:

En variabel kan alltså ändra värde. Variabeln kan ha ett värde som den startar med, invärde, och ett annat utvärde som blir resultatet efter att programmet körts klart.

Innan roboten börjat laga pannkakor är invärdet på variabeln 0. För varje pannkaka som lagas lägger roboten på + 1 på variabeln ovan. Så när roboten lagat klart kan variabeln till exempel ha utvärde 4. Det är bra att roboten kan hålla koll på hur många pannkakor den lagar så att du slipper!

Variabler behöver som sagt inte bara vara siffror. De kan lika gärna vara ord som “Hund” eller ett namn som “Anna”. Det kan vara till exempel variabler som pannkaksroboten kan använda för att hålla reda på hur många pannkakor Anna och hunden vill ha:

Då räknar roboten ut att hunden vill ha 9 pannkakor totalt. Man kan alltså använda variabler för att göra nya variabler!

Fundera på:

  • Finns det någonting som du gör dagligen som skulle behöva programmeras med variabler ifall du var en robot? 

  • Kan du komma på något som du skulle vilja programmera en robot eller en dator till att göra med hjälp av variabler?