31.07.2013 Views

Denkende Machines -- Computers, rekenen, redeneren - CWI

Denkende Machines -- Computers, rekenen, redeneren - CWI

Denkende Machines -- Computers, rekenen, redeneren - CWI

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!