Hva er en variabel?
I programmering blir du fort kjent med begrepet variabel. En variabel inneholder en kjent eller ukjent mengde informasjon i form av en verdi.
En variabel endrer seg, det ligger i navnet – den er variabel. Variabelen kan derfor endre verdi, og verdien av variabelen kan for eksempel være tall, tekst eller sann/usann.
Tenk deg at du skal skrive et program hvor du skal finne ut hvor mennesker er bosatt. Du lager et skjema som skal fylles ut og begynner kodingen.
Det ville være tungvint å spørre den som blir spurt om alle byer i Norge, f.eks. bor du i Oslo, bor du i Bergen, bor du i Trondheim osv. gjennom å bruke tester som if-then-else.
Det ville være mer naturlig å ha en variabel som kunne hete by, og hvor du ber brukeren om å skrive inn navnet på byen de bor i. Variabelen by vil deretter få ulike verdier (bynavnene som brukerne har skrevet inn).
På den andre siden kan det skape problemer at brukeren selv skriver inn navnet. Du har sikkert opplevd å måtte finne «Norway» på en nedtrekksmeny med alle verdens land når du skal registrere noe på nett framfor at du kan skrive inn landet selv.
Det skyldes at vi skriver ulikt. Noen skriver «Norge», andre «Noreg» – eller kanskje de bare bruker små eller store bokstaver. Av og til blir det også skrivefeil.
Selv om du velger i en nedtrekksmeny snakker vi fortsatt om en variabel – hvor variabelen vi kan tenke oss heter «Land» i dette tilfellet vil få forskjellige verdier (ulike land) avhengig av hvem som var brukeren.
Algoritmer
Konstant
Motsatsen til en variabel er en konstant – en verdi som er fast. Som regel er det ikke fornuftig å bruke en konstant, men heller gi variabelen en startverdi som så kan endres.
Her kan man tenke seg at man har et program som skriver ut regninger. Da kan man sette merverdiavgift (mva) til 25% som et utgangspunkt, og så få et valg hvor man kan endre hvis den skal være annerledes. Dette gjør også at man lett kan endre verdien hvis mva-satsen endres til for eksempel 24% eller 28%. I stedet for å måtte gå inn på alle varer man har i utvalget sitt og endre satsen manuelt kan man endre kun ett sted – der hvor man har gitt variabelen en startverdi.
Et annet eksempel kunne være det som skjer på Facebook når du har bursdag, gitt at du har oppgitt når du ble født på din konto. Selve fødselsdato og år er konstante – det endrer seg ikke gjennom livet. Alderen derimot endrer seg fra år til år.
Variabelen alder er derfor noe vi kan tenke ligger programmert, og at den tar utgangspunkt i din fødselsdato og dagens dato – og så beregner hvor mange år differansen utgjør. I tillegg ligger en test som sjekker datoen for din bursdag med datoen i dag slik at du får gratulasjon på riktig dag.
Netthandel
Navngi variabler
Variabelnavnene skal fortelle hva som skjer i koden. Når man skal navngi variabler er det noen ting man bør være oppmerksom på for å lage gode variabelnavn.
- Variabler skal alltid starte med en bokstav, men kan inneholde tall
- Mellomrom eller bindestrek skal ikke brukes i variabelnavn, men du kan bruke underscore (_)
- Du kan ikke bruke spesialtegn som komma, punktum, skigard/hashtag (#) og liknende
- Man kan bruke æ, ø og å – men disse særnorske bokstavene bør unngås
I tillegg vil det være lurt å være konsekvent, for eksempel å alltid starte med små bokstaver da dette er lettere å lese enn å blande store og små bokstaver i navnet.
Variabelnavnet bør forklare hva som skjer i koden. Hvis du skal ha en variabel som skal inneholde fornavn og en annen som skal inneholde etternavn – hva tenker du er best;
- Alternativ 1: en variabel kalt F og en annen kalt E
- Alternativ 2: en variabel kalt Fornavn og en annen kalt Etternavn
Utsagn fra en lærer som arbeider med programmering med sine elever:
Variabelen bør ha et beskrivende navn, og trenger du å bruke flere ord i beskrivelsen må du huske at variabelnavn ikke kan ha mellomrom.
Dette med å navngi variabler på en god måte kan faktisk være ganske vanskelig. I norskfaget tenker jeg det er viktig å leke med språket og finne måter å uttrykke noe presist samtidig som det er enkelt.
Mine elever må dokumentere koden de skriver, og da ser de hvorfor det er så viktig at variablene har så gode navn at det er innlysende hva slags data som samles inn.
Er det matematikk vi jobber med er jeg ganske nøye med at de bruker riktige begreper når de navngir, for eksempel at begrepene sum og produkt har forskjellig betydning.
Kanskje noen synes det er litt pirkete, men jeg tenker at det er bra at elevene får gode vaner med en gang