Hoofdstuk 7: Werken met arrays

Vergelijkbare documenten
Hoofdstuk 7: Werken met arrays

Hoofdstuk 3: Keuzestructuren

Hoofdstuk 5: Functies voor getallen en teksten

Hoofdstuk 6: Zelf functies maken

Hoofdstuk 9: Menu s toevoegen

Hoofdstuk 2: Werken met variabelen

Hoofdstuk 6: Zelf functies maken

Hoofdstuk 2: Werken met variabelen

Hoofdstuk 4: Nieuwe objecten

Hoofdstuk 4: Nieuwe objecten

Hoofdstuk 5: Functies voor getallen en teksten

Hoofdstuk 1: Een eerste Visual Basic project

Hoofdstuk 1: Een eerste Visual Basic project

Stel dat u 15 tellers nodig heeft. Dat kunt u een array van tellers als volgt declareren:

1 Werken met (keuze)lijstjes: de control listbox

OPDRACHT Opdracht 2.1 Beschrijf in eigen woorden wat het bovenstaande PSD doet.

Datum. Vraag het bedrag in BEF. Reken om naar EURO. Toon het bedrag in EURO. --- Vraag het bedrag in BEF Reken om naar EURO---

Programmeren: Visual Basic

Systeemontwikkeling, Hoofdstuk 4, Tabellen maken in MS Access 2010

Info-books. Toegepaste Informatica. Handleiding. Deel 40c : Gegevensbeheer en algoritmen in Access. HA40c. Jos Gils Erik Goossens

Info-books. Toegepaste Informatica. Deel 20 : Algoritmen en programmeren in Access en Excel (Basis) AL20. Jos Gils Erik Goossens

6.2 VBA Syntax. Inleiding Visual Basic

Informatica: C# WPO 7

6.3 VBA Syntax Instructie. Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken.

INSTRUCT Samenvatting Praktijk Access 2010, H2 SAMENVATTING HOOFDSTUK 2

In de tweede regel plaatsen we in het gereserveerde stukje geheugen een getal.

VAN HET PROGRAMMEREN. Inleiding

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

Zevende college complexiteit. 7 maart Mergesort, Ondergrens sorteren (Quicksort)

Programmeren A. Genetisch Programma voor het Partitie Probleem. begeleiding:

Info-books. Toegepaste Informatica. Deel 40 : Gegevensbeheer en algoritmen in Access HA40. Jos Gils Erik Goossens

Elke groep van 3 leerlingen heeft een 9 setje speelkaarten nodig: 2 t/m 10, bijvoorbeeld alle schoppen, of alle harten kaarten.

Programmeren in Excel VBA beginners. Karel Nijs 2010/09

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

algoritmiek - antwoorden

Bij het opstarten van dit onderdeel van het programma zal het laatst ingevoerde plan worden weergegeven.

VAN HET PROGRAMMEREN. Inleiding. Het spiraalmodel. De programmeertaal. vervolgens de berekening van het totale bedrag, incl. BTW:

Informatica: C# WPO 9

Small Basic Programmeren Text Console 2

Systeemontwikkeling, Hoofdstuk 6, Query s, macro s en rapporten in MS Access 2010

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd

voegtoe: eerst methode bevat gebruiken, alleen toevoegen als bevat() false is

Het voert eenvoudige instructies uit die achter elkaar in het geheugen van de machine zijn opgeslagen.

Blog-Het gebruik van variabelen in Excel VBA

3. Structuren in de taal

II. ZELFGEDEFINIEERDE FUNCTIES

2.4.4 LibreOffice Werkblad Mac

Een eerste applicatie

Inleiding Visual Basic en VBA. Karel Nijs 2009/01

Inleiding tot programmeren: Javascript

Macro's in OpenOffice.org

Informatica: C# WPO 10

Datum, Tijd en Timer-object

4 Tabellen maken in MS Access In dit hoofdstuk starten we met de bouw van ons informatiesysteem met de belangrijkste bouwstenen: de tabellen.

INHOUD. Ten geleide Excel Basis 15

Stap 1. Bepalen van invoer Het makkelijkst kun je dit vinden uit de zwarte vlakken met voorbeelden:

Courbois Software. Extra categoriën toevoegen aan de WebWinkel

VBA voor doe het Zelvers deel 22. Handleiding van Helpmij.nl. Auteur: leofact

Van CaseTalk naar een database in SQLite studio

Variabelen en statements in ActionScript

Informatica: C# WPO 11

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

Cursus Excel voor beginners (6) Functies.

[14] Functies. Volg mee via 14_Functies-1.py. We beginnen met een eenvoudig voorbeeldje:

Briefhoofd maken in Word. Handleiding van Helpmij.nl

Examen Datastructuren en Algoritmen II

Som Van Twee Getallen

