Bookmark and Share

Svårighetsgrad
Svårighetsgrad
Betyg (73 röster)
BetygBetygBetygBetygBetyg
 

Variabler

Ni som nybörjare inom programmering måste snabbt lära er att hantera grunderna. Denna vecka kommer vi att titta på just detta. Alla exempel är i C Sharp men ni kommer att ha nytta av detta inom all sorts programmering.

Kort om variabler

I program vill man kunna spara undan data för senare användning. T ex man vill mata in ett tal. Detta tal måste sparas undan i programmet, till vår hjälp har vi då variabler. Variabler hör man på namnet att de lagrar information som kan variera. I C Sharp finns en mängd fördefinierade variabeltyper. Man måste alltså deklarera vilken sorts typ av variabel man vill använda för att kompilatorn ska förstå vilken sorts data den lagrar. Vi kommer att titta på 3 olika variabeltyper:

Första steget är alltså att tala om att variabeln finns och vad vi ska kalla den. Detta kallas för deklarera variabeln. Man anger variabeltyp följt av det variabelnamn som man väljer att kalla variabeln för, t ex;

I editorn kommer den blå färgen att indikera att variabeltypen är känd. Blå färg indikerar nyckelord. När vi sen ska välja namn på våra variabler så är det viktigt att komma ihåg:

När vi nu har deklarerat våra variabler och talat om att de finns så kan vi inte använda dem hursomhelst förrän variablerna har fått något värde. Gör vi det så kan vi få fel av typen "unassigned variable". Har vi inte deklarerat variabeln så kan man få fel som "undefined/unknown variable". Dessa fel dyker upp senare när vi försöker kompilera i så fall.

Vi kan ge våra variabler olika värden efter deklarationen, detta kallas då för tilldelning, t.ex:

Man kan även göra både deklaration och tilldelning samtidigt. D.v.s. samtidigt som du skapar din variabel så kan du passa på att ge den ett värde. Detta brukar kallas för initiering eller att man initierar variabeln. Kombinerar vi ihop tidigare exempel så skulle detta se ut som:

Notera att vi använder tecknet " för att visa var text börjar och var text slutar.

Inmatning av data

För att våra program ska kunna göra något som bygger på information från användaren så måste vi kunna ta emot data/information. Informationen kan komma från en rad olika håll; inläsning av filer, nätverk eller från användaren. Vi ska börja med att lära oss inmatning från tangentbordet i ett Console Application. Jobbar vi med ett Console Application så kan vi även mata in information i form av text genom t ex:

Nu kommer vårt Console Application att vänta på att vi skriver något och trycker enter. Det vi då matat in kommer funktionen Console.ReadLine() att "kasta tillbaka" (returnera) till vår variabel minString. Variabeln minString kommer då att tilldelas data som vi senare kan använda i vårt program.

Vi kan även läsa in tal (int o double) med Console.ReadLine() men då måste vi vara extra försiktiga. För det vi skriver är i själva verket text som på något sätt måste översättas till ett tal. Lyckligtvis så finns det färdiga funktioner för detta. Studera följande:

Notera att vi både deklarerar, läser in, översätter och tilldelar våra variabler direkt. Visst är det fiffigt?

Övning 1

Utifrån exemplet ovan så ska du försöka göra ett Console Application där du får mata in två tal. Efter inmatningen så ska summan, produkten och divisionen av talen skrivas ut. T.ex. som bilden nedan visar:

bild

Övning 2

Utifrån exemplen ovan så ska du försöka göra ett Console Application där du får mata in ditt förnamn och ditt efternamn. Efter inmatningen så ska programmet skriva ut en hälsningsfras. T.ex. som bilden nedan visar:

bild

Konsten att namnge en variabel

En av de svårare sakerna med programmering är faktiskt namngivning. Detta kan låta konstigt men faktum är att det är en färdighet som aldrig blir fulländad. Vi ska gå igenom några rekommendationer som kan hjälpa dig i valet av namn.

Engelska eller svenska? Som svensk kan det vara enkelt att hålla sig till det egna språket. En regel kan vara att inte blanda engelska och svenska. Håll dig strikt till ett språk. Nackdelen med svensk namngivning blir att koden blir extremt svårläst för icke-svenskar. Du kan använda åäö vilket inte alltid har varit en självklarhet i programmeringssammanhang.

Camel case är en teknik som används inom C# för att namnge variabler. Regeln är enkel: första bokstaven är gemen och varje nytt ord i variabeln inleds med en versal. T.ex. mittHeltal eller antalGissningar. Använd inga specialtecken mellan ord utan skriv ihop orden.

Undvik förkortningar och namn som inte säger något. Dåliga exempel: a, g eller gissningar istället för antalGissningar. Vilket av namnen är mest begripligt om du vill lagra antalet gissningar som gjorts i ett program?

Rekommendationen är 10 til 16 bokstäver i ett variabelnamn för att koden skall bli lättläst.

För metoder, properties eller klassnamn används Pascal case vid namngivning. Även om det är lite tidigt att nämna metoder och klasser så kan du ändå känna till Pascal case. Denna regel är precis som Camel case men även första bokstaven inleds som versal. T.ex. antalGissningar i Camel case blir AntalGissningar som Pascal case.

Tillåtna variabelnamn

Oavsett om vi väljer bra eller dåliga namn, camel case eller Pascal case, så finns det regler vi måste följa. Kortfattat lyder de:

Bokstäver inkluderar all världens bokstäver, alltså även åäö eller japanska tecken.

Fler variabeltyper

Datatyp Beskrivning Utrymme
short Heltal, -32768 till 32767 16 bitar
int Heltal, ±2*109 32 bitar
long Heltal, ±9*1018 64 bitar
float Flyttal, ±3,4*1038 (med 7 gällande siffror) 32 bitar
double Flyttal, ±1,7*10308 (med 15 gällande siffror) 64 bitar
char Ett tecken (unicode) 16 bitar
string En text (sträng av tecken, unicode) 16 bitar/tecken
bool true eller false 8 bitar
byte Heltal, 0 till 255 8 bitar
decimal Decimaltal, ±7,9*1028 (med 28 gällande siffror) 128 bitar

Videogenomgång

Vi går igenom lite fler variabeltyper (int, short, long, decimal, float, double) och diskuterar begreppen signed/unsigned samt overflow.

Övning 3

Skriv ett program som läser in ett decimaltal (Celsius-grader). Talet skall sedan räknas om till Farenheit enligt formeln farenheit = 1.8 * celsius + 32. Bilden nedan visar hur det skall se ut:

bild

Övning 4

Ändra i övning 3 och använd Console.Write istället för Console.WriteLine. Du skall då kunna få programmet att se ut som:

bild

Övning 5

Gör ett program där du matar värdet på radien i en cirkel som ett decimaltal. Skriv sedan ut cirkelns omkrets och area.

bild

Viktiga begrepp

  • deklarera/deklaration (eng. declare)
  • tilldelning/tilldela (eng. assign)
  • initiering/initiera (eng. initiate)
  • returnera/(eng. return)
  • Camel case
  • Pascal case
  • overflow

Kommentarer

8 inlägg