Visual Basic 2012 Voorbeelden
   

visual basic 2012 broncode voorbeelden

Blijf op de hoogte van de recente aanpassingen op vbvoorbeelden!

Microsoft Visual Studio 2012Microsoft Developers Network - Visual BasicMicrosoft .NET Framework

2.2. Herhalingen met Do While ... Loop

Print Email Deel op Twitter Deel op Facebook

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.

2.2.1. Wat moeten we Herhalen

Onderstaand voorbeeld brengt de getallen een tot en met drie op de console.
Visual Basic 2012 Broncode - Codevoorbeeld 10
Module SequenceExample1
    Sub Main()
        Console.WriteLine(1)
        Console.WriteLine(2)
        Console.WriteLine(3)
        '
        Console.ReadLine()
    End Sub
End Module
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 2012 Broncode - Codevoorbeeld 11
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 Sub
End Module
Console Application Output
1
2
3

2.2.2. Do While ... Loop Herhaling

In 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 2012 Broncode - Codevoorbeeld 12
Module DoWhileLoopExample1
    Sub Main()
        Dim value As Integer
        '
        Do While value < 3
            value = value + 1
            Console.WriteLine(value)
        Loop
        '
        Console.ReadLine()
    End Sub
End Module
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 2012 Broncode - Codevoorbeeld 13
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 Sub
End Module
Console Application Output
10
11
12
13
14
15

2.2.3. Oefeningen

Opgave :

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 2012 Broncode - Codevoorbeeld 14
Module Exercise1Solution
    Sub Main()
        Dim value As Integer = 21
        '
        Do While value > 10
            value = value - 1
            Console.WriteLine(value)
        Loop
        '
        Console.ReadLine()
    End Sub
End Module
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 2012 Broncode - Codevoorbeeld 15
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 Sub
End Module
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 2012 Broncode - Codevoorbeeld 16
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 Sub
End Module

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.