FreeBasic: Operatoren

Aus Wikibooks
Zur Navigation springen Zur Suche springen

Wir haben bereits gelernt, Variablen zu deklarieren. Allein nützen diese allerdings nur wenig, solange wir nicht gelernt haben, damit umzugehen. Dazu verwenden wir die sogenannten Operatoren, das sind Befehle, die aber vom Aussehen mathematischen Symbolen gleichen und eine wesentliche Rolle bei der Programmierung spielen.

Der Zuweisungsoperator[Bearbeiten]

Der einfachste und wohl wichtigste Operator ist der Zuweisungsoperator. Er sieht aus wie ein Gleichzeichen „=“ und sorgt dafür, dass das Ergebnis des rechts davon stehenden Ausdrucks in der Variable links davon gespeichert wird:

' Ein einfaches Zuweisungsprogramm
dim i as integer
i = 124 ' Wir weisen i den Wert 124 zu.
print i ' Gibt nun 124 aus.

' Man kann auch andere Datentypen zuweisen:
dim strdata as string
dim a as double
strdata  = "Das ist ein Text der gespeichert wurde."
a = 19.23456

i = 36 ' Man kann einer Variablen jederzeit einen neuen Wert zuweisen, der den alten ersetzt.
print i ' Gibt jetzt 36, nicht mehr 124 aus.

Natürlich sollte der Typ des zugehörigen Ausdrucks der Variable, in die man diesen speichern möchte entsprechen. Folgendes ist beispielsweise nicht möglich:

dim i as integer
i = "Das ist keine Zahl"

dim strdata as string
strdata = 12 ' Geht nicht, weil 12 eine Zahl ist.
strdata = "12" ' So geht es, weil "12" ein Text ist.

In vielen Fällen versucht der Compiler allerdings die Daten so umzuwandeln, dass er sie zuweisen, kann, was unerwartete Folgen haben kann:

dim i as integer
i = 3.921
print i ' Gibt 4 aus, weil i nur Ganze Zahlen speichern kann, Dezimalzahlen werden mathematisch gerundet.

Die Grundrechenarten[Bearbeiten]

Computer waren ursprünglich als Rechenmaschinen gedacht und natürlich bietet auch FreeBasic Rechenoperatoren an. Diese funktionieren genauso, wie man es in der Schule gelernt hat, sehen aber teilweise ein bisschen anderes aus als man es gewohnt ist.

dim i as integer
i = 2 + 3 ' i erhält den Wert 5
 
i = 5 - 8 ' Jetzt ist i = -3
 
i = 2 * 3 ' Das Malzeichen sieht aus wie ein Sternchen.
 
i = 11 / 4 ' Das Geteiltzeichen ist ein Strich. ACHTUNG: Es wird mathematisch gerundet
 
print i ' Gibt jetzt 3 aus weil 11 / 4 = 2.75, gerundet 3
 
i = 9 \ 2.1 ' Ganzzahlendivision mit Rest. 2.1 wird vorher gerundet.
 
print i ' Gibt jetzt 4 aus weil 9 / 2 = 4 Rest 1.
 
' Natürlich sind auch schwierige Terme mit Klammern möglich, z.B.
i = (6+3)*2 - 1

Häufig wollen wir aber nicht nur feststehende Zahlen addieren, sondern Variablen. Auch das ist möglich, in dem wir den Namen der Variablen einfach an der gewünschten Stelle einfügen, wie in folgenden Programm:

dim as integer x,y,z
x = 4
y = 7
z = x * y
print x," * ",y," = ", z
sleep
end

weitere mathematische Operatoren[Bearbeiten]

Neben den 4 Grundrechenarten gibt es noch 3 weitere Rechenoperatoren, die ebenfalls nützlich sind:

Der Restoperator[Bearbeiten]

Der Restoperator gibt den bei eine Division entstanden Rest aus. Statt eines Symbol hat er den Kürzel „mod“ für das Wort modulo. Ansonsten ist die Syntax identisch zu dem er Ganzzahldivision, nur dass jetzt der Rest und nicht der Quotient zurückgegeben wird:

dim i as integer
i = 23 mod 8 ' 23 / 8 = 2 Rest 7
print i ' gibt 7 aus.

i = ((6*3) mod 2) + 5 ' So was geht auch.

Der Exponentialoperator[Bearbeiten]

Auch die Exponentialrechnung ist in Freebasic möglich. Da man im Quellcode schlecht hochgestellten Text verwenden kann, wird für die Exponentialrechnung einfach das Dachzeichen „^“ verwendet.

dim i as integer
i = 2^4 ' i erhält den Wert 2^4=16

Der Stringverkettungsoperator[Bearbeiten]

Manchmal ist es nützlich, 2 Zeichenketten „zusammenzukleben“. Hierfür kann zum einen das Pluszeichen verwendet werden. Um allerdings das Verketten zu verdeutlichen, verwendet man lieber das Und-Zeichen „&“.

dim as string sName, vorname, nachname 
vorname = "Max" & " " & "Marius"
nachname = "Mustermann"
sName = vorname & " " & nachname
print sName ' Gibt "Max Marius Mustermann" aus.

Die logischen Operatoren[Bearbeiten]

TODO