Visual Basic/Arrays: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
JohanBeckers (overleg | bijdragen)
Nieuwe pagina aangemaakt met '{{Visual Basic02}} == Inleiding arrays == Soms heb je meerdere variabelen met dezelfde betekenis nodig. Stel je bent leraar en wilt de resultaten van een proefwer...'
(geen verschil)

Versie van 25 nov 2013 23:37

Sjabloon:Visual Basic02

Inleiding arrays

Soms heb je meerdere variabelen met dezelfde betekenis nodig. Stel je bent leraar en wilt de resultaten van een proefwerk bijhouden voor je twintig leerlingen. Je kunt 20 variabelen aanmaken, punt01 t/m punt20. Maar dat is heel omslachtig. Het is veel beter om die cijfers in een array te zetten.

Een array is eigenlijk een lijst variabelen die je benadert met een index. Vergelijk het met een boek waarvan je de inhoud benader met het nummer van de pagina. Op iedere bladzijde staat het punt van een leerling. Zo werkt een array eigenlijk ook.

Een array kan van ieder type zijn: Integer, String, Double, zelfs Object.

De elementen van een array wordt benaderd met een numerieke index, b.v. punt(5).

Het declareren van een array

Een array wordt gedeclareerd met de Dim-instructie. Het formaat is:

Dim arraynaam(bovengrens) As Type

Voorbeeld:

Dim punt(19) As Integer

Hiermee definieer je een array van 20 elementen met als index 0 t/m 19.

Je kunt als volgt heel gemakkelijk het gemiddelde van alle punten berekenen:

Dim totaal As Integer = 0
Dim gemiddelde As Decimal
For i = 0 to 19
  totaal = totaal + punt(i)
Next
gemiddelde = totaal / 20

Probeer je eens voor te stellen hoe je dit moet programmeren met 20 variabelen (of 200, of 2000....).

Initialiseren van arrays

In een Dim-instructie kun je een variabele een beginwaarde geven (zie de eerste regel van het voorbeeld hierboven). Dit is ook mogelijk bij een array. Het formaat hiervan is:

Dim arraynaam() As Type = {waarde0, waarde1, ..., waardeN}

Bijvoorbeeld:

Dim punt() As Integer = {6, 7, 4, 6, 9, 4, 6, 8, 8, 7, 8, 5, 7, 8, 8, 6, 6, 7, 9, 4}

Het aantal elementen hoef je niet op te geven, dat wordt bepaald door het aantal elementen tussen accolades.

De limieten van het array

Het eerste element van een array heeft index 0 en het laatste element index (aantal elementen - 1)

De onder- en bovengrens van een array achterhaal je met de functiesGetLowerBound en <GetUpperBound.

In ons voorbeeld levertpunt.GetLowerBound(0) de waarde 0 op en punt.GetUpperBound(0) de waarde 19. Het bepalen van het gemiddelde kan dus ook als volgt gebeuren:

Dim totaal As Integer = 0
Dim gemiddelde As Decimal
For i = 0 to punt.GetUpperBound(0)
  totaal = totaal + punt(i)
Next
gemiddelde = totaal / 20

De parameter 0 geeft aan dat de grens van de eerste dimensie van het array moet worden teruggegeven. Een array kan ook meerdere dimensies bevatten en door de 0 b.v. te vervangen door 1 krijg je de grens van de tweede dimensie van het array. Meerdimensionale array behandel ik verderop.

Het aantal elementen van een array kun je krijgen door 1 op te tellen bij de bovengrens, maar er is ook een aparte functie voor:

punt.Length

levert het aantal elementen in het array punt.

Meerdimensionale arrays

Stel de leraar wil de punten bewaren van de vakken Nederlands, Engels, Frans en Duits. Je kunt dan vier aparte arrays maken, maar het is ook mogelijk om één meerdionsionale array te maken. Dit doe je als volgt:

Dim punten(19, 3) As Integer

Je krijgt dan een tabel met 20 rijen en 4 kolommen. Iedere kolom bevat de punten van één leerling en iedere kolom bevat de punten van een bepaald vak voor alle leerlingen.

Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.