Fibonacci
Introductie
Normaal gesproken wordt een programma van boven naar beneden, regel voor regel, uitgevoerd. Met de GOTO opdracht kunnen we direct naar een andere regel springen, zowel naar een plek eerder, als een plek later in het programma. GOTO wordt vaak gebruikt in combinatie met IF, omdat zonder deze IF de GOTO een oneindige lus kan maken (en de computer laten vastlopen). GOTO springt altijd naar een regelnummer of de naam van een regel. Je kunt een regel een naam geven door de naam te schrijven gevolgd door een dubbele punt (":").
Voorbeeld
A=1volgende:A=A+1PRINT AIF A<11 THEN GOTO volgende
In het voorbeeld hierboven stopt het programma zodra A=11, wat betekent dat het programma de getallen 1 tot en met 10 zal laten zien.
In games
Het is waarschijnlijk moeilijk een modern spel te vinden dat nog GOTO gebruikt, omdat de meeste programmeurs GOTO een slecht idee vinden. Toch zijn er onderdelen van games waar de snelheid heel belangrijk is. Deze onderdelen worden dan vaak gemaakt met assembly. Assembly is een taal die meer direct tegen de processor praat (de CPU), en daarom sneller is dan de meeste 'gewone' programmeertalen. Assembly kent echter heel weinig opdrachten, en er is geen mogelijkheid tot herhaling, behalve met GOTO. Elke herhaling moet daarom met IF en GOTO worden gemaakt.
Sommige programmeurs nemen snelheid heel serieus, en bijvoorbeeld het spel Rollercoaster Tycoon is in zijn geheel gemaakt met assembly.

Opdracht
In deze opdracht ga je de zogenaamde Fibonacci getallen laten zien, genoemd naar Leonardo Bonacci (zie afbeelding). Hij ontdekte een reeks getallen die ontstaan door steeds twee voorgaande getallen op te tellen, beginnend met 0 en 1.

Dit zijn de eerste 10 getallen
0,1,1,2,3,5,8,13,21,34
Je gaat een programma maken om deze getallen te laten zien
- Maak een variabele A en zet hier 0 in, dan een variabele B en zet hier 1 in. Dit zijn je eerste getallen.
- Maak een 'label' met de naam 'volgende:'
- Druk A af, en tel B op bij A
- Druk B af, en tel A op bij B
- Gebruik nu een IF en een GOTO om te springen naar 'volgende:' (zolang A kleiner is dan het laatste getal).
Pas op met
- een label is een naam gevolgd door een dubbele punt. Zet geen spatie voor de dubbele punt
- sla je programma op voordat je op run drukt, want een oneindige lus zorgt er voor dat alle hangt en je je programma kwijt bent.
Verwacht resultaat
0,1,1,2,3,5,8,13,21,34
Probeer je programma eens te veranderen om meer getallen te laten zien van de reeks
Veelgemaakte fouten
- spelfouten
- het label op de verkeerde regel plaatsen
- de getallen op de verkeerde manier optellen
- groter dan gebruiken in plaats van kleiner dan (A<1, A>1)
- een oneindige lus maken door naar de verkeerde regel te springen, of door IF niet goed te gebruiken
Bronnen
- https://nl.wikipedia.org/wiki/Rij_van_Fibonacci
- https://nl.wikipedia.org/wiki/RollerCoaster_Tycoon_(computerspelserie)
- https://nl.wikipedia.org/wiki/Assembleertaal
(Er zijn nog geen discussies in dit forum)