# Variabelen en berekeningen

# Variabelen

Een variabele is een container of doos waarin je informatie kan bewaren.

De meest gebruikte variabele types zijn:

  • string: wordt gebruikt om tekst in te bewaren
  • int: wordt gebruikt om gehele getallen in te bewaren
  • double wordt gebruikt om kommagetallen in te bewaren

Het definiëren van een variabele gebeurt als volgt:

int lengte, breedte;
double prijs;
string voornaam;
1
2
3

Nota:

De naam van een variabele start je steeds met een kleine letter en kan geen spaties bevatten.

Bij het toekennen van een waarde aan een variabele heb je een linkerdeel (de target of variabele) en een rechterdeel (de waarde).

Nota:

Onthou dat de waarde steeds van hetzelfde datatype moet zijn als de variabele.

download

Je kunt geen peren in een bak voor appelen steken.

Het toekennen van een waarde gebeurt als volgt:

int lengte;
lengte = 100;
1
2

of

int lengte = 100;
1

# Berekeningen

We onderscheiden volgende rekenkundige operatoren:

download

Aangevuld met volgende speciale operatoren:

download

Een berekening kan er b.v. als volgt uit zien:

int lengte = 100;
int breedte = 250;
int opp = lengte * breedte;
1
2
3

Nota:

Eerst wordt dus het rechterdeel berekend, dit is van een bepaald datatype, vervolgens wordt dit toegekend aan de target variabele.

Laten we even enkele voorbeelden bekijken:

int i;
i = 6 * 2;      Het resultaat is 12
i = 3 / 2;      Het resultaat is 1
i = 33 / 44;    Het resultaat is 0

double i;
i = 10.6 / 2;   Het resultaat is 5.3
i = 3 / 2;      Het resultaat is 1 
1
2
3
4
5
6
7
8

Nota:

De software rekent met de eenvoudigste vorm van datatype. Als je dus 5 gebruikt in een berekening is dit een integer terwijl 5.0 een double zal zijn.

Oefening

3.1 Schrijf een programma waar de gebruiker het aantal stuks, de eenheidsprijs (2 cijfers na de komma) en de btw % kan ingeven. Na het indrukken van de CALC-knop verschijnt de totaalprijs in een label.

Controle:

aantal = 4 stuks , eenheidsprijs = 99.95€ , btw = 21%

brutoprijs = (99.95 * 4)*(100 + 21)/100 = 483.758€

Tip: Om de ingevulde waarde van string naar int om te zetten ga je als volgt te werk:

int aantal = Convert.ToInt32(txbLengte.Text);
1

Om het resultaat van int terug naar string om te zetten ga je als volgt te werk:

lblBrutoprijs.Content = Convert.ToString(brutoprijs);
1

# Operaties met een string

Net zoals bij getallen kan je ook strings met elkaar optellen.

string voornaam = "Jan";
string familienaam, naam, titel;
familienaam = "Jansens";
naam = voornaam + " " + familienaam;
titel = "Dhr. "+naam+" studeert de opleiding Graduaat Internet of Things";
1
2
3
4
5

Indien je een lege string wil definiëren kan dit als volgt:

string titel = "";
of
string titel = String.Empty;
of 
string titel = null;
1
2
3
4
5

Laten we even kijken wat er gebeurt als we volgende code schrijven:

int appels = 2, peren = 3;
string resultaat, intro = "Het antwoord is: ";
resultaat = intro + appels + peren;
1
2
3

Er zijn twee mogelijkheden:

  • Het antwoord is: 23 Dit omdat de twee + operatoren op de string worden uitgevoerd
  • Het antwoord is: 5 Dit omdat eerst de cijfers worden opgeteld

De eerste mogelijkheid is de juiste omdat C# van links naar rechts de evaluatie uitvoert. De eerste + zet de waarde van appels om in een string en voegt deze samen met de string van intro, vervolgens doet de tweede + dit nog eens.

Wil je echter het tweede resultaat dan moet je haakjes gebruiken:

resultaat = intro + (appels + peren);
1

# Conversie van datatypes

Op de schrijfwerkwijze zoals hierboven doe je beroep op C# om de conversie van integer naar string voor jou te doen. Dat is geen 'best-practice' techniek. Je zorgt steeds dat je zelf deze omzetting in de juiste code voorziet:

  • Om iets om te zetten naar string gebruik je Convert.ToString()
  • Om iets om te zetten naar integer gebruik je Convert.ToInt32()
  • Om iets om te zetten naar double gebruik je Convert.ToDouble()

Een andere methode gaat als volgt:




 
 

int i = 33;
double d = 3.9;
double d1;
d1 = (double)i;     // d1 wordt 33.0
i = (int)d;         // i  wordt 3
1
2
3
4
5

# Geformatteerde strings

Via geformatteerde strings kan je tekst, getallen en weergave combineren. Je herkent stringformattering onmiddellijk aan het $-teken voor de string en de {} waar een getal geformatteerd wordt weergegeven.

lblResultaat.Content = $"{euro} euro en {cent} cent";
lblPrijs.Content = $"De kostprijs is {prijs:c}";
1
2

Enkele vaak gebruikte formateringen:

Datatype Voorbeeld Resultaat
Decimaal int number = 123;
lblOutput.Content = $"{number:D}";
123
Decimaal int number = 123;
lblOutput.Content = $"{number:D5}";
00123
Floating-point double number = 12.34;
lblOutput.Content = $"{number:F2}";
12,34
Floating-point double number = 12.34;
lblOutput.Content = $"{number:F0}";
12
Wetenschappelijk double number = 12_000_000;
lblOutput.Content = $"{number:E2}";
1,2E007
Geldbedrag double number = 12.34;
lblOutput.Content = $"{number:C}";
€12,34
*gebruikt jou valuta instelling
Getal double number = 1234000;
lblOutput.Content = $"{number:N2}";
1.234.000,00

Extra info kan je hier terugvinden.

# De rol van expressies

Expressies of berekeningen kan je ook gebruiken om structuur en eenvoud in je code te brengen. Stel b.v. dat je een lijn op de canvas moet plaatsen die t.o.v. de linkeronderzijde van je canvas moet gepositioneerd zijn.

Je code zou er dan als volgt kunnen uitzien:

int x0 = 10;     // referentiepositie in de x richting t.o.v. de canvas
int y0 = 390;    // referentiepositie in de y richting t.o.v. de canvas

Line xAs = new Line();
xAs.X1 = x0; xAs.Y1 = y0;
xAs.X2 = x0; xAs.Y2 = y0 - 380;
1
2
3
4
5
6

Taak 3 - Programmeren met variabelen en bewerkingen

download