Nighthawk.dk

Grundlæggende C#: Variabler og aritmetik

Skrevet d. 11. May 2022 af Claus Nielsen.

Programmering er basalt set data-behandling, og i et program opbevares de data man arbejder på i "variabler".

Variabler og aritmetik

Computerprogrammer håndterer data som f.eks. tal, tekst, datoer, og mere advancerede ting som f.eks. billeder, lyd og video (der i princippet også bare kan beskrives ved en masse tal, der f.eks. kan beskrive farven på en bestemt pixel). Til at opbevare alle disse former for data mens de bliver behandlet i dit program, anvendes variabler.

Du kan forstille dig, at en variabel er en skuffe, som der kan ligge noget i.

Men en variabel kan ikke bare opbevare en hvilken som helst slags data: der findes nemlig forskellige variabel-typer, som f.eks. heltals-variabler, decimaltals-variabler, tekst-variabler og dato-variabler.

Med skuffe-analogien kan man forestille sig, at der ikke kan ligge hvad som helst i skuffen: der findes skuffer med forskellige størrelser og former, så kun bestemte slags ting passer ned i de enkelte skuffer.

Et program bruger typisk mange forskellige variabler, og det er derfor også nødvendigt at give hver variabel et navn. Du bruger således navnet hver gang du vil læse eller ændre din variabel (dvs. hvis du vil se hvad der ligger i skuffen, eller lægge noget andet ned i skuffen).
Navngivning af variabler

Variabel-navne må kun bestå af bogstaver, tal og underscore "_", og ikke specielle bogstaver som de danske æ, ø og å.

Desuden er der forskel på store og små bogstaver, så variablen en_variabel er ikke den samme som eN_VaRiABEL.

Du definerer (dvs. laver) en variabel ved at skrive en variabel-type efterfulgt af det navn, du vil give din variabel, og afslutter derefter linien med et semi-kolon ";".

For eksempel vil int min_variabel; lave en variabel af typen int (heltal) med navnet min_variabel. Du skal kun bruge variabel-typen når du laver variablen - herefter skal du kun bruge det navn, du har givet den.

Her er en lille oversigt over forskellige variabeltyper (læs mere her):

Type Beskrivelse Eksempel
bool Boolsk (true/false) bool b = true;
byte Lille heltal (8-bit) byte tal = 5;
int Heltal (32-bit) int tal = 5;
float Decimaltal (32-bit) float tal = 4.2f;
double Decimaltal (64-bit) double tal = 4.2;
char Tegn (bogstav, tal, specialtegn) char plus = '+';
string Tekststreng string hello = "Hello World!";

Når du har lavet en variabel, kan du give den en værdi med "=", f.eks. min_variabel = 3;. Du kan også give variablen en værdi samtidig med at du definerer den, dvs. int min_variabel = 3;. Som udgangspunkt er det en god idé altid at give en variabel en værdi, når den defineres.

Du kan se et eksempel på simpel brug af variabler i dette kode-eksempel:

using System;

class Program
{
	static void Main()
	{
		int a = 1; // Lav en variabel med navn 'a' som har værdien 1
		Console.WriteLine("Variablen a har værdien: {0}", a);

		a = 4; // Nu ændres værdien af 'a' til 4
		Console.WriteLine("Variablen a har værdien: {0}", a);

		a = (5 + 1) * 3 - 6; // Nu har 'a' værdien 12
		Console.WriteLine("Variablen a har værdien: {0}", a);

		int en_anden_variabel = 8; // Lav en ny variabel
		Console.WriteLine("Variablen a har værdien {0}, og den nye variabel har værdien {1}", a, en_anden_variabel);

		a = a + en_anden_variabel; // Læg de to tal sammen, og gem resultatet i 'a'
		Console.WriteLine("Variablen a har værdien: {0}", a);
	}
}

Koden i dette eksempel illustrerer også hvordan simpel aritmetik (+, - og *) kan bruges, samt hvordan variabler kan udskrives til konsollen med Console.WriteLine: En tekststreng skrives mellem et par anførselstegn for at angive, hvad der skal udskrives til konsollen.

Efter tekststrengen kan du sætte et komma efterfulgt af navnet på en variabel, der skal udskrives. Værdien af denne variabel erstatter således teskten {0} i din tekststreng.

Du kan også udskrive flere variabler på én gang ved at skrive flere variabelnavne adskildt af komma (som i linie 17 i kode-eksemplet), og bruge {1}, {2}, {3} osv. til at referere til de forskellige variabler.

Opgave 1

Prøv at definere fire forskellige variable, giv dem en værdi, og udskriv dem alle til konsollen ved kun at bruge Console.WriteLine én gang.

Opgave 2

Prøv at definere en variabel af typen double (et decimaltal), giv den en værdi med nogle decimaler, og udskriv variablen til konsollen.

Bemærk: Punktum som decimal-separator

Du skriver decimaltal som f.eks. 123.456, altså med punktum "." i stedet for komma "," foran decimalerne.

Opgave 3

Du kan dividere variabler eller tal med "/.

Prøv at definere variablerne int a = 1/2;, double b = 1/2; og double c = 1.0/2.0;, og udskriv variablerne til konsollen. Får du de værdier du forventede?

Bemærk: Division, decimaler og variabeltyper

Division med "/" fungerer forskelligt alt efter om du dividerer heltal eller decimaltal.

Hvis du dividerer to heltal med hinanden fjernes alle decimaler fra resultatet (dvs. 1/4 bliver til 0), men når du dividerer decimaltal får du det forventede resultat (dvs. 1.0/4.0 bliver til 0.25).

Hvis du forsøger at gemme et decimaltal i en heltals-variabel vil du også miste decimalerne.

Opgave 4

Lav et program med en variabel kaldet radius, og giv den en værdi. Beregn både omkreds og areal af cirklen med den valgte radius, og udskriv resultaterne til konsollen.

Tip: Du kan bruge Math.PI som π.

Opgave 5

Lav et program med to variable kaldet kateteA og kateteB, og giv dem en værdi (positive tal!). Brug Pythagoras's formel til at beregne længden af hypotenusen i en retvinklet trekant.

Tip: Du kan bruge Math.Sqrt(var) til at beregne kvadratroden af en variabel kaldet var.

Relaterede ressourcer
C# Grundbog

Niels Hilmar Madsen og Michell Cronberg,
Libris, 2003

×