Gå til indholdet

N105 Brug af simple tal

Opret en ny tom konsolapplikation og sørg for følgende:

  • Erklær en variabel heltal som et 32-bit heltal og initialiser den til 10.
  • Brug ++ operatoren til at lægge 1 til variablen - udskriv værdien
  • Brug -- operatoren til at trække 1 fra - udskriv værdien
  • Brug += til at lægge 20 til - udskriv værdien
  • Erklær en variabel kommatal som en double og initialiser den til 12,5.
  • Brug ++ operatoren til at lægge 1 til variablen - udskriv værdien
  • Brug -- operatoren til at trække 1 fra - udskriv værdien
  • Brug *= til at gange med 2 - udskriv værdien

Brug debugger’en så meget som muligt.

Få det til at virke og gå så evt videre til næste opgave.

Avanceret (kun hvis du har lyst)

Her er nogle mere avancerede opgaver:

  • Erklær en variabel som en byte og initialiser den til 255.
    • Brug -- operatoren til at trække 1 fra - udskriv værdien
    • Brug % (modulus) operatoren til at få resten af divisionen med 10 - udskriv værdien
    • Bonus: Forsøg at lægge 1 (brug ++) til en byte variabel som er initialiseret til 255, og bemærk at den vil lave et overflow (runder tilbage til 0). Dette sker, fordi byte kun kan indeholde værdier mellem 0 og 255.
  • Erklær en variabel som en long og initialiser den til 1.000.000.
    • Brug += til at lægge 500.000 til - udskriv værdien
    • Brug /= til at dividere med 2 - udskriv værdien
  • Erklær en variabel som en decimal og initialiser den til 1000,75.
    • Brug += til at lægge 0,25 til - udskriv værdien
    • Brug *= til at gange med 1,5 - udskriv værdien
    • Brug /= til at dividere med 3 - udskriv værdien
  • Lav et eksempel på floating point-fejl:
    • Erklær to variabler, en som double og en som decimal, og læg 0,1 til dem 10 gange manuelt. Flydende punkt-aritmetik i double kan føre til små unøjagtigheder på grund af repræsentationen af tal i hukommelsen.
    • Hvis du skal tilføje et kommatal til en decimal variabel, skal du bruge M suffikset for at fortælle kompilatoren, at det er en decimal værdi. F.eks. 0.1M.

Brug debugger’en så meget som muligt.

Tip

Hvis du er i tvivl om hvordan du skaber en konsolapplikation så følg:

Klik for at se et forslag til en løsning
// Sørg for at vi bruger danske tal
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK");

// Simpelt eksempel
int heltal = 10;
heltal++;
heltal--;
heltal += 20;
Console.WriteLine("Heltal: " + heltal);

double kommatal = 12.5;
kommatal++;
kommatal--;
kommatal *= 2;
Console.WriteLine("Kommatal: " + kommatal);

// Avanceret eksempel
byte byteTal = 255;
byteTal--;
Console.WriteLine("Byte efter --: " + byteTal);

byteTal %= 10;
Console.WriteLine("Byte efter % 10: " + byteTal);

byteTal = 255;
byteTal++;
Console.WriteLine("Byte efter ++: " + byteTal); // Dette vil give overflow

long langtTal = 1000000;
langtTal += 500000;
Console.WriteLine("Long efter += 500000: " + langtTal);

langtTal /= 2;
Console.WriteLine("Long efter /= 2: " + langtTal);

decimal decimalTal = 1000.75M;
decimalTal += 0.25M;
Console.WriteLine("Decimal efter += 0.25: " + decimalTal);

decimalTal *= 1.5M;
Console.WriteLine("Decimal efter *= 1.5: " + decimalTal);

decimalTal /= 3;
Console.WriteLine("Decimal efter /= 3: " + decimalTal);

// Floating point fejl
double doubleSum = 0.1;
doubleSum += 0.1;
doubleSum += 0.1;
doubleSum += 0.1;
doubleSum += 0.1;
doubleSum += 0.1;
doubleSum += 0.1;
doubleSum += 0.1;
doubleSum += 0.1;
doubleSum += 0.1;
Console.WriteLine("Double resultat af 0.1 * 10: " + doubleSum);

decimal decimalSum = 0.1M;
decimalSum += 0.1M;
decimalSum += 0.1M;
decimalSum += 0.1M;
decimalSum += 0.1M;
decimalSum += 0.1M;
decimalSum += 0.1M;
decimalSum += 0.1M;
decimalSum += 0.1M;
decimalSum += 0.1M;
Console.WriteLine("Decimal resultat af 0.1 * 10: " + decimalSum);