09.01.2014 Views

HANDLEIDING PROGRAMMEREN (5e kwartaal natuur- en ...

HANDLEIDING PROGRAMMEREN (5e kwartaal natuur- en ...

HANDLEIDING PROGRAMMEREN (5e kwartaal natuur- en ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Hoofdstuk 2<br />

Programmer<strong>en</strong><br />

Het mak<strong>en</strong> van programma’s wordt programmer<strong>en</strong> g<strong>en</strong>oemd. Dit hoofdstuk beschrijft e<strong>en</strong> aantal zak<strong>en</strong> die<br />

met dat programmer<strong>en</strong> te mak<strong>en</strong> hebb<strong>en</strong>.<br />

Wanneer moet er geprogrammeerd word<strong>en</strong>? Als er e<strong>en</strong> probleem met behulp van e<strong>en</strong> computer opgelost moet<br />

word<strong>en</strong>. Hierbij zijn e<strong>en</strong> aantal stapp<strong>en</strong> te onderscheid<strong>en</strong>, waarvan het programmer<strong>en</strong> er eig<strong>en</strong>lijk maar één is:<br />

♥ Eerst moet het probleem goed begrep<strong>en</strong> word<strong>en</strong>: wat is de bedoeling precies? Als het niet precies duidelijk<br />

is wat er gedaan moet word<strong>en</strong>, dan is de kans groot, dat er bij e<strong>en</strong> volg<strong>en</strong>de stap problem<strong>en</strong> ontstaan!<br />

♥ Vervolg<strong>en</strong>s wordt gekek<strong>en</strong> of het probleem op e<strong>en</strong> geschikte manier met e<strong>en</strong> computer opgelost kan word<strong>en</strong>.<br />

Er zijn namelijk ook wel e<strong>en</strong>s efficiëntere oplossing<strong>en</strong> zonder computer mogelijk!<br />

♥ Daarna moet er e<strong>en</strong> recept of algoritme opgesteld word<strong>en</strong> waarin de wijze van oploss<strong>en</strong> van het probleem<br />

nauwkeurig beschrev<strong>en</strong> wordt. Dit algoritme beschrijft het oploss<strong>en</strong> tot op e<strong>en</strong> voldo<strong>en</strong>de diep niveau.<br />

♥ Vervolg<strong>en</strong>s wordt dat algoritme omgezet in instructies of opdracht<strong>en</strong> van e<strong>en</strong> programmeertaal (het eig<strong>en</strong>lijke<br />

programmer<strong>en</strong>). Na deze stap zou het probleem opgelost moet<strong>en</strong> zijn!<br />

♥ Het aldus gemaakte programma wordt door de bij de gebruikte programmeertaal <strong>en</strong> computer behor<strong>en</strong>de<br />

compiler vertaald naar machinecode, waarna het uitgevoerd kan word<strong>en</strong>.<br />

Alhoewel, het kán zijn dat er taalfout<strong>en</strong> (fout<strong>en</strong> teg<strong>en</strong> de syntax van de programmeertaal) door de compiler<br />

zijn ontdekt, waardoor het programma niet op de computer uitgevoerd kan word<strong>en</strong>. Deze taalfout<strong>en</strong> moet<strong>en</strong><br />

eerst verbeterd word<strong>en</strong>, waarna er opnieuw gecompileerd kan word<strong>en</strong>. En dit moet net zolang herhaald<br />

word<strong>en</strong> totdat het programma taalfoutvrij is <strong>en</strong> uitgevoerd kan word<strong>en</strong>.<br />

♥ Nu kan het programma uitgevoerd word<strong>en</strong>. Aan de hand van bepaalde invoergegev<strong>en</strong>s kan gecontroleerd<br />

word<strong>en</strong> of het programma de juiste uitvoergegev<strong>en</strong>s opleverd. Is dit niet zo, dan moet<strong>en</strong> de bijbehor<strong>en</strong>de<br />

fout<strong>en</strong> in de programmastructuur (fout<strong>en</strong> in de logica van het algoritme) gevond<strong>en</strong> <strong>en</strong> verbeterd word<strong>en</strong>,<br />

waarna het programma opnieuw gecontroleerd kan word<strong>en</strong>. Geeft het programma de juiste uitvoergegev<strong>en</strong>s,<br />

dan wordt het in de praktijk als goed programma beschouwd, totdat het teg<strong>en</strong>deel blijkt.<br />

Er is e<strong>en</strong> “tak van sport” binn<strong>en</strong> de Informatica, die zich bezig houdt met het bewijz<strong>en</strong> van de juistheid<br />

van programma’s.<br />

In de praktijk blijkt vaak dat het opgestelde algoritme niet helemaal voldoet. Er zijn bijvoorbeeld e<strong>en</strong> aantal<br />

ding<strong>en</strong> over het hoofd gezi<strong>en</strong>, waardoor er bij de volg<strong>en</strong>de stapp<strong>en</strong> dusdanige problem<strong>en</strong> zijn, dat het nodig is e<strong>en</strong><br />

aantal correcties in het algoritme aan te br<strong>en</strong>g<strong>en</strong>. In zulke gevall<strong>en</strong> word<strong>en</strong> e<strong>en</strong> aantal stapp<strong>en</strong> meerdere mal<strong>en</strong><br />

doorlop<strong>en</strong>. Aangezi<strong>en</strong> dit extra tijd kost, is het zaak dit soort iteraties (<strong>en</strong> de ev<strong>en</strong>tuele bijkom<strong>en</strong>de irritaties)<br />

zoveel mogelijk te beperk<strong>en</strong>.<br />

Omdat het zoek<strong>en</strong> naar logische fout<strong>en</strong> ook e<strong>en</strong> tijdrov<strong>en</strong>d werk kan zijn (<strong>en</strong> dus economisch niet verantwoord),<br />

is het zaak om te prober<strong>en</strong> algoritm<strong>en</strong> foutloos op te stell<strong>en</strong>. Voor e<strong>en</strong> klein probleem is het, na <strong>en</strong>ige ervaring<br />

opgedaan te hebb<strong>en</strong>, niet moeilijk om dit te do<strong>en</strong>. Maar naarmate de op te loss<strong>en</strong> problem<strong>en</strong> groter <strong>en</strong> complexer<br />

word<strong>en</strong>, wordt de kans op fout<strong>en</strong> ook groter. Daarom zijn er diverse techniek<strong>en</strong>, regels, system<strong>en</strong> <strong>en</strong> zelfs complete<br />

7

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

Saved successfully!

Ooh no, something went wrong!