Code zu Mathematik und Geometrie in Classic Visual Basic
- Ermitteln von Zufallszahlen in angegebenem Intervall
- Ermitteln des größten gemeinsamen Teilers zweier Zahlen
- Ungenaues Berechnen von π
- Ziehen beliebiger Wurzeln
- Umwandeln einer Zahl in eine Binärzeichenfolge
- Bestimmen von Minimum und Maximum in einem Array
Ermitteln von Zufallszahlen in angegebenem Intervall
Um ganzzahlige Zufallszahlen in einem angegebenen Intervall zu ermitteln, kann folgende Funktion verwendet werden. Dabei wird der von der Funktion Rnd
zurückgegebene Wert über dem Intervall skaliert:
Ermitteln des größten gemeinsamen Teilers zweier Zahlen
Die folgende Funktion berechnet den größten gemeinsamen Teiler zweier Zahlen und gibt ihn zurück:
Ungenaues Berechnen von π
Bei mathematischen Berechnungen, beispielsweise in der Trigonometrie, benötigt man oft den Wert der Kreiszahl π. Dieser kann in meist ausreichender Genauigkeit über die im Folgenden angegebene kleine Funktion berechnet werden. Sinnvollerweise sollte π nur ein Mal berechnet und dann wiederverwendet werden, damit die Laufzeit des Programms verbessert werden kann:
Ziehen beliebiger Wurzeln
Die meisten Programmiersprachen stellen eine Funktion zur Berechnung der Quadratwurzel einer Zahl zur Verfügung. Zur Berechnung der -ten Wurzel aus einer Zahl kann man darauf zurückgreifen, daß die -te (Wurzelexponent) Wurzel aus (Radikand) gleich ist. Dies läßt sich leicht in eine eigene Funktion namens Root
packen:
Die Funktion Root
zieht also die RootExponent
-te Wurzel aus Radicand
und gibt das Ergebnis zurück. Der Aufruf könnte dann folgendermaßen erfolgen:
Es ist zu beachten, daß das Ziehen der Quadratwurzel aus einer Zahl über die Visual-Basic-eigene Sqr
-Funktion bedeutend schneller durchgeführt wird, als von der oben beschriebenen Funktion Root
.
Umwandeln einer Zahl in eine Binärzeichenfolge
Um eine Zahl in einen Binärstring, bestehend aus den Zeichen 0
, 1
und -
umzuwandeln, bietet sich diese rekursive Funktion an. Die Funktion behandelt keine Vorzeichenbits, sondern fügt der Zahl an erster Stelle ein Minus hinzu, wenn es sich um eine negative Zahl handelt:
Ein möglicher Aufruf könnte wie folgt aussehen:
Eine iterative Version könnte so aussehen:
Bestimmen von Minimum und Maximum in einem Array
Folgende Funktionen geben das Minimum und das Maximum in einem Array zurück. Das Eingangsarray ist als Variant
deklariert, sodaß das Beispiel mit verschiedenen Elementdatentypen funktioniert (Min("Modem", "Harddisk", "Mouse", "Computer") = "Computer"
und Min(3, -5, 0, 9) = -5
). Die Funktionen verfügen über zwei Parameter, sodaß mindestens ein Wert an die Funktionen übergeben werden muß: