|
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
2.2.1. Wat moeten we HerhalenOnderstaand voorbeeld brengt de getallen een tot en met drie op de console. Visual Basic 2010 Broncode Module SequenceExample1 Sub Main() Console.WriteLine(1) Console.WriteLine(2) Console.WriteLine(3) Console.ReadLine() End SubEnd ModuleDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Console Application Output 1
2
3 Bovenstaande oplossing is erg statisch. Indien men de getallen een tot en met honderd op de console wil brengen, dient men 97 regels toe te voegen. Als men vervolgens slechts de getallen een tot en met vijftig op de console wil brengen, dient men opnieuw 50 regels te verwijderen.
Een meer dynamisch algoritme - om alle gehele getallen van een bepaalde startwaarde tot een bepaalde eindwaarde weer te geven - zou men kunnen definiëren aan de hand van een herhalingsstructuur (ook wel iteratiestructuur genoemd).
Hierin kunnen bepaalde instructies herhaald worden, zolang aan een bepaalde voorwaarde is voldaan.
Bovenstaand voorbeeld kunnen we ook omvormen naar onderstaande variatie. Visual Basic 2010 Broncode Module SequenceExample2 Sub Main() Dim value As Integer value = value + 1 Console.WriteLine(value) value = value + 1 Console.WriteLine(value) value = value + 1 Console.WriteLine(value) Console.ReadLine() End SubEnd ModuleDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Console Application Output 1
2
3 boven
2.2.2. Do While ... Loop HerhalingIn bovenstaand voorbeeld is duidelijk hoe dezelfde instructies hier meerdere keren herhaald worden.
Om instructies te herhalen plaats je die tussen de Do While en de Loop van een Do While ... Loop herhalingsstructuur
Om aan te geven hoeveel keer of hoelang iets herhaald moet worden formuleer je naast Do While een voorwaarde. Zolang voldaan is aan de voorwaarde wordt de body (tussen Do While en Loop) herhaald. Is niet meer voldaan of is zelfs initieel niet voldaan aan de voorwaarde wordt er verder gegaan met de instructies na Loop. Visual Basic 2010 Broncode Module DoWhileLoopExample1 Sub Main() Dim value As Integer Do While value < 3 value = value + 1 Console.WriteLine(value) Loop Console.ReadLine() End SubEnd ModuleDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Console Application Output 1
2
3 Bovenstaande instructies worden herhaald zolang het getal (value) kleiner is dan drie. Bij value gelijk aan twee, mag het nummer nogmaals verhoogd worden met een, en op de console worden gedrukt.
Het voorbeeld is eenvoudig nog dynamischer op te stellen. Door een start- en eindwaarde aan het algoritme toe te voegen, kan eenvoudig geconfigureerd worden van welke waarde tot welke waarde de getallen worden weergegeven. Visual Basic 2010 Broncode Module DoWhileLoopExample2 Sub Main() Dim startValue As Integer = 10 Dim endValue As Integer = 15 Dim value As Integer = startValue - 1 Do While value < endValue value = value + 1 Console.WriteLine(value) Loop Console.ReadLine() End SubEnd ModuleDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Console Application Output 10
11
12
13
14
15 boven
2.2.3. OefeningenOpgave :
Maak een programma dat de getallen 20 tot en met 10 op de console brengt. Console Application Output 20
19
18
17
16
15
14
13
12
11
10 Oplossing : Visual Basic 2010 Broncode Module Exercise1Solution Sub Main() Dim value As Integer = 21 Do While value > 10 value = value - 1 Console.WriteLine(value) Loop Console.ReadLine() End SubEnd ModuleDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Opgave : Maak een programma dat alle machten van 2 kleiner dan 1000 op de console brengt. Doe dit zoals onderstaand programmaverloop het voortoont. Console Application Output base : 2, exponent : 1, result : 2
base : 2, exponent : 2, result : 4
base : 2, exponent : 3, result : 8
base : 2, exponent : 4, result : 16
base : 2, exponent : 5, result : 32
base : 2, exponent : 6, result : 64
base : 2, exponent : 7, result : 128
base : 2, exponent : 8, result : 256
base : 2, exponent : 9, result : 512 Oplossing : Visual Basic 2010 Broncode Module Exercise2Solution Sub Main() Dim base As Integer = 2 Dim exponent As Integer = 1 Dim result As Integer = base ^ exponent Do While result < 1000 Console.WriteLine( "base : " & base & ", exponent : " & exponent & ", result : " & result) exponent = exponent + 1 result = base ^ exponent Loop Console.ReadLine() End SubEnd ModuleDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Opgave :
Maak een programma dat alle veelvouden kleiner dan 100 van een door de gebruiker ingevoerd getal op de console brengt ( invoer staat cursief ). Console Application Output Multiples of ... ? : 5
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50
5 x 11 = 55
5 x 12 = 60
5 x 13 = 65
5 x 14 = 70
5 x 15 = 75
5 x 16 = 80
5 x 17 = 85
5 x 18 = 90
5 x 19 = 95 Oplossing : Visual Basic 2010 Broncode Module Exercise2Solution Sub Main() Console.Write( "Multiples of ... ? : ") Dim baseValue As Integer = Console.ReadLine() Dim factor As Integer = 1 Dim multiple As Integer = baseValue * factor Do While multiple < 100 Console.WriteLine(baseValue & " x " & factor & " = " & multiple) factor = factor + 1 multiple = baseValue * factor Loop Console.ReadLine() End SubEnd ModuleDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
|