Functies 3: oplossingen
- Een functie voor het kwadraat
Function kwadraat(getal As Single) As Double
kwadraat = getal * getal
End Function
- Een functie om een string om te draaien
Function inverteer(tekst As String) As String
Dim letter As String
Dim buffer As String
Dim positie As Integer
For positie = Len(tekst) To 1 Step -1
buffer = buffer & Mid(tekst, positie, 1)
Next positie
inverteer = buffer
End Function
- Een functie die een tekst AfWiSsElLeNd in hoofd- en kleine letters zet.
Function hoofdletter(tekst As String) As String
Dim letter As String
Dim buffer As String
Dim positie As Integer
For positie = 1 To Len(tekst)
letter = Mid(tekst, positie, 1)
If positie Mod 2 = 1 Then
letter = UCase(letter)
Else
letter = LCase(letter)
End If
buffer = buffer & letter
Next positie
hoofdletter = buffer
End Function
- Een functie die nagaat of een getal priem is
Function IsPriem(getal As Integer) As Boolean
Dim deler As Integer
IsPriem = True
If (getal \ 2) * 2 = getal Then IsPriem = False 'is twee een deler?
For deler = 3 To Sqr(getal) Step 2
If (getal \ deler) * deler = getal Then IsPriem = False 'zijn er andere delers?
Next deler
End Function
- Het kleinste gemeen veelvoud van twee getallen
Function KGV(getal1 As Integer, getal2 As Integer) As Integer
'de gemakkelijke weg: optellen
Dim test As Integer
Dim start As Integer
start = getal1
If getal2 > start Then start = getal1
test = start
Do
If test Mod getal1 = 0 And test Mod getal2 = 0 Then
KGV = test
Exit Do
Else
test = test + 1
End If
Loop
End Function
- De grootste gemene deler
Function ggd(getal1 As Integer, getal2 As Integer)
'de gemakkelijke weg: aftellen
Dim start As Integer
Dim test As Integer
start = getal1
If getal2 < start Then start = getal2
test = getal2
Do
'MsgBox test
If getal1 Mod test = 0 And getal2 Mod test = 0 Then
ggd = test
Exit Do
Else
test = test - 1
If test = 0 Then Exit Do
End If
Loop
End Function
Function min(getal1, getal2)
If getal1 < getal2 Then
min = getal1
Else
min = getal2
End If
End Function
- Een functie die het eerstvolgende priemgetal geeft
Function geefPriem(start As Integer) As Integer
Dim buffer As Integer
buffer = start
If buffer < 2 Then
geefPriem = 2
Exit Function
End If
If buffer = 2 Then
buffer = 3
Else
Do
buffer = buffer + 2
Loop Until IsPriem(buffer)
End If
geefPriem = buffer
End Function
Function IsDeelbaar(ByVal getal As Double, ByVal deler As Integer) As Boolean
IsDeelbaar = False
If (getal \ deler) * deler = getal Then IsDeelbaar = True
End Function
[VB Web] - [hlrnet] - [copyright]