Oefeningen: If-Else If-Else

Test je kennis over de if-else if-else structuur en scope. Probeer bij elke oefening eerst zelf het antwoord te bedenken.

Deel 1: Volgorde van Evaluatie

Oefening 1: Basis

Gegeven de volgende code:

int score = 75;

if (score >= 90)
{
    Console.WriteLine("A");
}
else if (score >= 70)
{
    Console.WriteLine("B");
}
else if (score >= 50)
{
    Console.WriteLine("C");
}
else
{
    Console.WriteLine("F");
}

Wat wordt er naar de console geschreven?

Toon oplossing

“B”

  1. Is score >= 90 (75 >= 90)? Nee.
  2. Is score >= 70 (75 >= 70)? Ja.
  3. Het blok bij else if (score >= 70) wordt uitgevoerd (“B”).
  4. De rest van de structuur wordt overgeslagen.

Oefening 2: De Valstrik (Volgorde)

Gegeven de volgende code:

int getal = 15;

if (getal > 5)
{
    Console.WriteLine("Groter dan 5");
}
else if (getal > 10)
{
    Console.WriteLine("Groter dan 10");
}

Wat wordt er naar de console geschreven?

Toon oplossing

“Groter dan 5”

  1. Is getal > 5 (15 > 5)? Ja.
  2. Het eerste blok wordt uitgevoerd.
  3. De else if wordt niet meer gecontroleerd, ook al is 15 ook groter dan 10! Les: Zet de meest specifieke of strengste voorwaarden altijd bovenaan.

Deel 2: Scope (Variabelen)

Oefening 3: Bestaat de variabele?

Gegeven de volgende code:

if (true)
{
    int x = 10;
}
Console.WriteLine(x);

Wat gebeurt er?

Toon oplossing

Compileerfout (Error)

De variabele x is aangemaakt binnen de accolades van het if-statement. Daarbuiten bestaat hij niet meer.


Oefening 4: Variabele updaten

Gegeven de volgende code:

int punten = 0;

if (true)
{
    punten = 10;
}

Console.WriteLine(punten);

Wat wordt er naar de console geschreven?

Toon oplossing

10

De variabele punten is buiten het blok gedeclareerd. We kunnen hem binnen het blok aanpassen, en die aanpassing blijft bewaard.


Deel 3: Logica

Oefening 5: Else If zonder Else

Gegeven de volgende code:

int dag = 8;

if (dag == 6)
{
    Console.WriteLine("Zaterdag");
}
else if (dag == 7)
{
    Console.WriteLine("Zondag");
}

Wat wordt er naar de console geschreven?

Toon oplossing

Niets.

  1. Is dag == 6? Nee.
  2. Is dag == 7? Nee.
  3. Er is geen else-blok, dus er gebeurt helemaal niets.