Lektion 2: Variabler
Förord
En av programmeringens viktigaste grundstenar är variabler. För en nybörjare kan det kännas konstigt att de är så viktiga, men när man väl insett hur man ska använda dem så förstår man deras vikt.
Numeriska variabler
I denna lektion kommer vi i stort sett att begränsa oss till numeriska variabler, men jag tar även upp booleska variabler. Jag spar nämligen ”text-variablerna” till nästa lektion av anledningen att det finns så pass mycket att säga om dem att jag vill hålla det i en egen artikel.
Lektionens projekt
Det lättaste sättet att lära är via erfarenhet, åtminstone tycker jag det och jag kommer därför hålla mig till det. För att testa på att använda numeriska variabler kommer vi därför att bygga en väldigt simpel miniräknare i denna lektion. Den kommer att anpassas lite i olika steg för att jag på ett pedagogiskt sätt ska kunna visa olika tekniker. Vi kör igång!
Programmera!
Skapa ett nytt Windows Application-projekt och döp det till Miniräknare. Ändra name-egenskapen för Form1 till Miniräknare.Lägg nu till 4 button-kontroller och 2 textbox-kontroller till formuläret.
Ändra Text-egenskaperna för knapparna till +, -, * och /. Ändra deras Name-egenskaper till btnPlus, btnMinus, btnMulti samt btnDiv.
Nu går vi över till textboxarna. Ändra Name-egenskaperna till txtTal1 och txtTal2.
Lägg även till en ny textbox och döp den till txtResultat.
Lägg upp kontrollerna så att det ser ut något i stil med:
Jag har lagt in text för att förtydliga vilken kontroll som är vilken…
Nu är det dags att lägga till lite kod. Vi kommer att använda heltal (Integer) för att utföra heltalsoperationer. För att definiera en variabel (vilket man bör göra) skriver man:
Dim variabelnamn As variabeltyp (= värde)
Man kan tilldela en variabel ett värde när den skapas, men ibland undviker man det eftersom man inte riktigt vet vad variabeln kommer att innehålla.
Nu kan vi gå vidare till vår kod. Dubbelklicka på plusknappen och skriv in följande kod:
Private Sub btnPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPlus.Click
'fånga upp värden...
Dim tal1 As Integer
Dim tal2 As Integer
tal1 = txtTal1.Text
tal2 = txtTal2.Text
'utför additionsberäkning...
Dim resultat As Integer = tal1 + tal2
'skriv in resultatet i resultatfältet...
txtResultat.Text = resultat
End Sub
Gör likadant med de andra knapparna också men ändra additionstecknet till det tecken som ska vara där (-, *, \). Ja, eftersom vi arbetar med heltal ska du använda backslash för att dividera, förklaring kommer under nästa rubrik.
Testkör programmet och se vad som händer :)
Heltalsdivision
När du dividerar två tal och placerar resultatet i en heltalsvariabel måste resultatet vara ett heltal. Man kan utföra ett par heltalsoperationer som ger lite olika resultat, de är som följer:/ Vanlig division (3/2 = 1,5)
\ Heltalsdivision (17\5 = 3)
Mod Modulus (17 Mod 5 = 2)
För heltalsdivision använder vi Mod och \. \ fungerar som så att den dividerar ett tal så många gånger det går utan att man måste arbeta med decimaler. I exemplet ovan så dividerar den 15 med 5 för att få resultatet 3. Om vi vill använda oss av 2:an som inte användes i beräkningen använder vi funktionen Mod. Mod står för modulus vilket är en operator som plockar ut restsiffrorna vid en heltalsdivision, därför blir 17 Mod 5 = 2 (17 – 2 = 15).
Flyttalsberäkning
Att arbeta med heltal är inte alltid önskvärt, särskilt inte då vi vill att en miniräknare ska klara så mycket mer än bara heltalsberäkningar. Vi kommer att göra lite förändringar i vår miniräknare så att den kan hantera decimaler…Gå in i koden och ändra varje Sub till att använda variabeltypen Double istället för Integer:
Private Sub btnPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPlus.Click
'fånga upp värden...
Dim tal1 As Double
Dim tal2 As Double
tal1 = CDbl(txtTal1.Text) ’CDbl ser till att datan inom paranteser
tal2 = CDbl(txtTal2.Text) ’omvandlas till ett flyttal…
'utför additionsberäkning...
Dim resultat As Double = tal1 + tal2
'skriv in resultatet i resultatfältet...
txtResultat.Text = resultat
End Sub
Gör dessa förändringar i alla uträkningar och när du kommer till division, glöm inte bort att ändra ”\” till ”/” för att utföra en vanlig division.
Aritmetiska operatorer
Aritmetiska operatorer används i samband med matematiska beräkningar. Det finns 7 stycken och de är som följer:^ Exponent (2^3 = 2 * 2 * 2 = 6)
- Subtraktion/Negation (3 - 2 = 1)
+ Addition (3 + 2 = 5)
* Multiplikation (3 * 2 = 6)
/ Division (3 / 2 = 1.5)
\ Heltalsdivision (17 \ 5 = 3)
Mod Modulus (17 Mod 5 = 2)
Snabba beräkningar
Om du vill öka värdet på en variabel kan du skriva ”tal1 = tal1 + tal2”, men du kan lika gärna spara lite på fingrarna och skriva ”tal1 += tal2”. Det fungerar givetvis även med de andra räknesätten.
Avrundningar
Vi har redan sett att det finns funktioner för att omvandla en datatyp till en annan. Vi har ju använt CDbl. Nu ska vi introducera en ny funktion, CInt. CInt omvandlar en datatyp till Integer (ett heltal).Dim tal As Double = 18.75 ’notera att punkt används som decimaltecken istället för ,
MessageBox.Show(CInt(tal))
Booleska variabler
En boolesk variabel kan bara anta två olika värden, True eller False. Den är användbar i flera sammanhang, men för att använda den måste vi lära oss om selektion. Det kommer i en av följande artiklar. En boolesk variabel deklareras som följer:Dim variabel As Boolean
0 Kommentarer