Denkende Machines -- Computers, rekenen, redeneren - CWI
Denkende Machines -- Computers, rekenen, redeneren - CWI
Denkende Machines -- Computers, rekenen, redeneren - CWI
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
3.3. PROGRAMMEREN 77<br />
; het symbool voor aaneenrijging. We hebben op deze manier geen expliciete regelnummering<br />
nodig.<br />
Naast de while-lussen gebruikt een moderne programmeertaal de simpelere if-constructie<br />
voor keuze die zich niet als een lus gedragen. Deze constructie heet ook wel selectie en heeft als<br />
algemeen formaat:<br />
if (T) { P } else { Q }.<br />
Het programma voert de instructie P uit indien de test T slaagt. In het geval dat C faalt,<br />
dan wordt Q uitgevoerd. Zouden we deze constructies aan RePro toevoegen, dan hebben we in<br />
principe geen expliciete regeltransities meer nodig, en daarmee is ook de nummering van regels<br />
overbodig geworden. Een programma stopt gewoon als het aan het einde van het programma<br />
gekomen is. Onze nieuwe programmeertaal noemen we ImPro. Deze stelt ons in staat om direct<br />
een stroomdiagram van een telraamberekening als programma op te schrijven.<br />
Hieronder volgt een voorbeeld dat zowel een herhalingslus als een aantal selecties bevat.<br />
Het RePro-programma berekent het verschil tussen twee getallen x en y, ofwel de uitkomst van<br />
|x − y|, in z.<br />
PSD — verschilalgoritme<br />
y?<br />
y−<br />
Y<br />
Y<br />
x?<br />
z?<br />
x+ x−<br />
N<br />
x+<br />
z+<br />
N<br />
0. y? 1 | 8<br />
1. y- 2<br />
2. x? 3 | 6<br />
3. z? 4 | 5<br />
4. x+ 0<br />
5. x- 0<br />
6. x+ 7<br />
7. z+ 0<br />
Een PSD voor dit programma zie je hiernaast. De selectiestructuur<br />
is een rechthoek met een conditie in het<br />
midden en de code voor de twee mogelijke uitkomsten,<br />
‘ja’ en ‘nee’, links en rechts daaronder. Het PSD leidt<br />
vervolgens gemakkelijk tot een ImPro-programma. Zie<br />
hieronder.