Selectie

Als een getal kleiner is dan 0, dan is het getal negatief

De implicatie

Bovenstaande uitspraak noemt men in de logica een implicatie.
De implicatie verbindt twee uitspraken met elkaar, in dit geval de uitspraken "een getal is kleiner dan 0" en "een getal is negatief".
De eerste uitspraak wordt in de logica vaak voorgesteld door de letter p (van propositie), de tweede uitspraak door de letter q (als letter die alfabetisch volgt op p).
We schrijven dan:

p ⇒ q

De enkelvoudige selectie

De structuur in programmeertalen die overeenkomt met de implicatie is de selectie.

voorwaardedoe iets

In pseudocode:

ALS <vwde>
DAN <sequentie>

Een voorwaarde is waar of onwaar (True of False). De sequentie in bovenstaand voorbeeld wordt enkel uitgevoerd als de voorwaarde waar is.
In het volgende deel wordt uitgelegd hoe een tweede sequentie kan worden uitgevoerd in het geval de voorwaarde onwaar is.

De tweevoudige selectie

voorwaardedoe iets
¬ voorwaardedoe iets anders

In pseudocode:

ALS <vwde>
DAN <sequentie indien waar>
ANDERS <sequentie indien onwaar>

Voorbeeld: het getal is negatief

We begonnen dit deel met het voorbeeld:

Als een getal kleiner is dan 0, dan is het getal negatief

In pseudocode wordt dit: ALS getal < 0 DAN "Het getal is negatief"
In Python:

if getal < 0:
    print "Het getal is negatief"

Laten we ons voorbeeld een klein beetje uitbreiden:

Als een getal kleiner is dan 0, dan is het getal negatief, anders is het getal positief

In pseudocode wordt dit: ALS getal < 0 DAN "Het getal is negatief" ANDERS "Het getal is positief"
In Python:

if getal < 0:
    print "Het getal is negatief"
else:
    print "Het getal is positief"

In andere talen

Pascal

IF <vwde> THEN
    <sequentie indien waar>
ELSE
    <sequentie indien onwaar> ;

PHP

if (<vwde>)
{
    <sequentie indien waar>
}else{
    <sequentie indien onwaar>
}

Scheme

(if (<vwde>)
    (<sequentie indien waar>)
    (<sequentie indien onwaar>)
)

Smalltalk

(<vwde>)
    ifTrue: [ <sequentie indien waar> ].
    ifFalse: [ <sequentie indien onwaar> ].