Zevende college algoritmiek. 24 maart Verdeel en Heers

Programmeermethoden NA

Office LibreOffice Werkblad gebruiken

Cursus Onderwijs en ICT. Programmeren met Visual Basic

Met de functies Verticaal zoeken of Horizontaal zoeken kun je gegevens in het rekenblad laten opzoeken en weergeven.


Zevende college complexiteit. 17 maart Ondergrens sorteren, Quicksort

Met een mailing of massaverzending kunt u een groot aantal documenten verzenden naar gebruikelijke adressen, die in een gegevensbestand staan.

9.19 Macro s: oefeningen

Systeemontwikkeling, Hoofdstuk 5, Formulieren maken in MS Access 2010

EXCEL MACRO ZET TEKST IN GESELECTEERDE CELLEN OM: NAAR KLEINE LETTERS NAAR KLEINE LETTERS MET BEGINHOOFDLETTER NAAR HOOFDLETTERS

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40

Trainingsomschrijving Excel 97 / 2000 / 2003 NL

WERKOMGEVING... 3 INSTELLINGEN... 3 BASISVAARDIGHEDEN... 3 INVOEREN GEGEVENS... 3 OPMAAK... 3

Programmeermethoden NA. Week 6: Lijsten

Handleiding Afdrukken samenvoegen

Opleidingscatalogus: Automatisering

Tiende college algoritmiek. 26 april Gretige algoritmen

Parallelle Poort Aansturen Met Visual Basic

2.2 Een tabel ontwerpen


9.18 Macro s: oefeningen

Inhoudsopgave Visual Basic 6.0

In het CMS is het mogelijk om formulieren aan te maken. Voorafgaand een belangrijke tip:

Tentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft

BLOK 3 HOOFDSTUK 8 PARAGRAAF 2

Windows applicaties met VB.NET VB Express 2010

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

extra oefening algoritmiek - antwoorden

Transcriptie:

Programmeren in Microsoft Visual Basic 2010 Express, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Vespucci College, Marnix Gymnasium Rotterdam, december 2011 Hoofdstuk 7: Werken met arrays 7.0 Leerdoel In dit zevende hoofdstuk van de cursus Programmeren in Visual Basic leer je: - kennis maken met de volgende onderdelen van een Visual Basic project: een array (rij van getallen of teksten) met vaste lengte een array (rij van getallen of teksten) met variabele lengte - nieuwe gebeurtenissen in een project beschrijven met programmacode, zoals: getallen of teksten aan een array toevoegen getallen of teksten uit een array gebruiken een array sorteren We doen dat aan de hand van de voorbeeldprojecten: - Getallenrij1 - Sorteerrij - Getallenrij2 Met dit hoofdstuk ben je, afhankelijk van je tempo, ongeveer 2 lesuren van 50 minuten bezig. 64

7.1 Wat is een array? Een array is een rij van getallen of teksten en wordt gebruikt op het moment dat je op de rij getallen of teksten een bewerking uit wilt voeren. Je gebruikt een array bijvoorbeeld als je een gemiddelde wilt berekenen van een aantal getallen, een getal in een rij getallen (een high score lijst) wilt invoegen, een CD aan je CD verzameling wilt toevoegen, een rij getallen of teksten wilt sorteren, enz. In Visual Basic is een array net als Integer, String en Boolean een gegevenstype waar je gebruik van kunt maken. We maken eerst weer een eenvoudig programmaatje om een gemiddelde van 5 cijfers te berekenen. We gebruiken daarbij een rij waarvan de lengte (5 getallen) vaststaat. Maak een formulier frmgetallenrij met daarop tekstvelden txtgetal1 t/m txtgetal5, een knop btngemiddelde en een tekstveld txtgemiddelde : De bijbehorende programmacode is: Met de opdracht: Dim getallenrij(5) As Single geef je op dat de variabele getallenrij 5 getallen bevat, genummerd 1 t/m 5, van het type Single. Je kunt een waarde toekennen aan bijvoorbeeld het derde getal uit de rij met de opdracht: getallenrij(3) =. zo n opdracht wordt gebruikt bij het lezen van de getallen Je kunt bijvoorbeeld het derde getal uit de rij oproepen en gebruiken met de opdracht:. = getallenrij(3) zo n opdracht wordt gebruikt bij het ophogen van de som Sla het project op onder de naam Getallenrij1. 65

