Galileo Computing < openbook >
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung

...powered by haas.homelinux.net...

Einstieg in VB.NET von René Martin
- Für Programmiereinsteiger -
Einstieg in VB.NET
gp Kapitel 2 Aufbauwissen VB.NET
  gp 2.1 Ein zweiter Dialog
  gp 2.2 Ein Süßigkeitenautomat
  gp 2.3 Eine Listbox
  gp 2.4 With ... End With
  gp 2.5 Die Liste
  gp 2.6 Eine ComboBox
  gp 2.7 Die Select-Case-Verzweigung
  gp 2.8 Ein theoretischer Exkurs: Ereignisse
    gp 2.8.1 Dynamisch ein- und ausblenden
    gp 2.8.2 Dynamische Größenänderung
  gp 2.9 Zwei völlig überflüssige Beispiele
  gp 2.10 Schleifen
  gp 2.11 For ... Next
  gp 2.12 Do ... Loop
  gp 2.13 Eine Schleife über den Süßigkeiten
  gp 2.14 Ein theoretischer Exkurs: Sammlungen oder Collections
  gp 2.15 Die For ... Each-Schleife
  gp 2.16 Schleifen spielerisch
    gp 2.16.1 Primzahlen
    gp 2.16.2 Fibonacci-Zahlen
    gp 2.16.3 ggT und kgV
    gp 2.16.4 Ein Scherz zum Schluss
  gp 2.17 Rekursives Programmieren
  gp 2.18 Arrays (Datenfelder)
    gp 2.18.1 Eindimensionale Arrays
    gp 2.18.2 Mehrdimensionale Arrays
  gp 2.19 Konstanten
  gp 2.20 Funktionen
  gp 2.21 Zusammenfassung


Galileo Computing

2.20 Funktionen  toptop

Bisher wurden schon eine Reihe von internen Funktionen verwendet, nun soll erklärt werden, wie man eigene Funktionen schreibt. Der Hintergrund von Funktionen ist ähnlich wie der von Prozeduren: Es werden Codezeilen ausgelagert, die von mehreren Stellen aufgerufen werden können. In der Regel werden Prozeduren verwendet, um bestimmte Aktionen durchzuführen, während Funktionen normalerweise einen Wert zurückgeben. Allerdings sind die Grenzen fließend – man könnte es auch anders machen. Ich halte diese Trennung allerdings für sinnvoll und beschreibe sie auch so. Dabei gibt es verschiedene Möglichkeiten.

Zum einen sind dies Funktionen, die eine Konstante zurückgeben. In der Klasse System.Math stellt VB.NET die beiden Konstanten E und PI zur Verfügung. Als benutzerdefinierte Funktionen sind sie einfach zu erstellen, wie beispielsweise folgende, die aus JavaScript bekannt sind.

Function WURZEL2() As Double
   Return System.Math.Sqrt(2)
End Function

Oder auch folgende Konstante, mit welcher der goldene Schnitt berechnet werden kann:

Function GOLDENERSCHNITT() As Double
   Return = 0.5 * System.Math.Sqrt (5) + 0.5
End Function

Gerade im Bereich der Naturwissenschaften lässt sich eine Vielzahl von Konstanten finden, die als benutzerdefinierte Funktionen gespeichert werden können. Diese einfachen Beispiele zeigen bereits den Grundaufbau einer Funktion. Eine Funktion gibt einen Wert zurück, deshalb findet sich hinter der Klammer der Typ des Rückgabewerts. Was zurückgegeben wird, wird in der Funktion durch ein Return gekennzeichnet.

Daneben gibt es zum anderen Funktionen, die ein Argument verarbeiten. Aus der Klasse System.Math sind folgende Funktionen bekannt:

Tabelle 2.2   Die mathematischen Funktionen
Funktion Bedeutung Beispiel
Sqrt Wurzel Sqrt(16) liefert 4
Abs der Absolutwert einer Zahl Abs(4) liefert 4
Abs(-4) liefert 4
Ceiling die kleine ganze Zahl, die größer oder gleich der angegebenen Zahl ist Ceiling(1.75) liefert 2
Floor die kleine ganze Zahl, die kleiner oder gleich der angegebenen Zahl ist Ceiling(1.75) liefert 1
Sign gibt das Vorzeichen der Zahl zurück Sign(3.3) liefert 1
Sign(0) liefert 0
Sign(-3.3) liefert -1
Log gibt den Logarithmus einer Zahl zur Basis »e« zurück Log(2) liefert 0,6931
Log10 gibt den Logarithmus einer Zahl zur Basis 10 zurück Log10(100) liefert 2
Exp die Exponentialzahl Exp(4) liefert 54,5981
Sin
Cos
Tan
Asin
Acos
Atan
Atan2
die trigonometrischen Funktionen  
Sinh
Cosh
Tanh
die hyperbolischen Funktionen  

Solche Funktionen sind bereits beschrieben worden: die Quersumme oder die Primzahlen. In der obigen Liste fehlen einige Funktionen, da sie zwei Argumente benötigen:

Tabelle 2.3   Die mathematischen Funktionen, die zwei Argumente verarbeiten
Funktion Bedeutung Beispiel
IEEERemainder gibt den Rest der Division zweier Zahlen zurück IEEERemainder(2, 7) liefert 1
Pow potenziert zwei Zahlen miteinander Pow(4, 2) liefert 16
Max
Min
gibt die größere oder kleinere Zahl zurück Max(4, 2) liefert 4
Min(4, 2) liefert 2
Round rundet eine Zahl Round(4.2562, 2) liefert 4,26

Es lassen sich noch viele Beispiele denken, in denen mehrere Parameter benötigt werden: finanzmathematische Berechnungen (beispielsweise zur Rentenversicherung), Berechnungen aus naturwissenschaftlichen Diskursen oder auch einfache geometrische Berechnungen. So kann beispielsweise aus den drei Seiten eines Dreiecks der Flächeninhalt bestimmt werden oder das Volumen eines Kegelstumpfes aus der Höhe und den beiden Radien:

Function DREIECK_FLÄCHE _
   (SeiteA As Double, SeiteB As Double, _
   SeiteC As Double) As Double
   Dim dblAlPHA As Double
   dblAlPHA = System.Math.Acos((SeiteB ^ 2 + _
   SeiteC ^ 2 - SeiteA ^ 2) / (2 * SeiteB * SeiteC))
   Return 0.5 * SeiteB * SeiteC * System.Math.Sin(dblAlPHA)
End Function

Einige der Funktionen sind überladen, das heißt, sie nehmen einen, zwei oder mehrere Parameter auf. Wie man solche Funktionen konstruiert und was es mit ihnen auf sich hat, wird im übernächsten Kapitel ausführlich beschrieben.

  

VB.NET

Einstieg in ASP.NET

Einstieg in C#

Visual C#

VB.NET und Datenbanken

Einstieg in XML