Grootste getal

Introductie

Vaak willen we veel dingen opslaan in een programma, zoals bijvoorbeeld een lijst van alle Fibonacci nummers. Eenvoudige variabelen zijn dan ineens niet groot genoeg meer. Een array kan hierbij helpen. Een array is een variabele die een aantal eenvoudige variabelen kan bevatten onder slechts één naam. U kunt zeggen dat een array een variabele is die een lijst bevat met andere variabelen.
Arrays gebruiken een index om de variabelen daarin te vinden, net zoals een boek een index heeft achterin met paginanummers. Voordat u een array gebruikt, moet u het programma vertellen hoeveel items u verwacht in de array te plaatsen. Dit betekent dat er een maximum is, dat u vooraf geeft in de zogenaamde declaration (verklaring). Merk op dat Arrays hun index bij 0, niet bij 1 starten. Dat komt omdat computers een adres hebben genaamd '0', terwijl mensen graag beginnen bij 1. We willen die ruimte niet verspillen.

John von Neumann
Hier zien we John von Neumann (1903-1957), de uitvinder van de moderne computer, programmeren, arrays, maar helaas ook de kernbom en de waterstofbom.

Tot nu toe hebben wij geen variabelen aangegeven, maar net als op het vliegveld is het beter om je spullen aan te geven, zodat het programma weet wat er gaat worden gebruikt. Dit aangeven wordt gedaan met behulp van het DIM commando.

Voorbeeld
Dim Fib(10)
Fib(0) = 0
Fib(1) = 1
Fib(2) = 1
Fib(3) = 2
Fib(4) = 3
Fib(5) = 8
Merk op dat in dit voorbeeld er ruimte is voor 11 getallen, en we gebruiken er maar 6. Dat betekent dat de overige getallen automatisch op 0 staan.

In games

Spellen hebben niet per se arrays nodig, maar het helpt zeker om ze wel te gebruiken. Denk aan een spel als 4 op een rij. Om al de zetten bij te houden kunnen we een 7 bij 4 array maken (dit heet multidimensionaal). In totaal hebben we dan 28 variabelen, en elk van deze vakjes kan een waarde hebben van "leeg", "geel" of "rood".

4 op een rij

Opdracht

In deze oefening ga je het grootste lotto getal zoeken. De lotto-nummers staan ​​in de voorbeeldcode, opgeslagen in een reeks van 6 items (5,14, 26, 8, 13, 3).
  1. begin met de variabele Grootste op 1 te zetten
  2. Maak een lus die alle getallen bekijkt (je kan FOR..NEXT of WHILE gebruiken)
  3. wanneer je een getal vindt dat groter is dan Grootste , dan zet je de waarde van Grootste op dat getal
  4. als je klaar bent, druk dan Grootste af

Pas op met

  • haakjes: Lotto zelf kan niet gebruikt worden als een variabele, je moet altijd een index gebruiken
  • sla je programma op voordat je op RUN drukt, want een oneindige lus betekent dat je je hele programma kwijt kan raken!

Verwacht resultaat

26

Veelgemaakte fouten

  • syntax fouten
  • het verwisselen van Grootste en de Array variabelen
  • groter dan gebruiken als je kleiner dan moet gebruiken (A<1, A>1)
  • incorrect gebruike van FOR..NEXT syntax

References

  • https://nl.wikipedia.org/wiki/John_von_Neumann
  • https://en.wikibooks.org/wiki/QBasic/Arrays_and_Types#Array

(Er zijn nog geen discussies in dit forum)