3. Iteratiestatements In de module WO.PHP.basis heb je een aantal iteratiestatements geleerd, namelijk: Het for-statement Het while statement In C# en PHP is de syntax van deze statements gelijk aan elkaar. Ook de functie van deze statements (het herhalen van 1 of meer coderegels) is in C# en PHP gelijk aan elkaar In dit hoofdstuk zal dan ook geen uitleg van deze statements volgen. We gaan in dit hoofdstuk oefenen met deze statements in de programmeertaal C#. Oefenopdracht 3.1 In deze opdracht gaan we een programma maken waarin het totaal aantal studenten wordt bepaald in een aantal klassen. Hiervoor wordt een for-statement gebruikt. In deze oefenopdracht gebruiken we het scherm van figuur 3.1. Figuur 3.1 Op het formulier zie je een button en een datagridview. Instelling van het datagridview: Geef de eigenschap Name de waarde dgvKlassen. Voeg twee kolommen toe aan de datagridview. Doe dit bij de eigenschap Columns. In figuur 3.2 zie je het instelscherm voor kolommen in een datagridview. In dit scherm kun je de eigenschappen van elke kolom apart aanpassen. Maak twee kolommen. Eén met de naam Klas en één met de naam Aantal. Stel de eigenschappen van elke kolom als volgt in (voorbeeld bij de kolom Klas): Eigenschap HeaderText ColumnType Width Waarde Klas DataGridViewTextBoxColumn 50 Als je het programma start, dan kun je in de datagridview waarden invullen. In figuur 3.3 zie je een voorbeeld. Figuur 3.2 Figuur 3.3 Als je op de knop drukt, dan moet het totaal aantal leerlingen worden bepaald en zichtbaar worden gemaakt. In figuur 3.4 zie je de code die hiervoor nodig is. int aantalKlassen, aantalLeerlingen,totaal, i; aantalKlassen = dgvKlassen.RowCount-1; totaal=0; for (i = 0; i < aantalKlassen; i++) { aantalLeerlingen = Convert.ToInt16(dgvKlassen[1,i].Value); totaal += aantalLeerlingen; } MessageBox.Show("Totaal aantal leerlingen: "+totaal.ToString()); Figuur 3.4 In figuur 3.5 zie je een schematische voorstelling van dit stukje code. aantalKlassen = dgvKlassen.RowCount-1 totaal=0 for (i = 0; i < aantalKlassen; i++) aantalLeerlingen = Convert.ToInt16(dgvKlassen[1,i].Value) totaal += aantalLeerlingen MessageBox.Show("Totaal aantal leerlingen: "+totaal.ToString()) Figuur 3.5 Maak nu het programma af. 3.2 Uitleg van iteratiestatements Het for-statement Doel van het for-statement Eén of meer coderegels een vast omschreven aantal keren herhalen. Om het aantal herhalingen vast te stellen is een controlevariabele nodig. Vaak wordt zo’n controlevariabele ook wel een teller genoemd. Het is een variabele die de tel van het aantal herhalingen bijhoudt. Vaak wordt als variabele t, teller of i gebruikt. De teller wordt na elke herhaling verhoogd of verlaagd. De syntax van het for-statement for(teller initialiseren; voorwaarde voor de teller; veranderingswaarde van de teller) { Blok met coderegels } Figuur 3.6 De syntax van het for-statement Uitleg: teller initialiseren: hier geef je de teller een beginwaarde (bijvoorbeeld t=1) voorwaarde voor de teller: hier geef je aan welke waarden de teller mag hebben alvorens deze verhoogd of verlaagd wordt (bijvoorbeeld t<=10) veranderingswaarde van de teller: hier geef je aan met welke waarde de teller telkens wordt verhoogd of verlaagd (bijvoorbeeld t++) t++ betekent: de variabele t wordt telkens met 1 verhoogd t+=2 betekent: de variabele t wordt telkens met 2 verhoogd t-- betekent: de variabele t wordt telkens met 1 verlaagd t-=3 betekent: de variabele t wordt telkens met 3 verlaagd Voorbeeld: int som=0; int t; for(t=1; t<=10; t++) { som+=t; } Let op: de teller moet ook gedeclareerd worden en is van het type int. In bovenstaand voorbeeld worden de getallen 1 tm 10 bij elkaar opgeteld. De code som+=t betekent: verhoog de variabele som telkens met de waarde van t . Het while-statement Doel van het while-statement Eén of meer coderegels herhalen zolang aan een bepaalde voorwaarde wordt voldaan. In het while-statement speelt een booleanexpressie een belangrijke rol. Zolang de booleanexpressie de waarde true geeft, dan worden de coderegels uitgevoed of herhaald. Geeft de booleanexpressie de waarde false dan stopt de herhaling. Syntax van het while-statement while(booleanexpressie) { Blok met coderegels } Figuur 3.7 De syntax van het while-staement Uitleg booleanexpressie : een booleanexpressie die als voorwaarde dient voor het uitvoeren of herhalen van het blok met coderegels (bijvoorbeeld: aantal<=10) Voorbeeld int som=0; int aantal=1; while(aantal<=10) { som+=aantal; aantal++; } Bovenstaand voorbeeld doet hetzelfde als het voorbeeld van het for-statement. Opdracht 3.3 Maak een programma dat het gemiddelde aantal leerlingen berekend. Het leerlingaantal moet worden ingevoerd in een dataviewgrid, net zoals in leeropdracht 3.1. Maak hier gebruik van 2 knoppen. Bij de ene knop gebruik je het for-statement, bij de andere knop het while-statement Je kunt nu de laatste opdrachten maken in opdrachten_hoofdstuk3.doc in de map Opdrachten.
© Copyright 2024 ExpyDoc