7.2 Een rij sorteren Eén van de bewerkingen die je op een rij zou kunnen toepassen is sorteren. Een bekende methode om te sorteren is de bubblesort methode. Bij de bubblesort methode worden de eerste twee getallen met elkaar vergeleken. Als de getallen niet in de goede volgorde staan worden ze verwisseld. Vervolgens worden het tweede en derde getal met elkaar vergeleken. Als ze niet in de goede volgorde staan worden ze verwisseld. 12 8 15 4 10 8 12 15 4 10 8 12 15 4 10 8 12 4 15 10 8 12 4 10 15 Het grootste getal eindigt zo altijd op de laatste plaats en is, bij wijze van spreken, naar boven geborreld. Vervolgens wordt de procedure steeds weer van voren af aan herhaald in een volgende bubble : 8 12 4 10 15 8 12 4 10 15 8 4 12 10 15 8 4 10 12 15 Bij deze bubble hoeven reeds opgeborrelde, gesorteerde getallen uit de rij natuurlijk niet nog eens te worden vergeleken.bij de laatste bubble komen de getallen in de juiste volgorde te staan: 8 4 10 12 15 4 8 10 12 15 4 8 10 12 15 66

We gaan het bubblesort algoritme in Visual Basic programmeren. Maak een formulier frmsorteerrij met daarop tekstvelden txtgetal1 t/m txtgetal5, een knop cmdsorteer en de tekstveld txtsortgetal1 t/m "txtsortgetal5 : De bijbehorende programmacode is: In deze programmacode worden allereerst alle getallen in een array geplaatst. Teller1 telt het aantal bubbles af en teller2 zorgt dat alle getallen binnen één bubble met elkaar worden vergeleken. Als een getal groter is dan zijn rechterbuurman worden de getallen verwisseld. Merk op dat er een hulp gebruikt wordt bij het verwisselen van de getallen. Sla het project op onder de naam Sorteerrij. De bubblesort methode is niet de meest efficiënte sorteermethode die er bestaat. Een efficiëntere methode is de quicksort methode. Deze wordt in deze programmeercursus verder niet behandeld. 67

7.3 Rijen van variabele lengte In paragraaf 7.1 is besproken hoe met behulp van een array het gemiddelde van 5 cijfers kan worden bepaald. Daarbij werd een array met een vaste lengte van 5 getallen gebruikt. In deze paragraaf wordt uitgelegd hoe je een array kunt gebruiken van variabele lengte. Maak een ieuw projet bestaand uit een formulier frmgemiddelderij met daarop de labels lblcijfer en lblaantal, het tekstveld txtcijfer, een knop btnvoegtoe, een knop btngemiddelde en een tekstveld txtgemiddelde : In het tekstveld txtcijfer kan de gebruiker van dit formulier zoveel cijfers invoeren als hij zelf wil. Na een druk op de knop verschijnt in het tekstveld txtgemiddelde het gemiddelde. De afbeelding hierboven toont het resultaat bij invoer van de cijfers 4, 6, 7, 8, 9 en 9. De programmacode is als volgt: De programmacode wordt op de volgende pagina uitgelegd. 68

Als variabele wordt een nog lege array met de naam cijferrij van het type Single opgegeven Dim cijferrij() As Single Bij het laden van het formulier krijgt de cijferrij een startdimensie of startlengte 1. Dat gebeurt met de opdracht ReDim (herdimensioneer). Als nulde getal van de rij wordt het getal 0 ingevoerd. Private Sub Form_Load() ReDim cijferrij(0) As Single cijferrij(0) = 0 End Sub Bij het toevoegen van cijfers met de knop btnvoegtoe wordt: - met de opdracht i = Ubound(cijferrij) eerst bepaald uit hoeveel getallen de rij bestaat - met de opdracht ReDim Preserve cijferrij(i+1) een plekje aan de rij toegevoegd ( de toevoeging Preserve zorgt ervoor dat reeds ingevoerde getallen opgeslagen blijven ) - met de opdracht cijferrij(i + 1) = wordt het toegevoegde plekje gevuld met het cijfer - daarna wordt het invoervak schoongemaakt en de label lblaantal opgehoogd Private Sub btnvoegtoe_click() i = UBound(Cijferrij) ReDim Preserve Cijferrij(i + 1) Cijferrij(i + 1) = txtcijfer.text txtcijfer.text = "" lblaantal.text = i + 2 End Sub Bij het bepalen van het gemiddelde worden de getallen uit de rij (met uitzondering van het nulde getal) opgeteld en gedeeld door het aantal cijfers waaruit de rij bestaat. Private Sub btngemiddelde_click() Dim aantal As Integer Dim gemiddelde, som As Single aantal = UBound(Cijferrij) For j = 1 To aantal som = som + Cijferrij(j) Next gemiddelde = som / aantal txtgemiddelde.text = gemiddelde End Sub Sla het project op onder de naam Getallenrij 2. 69

7.4 De DVD lijst Maak een project De DVD lijst, waarin je in een invoervak DVD s kan toevoegen aan een array en waarop een knop staat waarmee een alfabetisch gesorteerde lijst van DVD s wordt afgedrukt. 70