
Variabler: Fler exempel (programmering)

Uppgradera för mer innehåll
Sant eller falskt? Det finns olika sorters variabler.
Kolla, jag har programmerat om roboten så den kan fråga oss båda vad vi heter. Och hur gamla vi är. Bra va? Få se! Hej Maria ålder 15.
Hej Lina ålder 16. Wow! Roboten vet hur gamla vi är. Kan roboten säga vem av oss som är äldre än den andre? Hmm, då får vi nog koda lite först.
Maria och Lina vill lära roboten att tala om vem av dem som är äldre än den andre. Vi börjar med att titta på pseudokoden. Här matas den första personens namn in och sparas i variabeln namn ett. Och sen matas den första personens ålder in i variabeln ålder 1. Samma sak för den andra personen.
Det blir fyra variabler sammanlagt. Vi kikar in i robotens hjärna och tar en titt på de här variablerna. Här finns en byrå… Vad ligger inuti lådorna? Här har vi namnen: Maria och Lina. Och här borta ligger åldrarna.
Vad kan ligga i lådan med etiketten “ålder 1”? 15! Marias namn och Marias ålder ligger i olika sorters lådor. Det är olika sorter av variabler. Namn är text. Ålder är heltal.
Det är ganska smart, för det tar mycket mindre plats att anteckna en ålder än att anteckna ett helt namn. Så roboten kan använda mindre lådor för talen. Dessutom är heltal och text ganska olika. Roboten kan göra olika saker med dem. Den kan till exempel jämföra Marias och Linas ålder med hjälp av en subtraktion.
Det kan den inte göra med två namn. Så, när vi använder variabler i programmering har vi nytta av att sortera in dem i olika sorter med olika egenskaper. Här finns en till låda: decimaltal! Och här är en speciell sort: pyttesmå lådor, som bara innehåller sant eller falskt. Nu ska vi lära roboten att jämföra Marias och Linas ålder.
I pseudokoden skriver vi “Anteckna” och sen “ålder 1” för att tala om att vi lägger något i lådan med etiketten “ålder 1”. När vi ska tilldela ett värde till en variabel, använder vi likhetstecknet. Vänta nu, likhetstecknet betyder ju att ålder 1 är lika med 15. Ja, i matematik är det så. Vänstra sidan är lika med högra sidan.
Men nu är det programmering och då betyder likhetstecknet istället att vi lägger - tilldelar - variabeln med namnet ålder 1 värdet 15. Vi lägger 15 i lådan. Nu vill vi att roboten ska räkna ut skillnaden mellan Marias och Linas ålder. Då använder vi minus för att få differensen. Vi lägger till den här raden i pseudokoden.
Räknesättet subtraktion med tecknet för minus fungerar precis som i matematiken. Addition, multiplikation och division fungerar också som vi är vana vid. Sista raden i pseudokoden matar ut resultatet. Ett flödesschema över vår pseudokod gör det tydligare. Lägg första namnet i n1.
Det är bra med korta variabelnamn så att vi inte behöver skriva så mycket i vår kod. Lägg första åldern i age1. Lägg andra namnet i n2. Lägg andra åldern i age2. Beräkna skillnaden och kalla den "resultat".
Mata ut resultatet. Ska vi se om det funkar? - Namn? - Maria - Ålder? - 15 Nu är det din tur Lina. - Namn? - Lina - Ålder? - 16 Maria är minus 1 år äldre än Lina. Haha, jag är äldre än dig! Ja, minus 1 år äldre, hahaha!