De controlestructuur enkelvoudige selectie

Een selectie is een elementair programmadeel dat bestaat uit een selectievariabele gecombineerd met twee sequenties waarvan afhankelijk van de voorwaarde, slechts één wordt uitgevoerd.

 Structogram:

 

Pseudocode

ALS voorwaarde

DAN (bewerkingen in Ja-blok uit te voeren)

ZONIET (bewerkingen in Neen-blok uit te voeren)

EINDE ALS

Voorbeelden

Breng onderstaande programmadelen binnen in een nieuwe algemene module. Voor het uittesten van deze aparte procedures maak je gebruik van het foutopsporingsvenster.

Debug.Print laat toe rechtstreeks procedures en functies uit voeren en hun resultaat weer te geven. We kunnen een procedure oproepen door de naam van de procedure in te geven, gevolgd door, in dit geval, twee argumenten of parameters die gescheiden zijn door een komma.

Het foutopsporingsvenster kan je uitvoeren door de knop

Public Sub Voorbeeld1(intvar1 As Integer, intvar2 As Integer)
If intvar1 > intvar2 Then

Debug.Print intvar1; "is groter dan"; intvar2

Else

Debug.Print intvar1; "is gelijk aan of kleiner dan"; intvar2

End If
End Sub

 


 

Betere oplossingen zijn de volgende:

Public Sub Voorbeeld2(intvar1 As Integer, intvar2 As Integer)
If intvar1 > intvar2 Then

Debug.Print intvar1; "is groter dan"; intvar2

Else

If intvar1 = intvar2 Then

Debug.Print intvar1; "is gelijk aan"; intvar2

Else

Debug.Print intvar1; "is kleiner dan"; intvar2

End If

End If
End Sub


 

Public Sub Voorbeeld3(intvar1 As Integer, intvar2 As Integer)
If intvar1 > intvar2 Then

Debug.Print intvar1; "is groter dan"; intvar2

ElseIf intvar1 = intvar2 Then

Debug.Print intvar1; "is gelijk aan"; intvar2

Else

Debug.Print intvar1; "is kleiner dan"; intvar2

End If
End Sub


 

Oefeningen:

  1. Om de B.M.I. (Body Mass Index) te berekenen moet het gewicht (in kg) gedeeld worden door de lengte (in m) in het kwadraat. Tot een B.M.I. van 25 is alles in orde met uw gewicht, maar daarboven en tot 28 heb je overgewicht. Boven de 28 wordt het dramatisch: dan ben je vetzuchtig. Druk een passende beoordeling af bij invoer van lengte en gewicht.
  2. Bij een politiecontrole op de snelheid van auto's wordt gecontroleerd of de maximumsnelheid van 50 km/h wordt overschreden. De boete bestaat uit een vast gedeelte van 1000 fr. en een veranderlijk gedeelte van 100 fr. per km boven het maximum. Druk, als de gemeten snelheid wordt binnengebracht, af of men een overtreding begaan heeft en zo ja, hoeveel boete de bestuurder moet betalen.
  3. Wanneer het gasverbruik kleiner is dan één kubieke meter, dan moet de klant de eenheidsprijs van 50 fr. betalen. In het andere geval, dus bij een verbruik van meer dan één kubieke meter, moet voor de eerste kubieke meter 50 fr. betaald worden en voor het resterende gedeelte 16 fr. per kubieke meter. De BTW is 6 %. Druk, bij invoer van het gasverbruik, de gasrekening af.