Ich möchte
hier versuchen, eine kleine Einführung in die
Programmiersprache Basic zu geben, obwohl alle hier
aufgeführten Programme und Befehle auf der
Microsoft®'schen Version QuickBASIC 4.5
basieren.
Alle, die (Quick)Basic schon kennen, mögen
mir verzeihen, sollte ich irgendetwas nicht vollkommen
Zutreffendes schreiben, und mich per Mail
korrigieren!
Basic arbeitet – wie alle
anderen Programmiersprachen – mit Schleifen,
Bedingungen und automatischer Auswahl bestimmter Variablen
oder Prozeduren, um den Programmablauf zu steuern oder
einfach bestimmte Befehle nur dann auszuführen, wenn
irgendetwas gegeben ist!
Erst einmal sollte gesagt
werden, dass Sie in einer Programmiersprache immer mit
Variablen arbeiten werden. Variablen können (fast)
heißen, wie Sie möchten. Sie können Groß-
und Kleinbuchstaben, sowie Ziffern und Punkte in ihrem
Namen verwenden, jedoch muss unbedingt ein Buchstabe am
Anfang stehen! Um Variablen benutzen zu können,
müssen sie nicht wie in vielen anderen
Programmiersprachen üblich, am Anfang des Programms
erst initialisiert werden, sondern können inmitten
Ihrer Programme einfach eingeführt werden, ohne dass
sie vorher erwähnt wurden! Dies sollte nun
allerdings keine Ermunterung dazu sein, sie nicht vorher
erst zu deklarieren, denn geschieht die nicht, so ist es
durchaus möglich, dass irgendein Speicherbereich (in
Arbeitsspeicherbereichen werden Variablen abgespeichert)
für diese neue Variable genutzt wird, ohne dass er
vorher erst gelöscht würde. Das würde dann
darin resultieren, dass diese neu eingeführte Variable
irgendeinen Wert hat, der nicht voraus zu bestimmen ist und
der sich mit jedem Programmaufruf ändern
kann.
Variablen können in QuickBASIC wie folgt
initialisiert werden: DIM [SHARED]
Variable[(Indizes)] [AS Typ] [, Variable[(Indizes)] [AS
Typ] [, ...] ]
Diese oben aufgeführten
vielen Möglichkeitender Deklaration werden erst bei
tiefergehender Erläuterung klar: 'DIM'
ist der Befehl zur Deklaration.
Das
optionale Argument 'SHARED'
lässt einen Prozedur-übergreifenden (ein
Programm kann aus mehreren unzusammenhängenden
Prozeduren bestehen) Zugriff auf diese Variable zu. Wird es
nicht benutzt und eine andere Prozedur aufgerufen, so wird
der Speicherbereich für die deklarierte Variable
wieder freigegeben und die Variable gelöscht!
Die
Indizes geben die Dimension eines Datenfeldes an. Ein
Datenfeld besteht aus eienr Variable (z.B. 'x') und vielen
zu ihr gehörenden Indizes. Das heißt, man kann
einer Variable mehrere Werte zuweisen und sie auch getrennt
voneinander wieder abfragen: 'DIM
x(1 TO 10) AS INTEGER' bedeutet, dass sowohl x(1)
als auch x(2)
und ... und
x(10) jeweils
einen Wert haben können.
'AS
Typ' beschreibt, ob die Variable vom Typ 'INTEGER',
'LONG','SINGLE', 'DOUBLE' oder 'STRING' ist!
Datentyp
|
Bezeichnung
|
Minimum
|
Maximum
|
Größe
|
'INTEGER'
|
Ganzzahlen
|
von
-32768 (- (2)^15 )
|
bis
+32767 ( (2^15) – 1)
|
16 Bit
|
'LONG'
|
Lange Ganzzahlen
|
von -2147483648 (-
2^31)
|
bis +2147483647 (
(2^31) – 1)
|
32 Bit
|
'SINGLE'
|
Gleitkommazahlen
einfacher Genauigkeit
|
±1,401298
* 10^(-45)
|
±3,402823
* 10^38
|
32 Bit
|
'DOUBLE'
|
Gleitkommazahlen
doppelte Genauigkeit
|
±4,940656
* 10^(-324)
|
±1,7976931
* 10^(308)
|
64 Bit
|
'STRING'
|
Zeichenketten
|
0 Zeichen
|
32767 Zeichen
|
32
|
Bei
jeder Initialisierung einer Variable wird ihr der benötigte
Platz (wird von ihrem Typ bestimmt) zugewiesen und sie wird
als '0' oder entsprechend, wenn es eine Variable vom Typ
'STRING' ist, als Nullzeichenkette ("")
definiert.
Um Benutzereingaben in einer
Variablen zu speichern und auszuwerten gibt es Befehle
wie:
INPUT
[;] ["..." ; | "..." ,] Variable [,
Variable [, Variable [, ...] ] ]
Ein
Eingabecursor erscheint und stellt eine Eingabezeile zur
Verfügung, welche 255 Zeichen aufnehmen kann.
Tasten wie Einfügen oder Entfernen sowie Ende und
Pos 1 werden interpretiert, das heißt, man kann
alles, was man hier eingegeben hat auch editieren, bis
man Enter gedrückt und damit die Eingabe bestätigt
hat. Ein Manko hat der INPUT-Befehl alledings
trotzdem: gibt man ein Komma ein (z.B. 'Schneider,
Mark'), so erwartet der PC: 'Korrigieren
Sie die Eingabe'!
Gibt man z.B. 'INPUT
"Nett, oder"; x$' ein, so schreibt Ihr
Programm 'Nett,
oder?' in die DOS-Zeile und wartet dann auf eine
Eingabe Ihrerseits. Diese Eingabe kann auch nur aus
einem Tastendruck auf Enter bestehen, x$ wird dann zu
einer Leerzeichenkette ("").
'INPUT
"Bitte irgendetwas eingeben: ", x$' würde
in 'Bitte
irgendetwas eingeben:' resultieren, das heißt,
das Semikolon schreibt am Ende ihrer Anfrage noch ein '?
' hin wohingegen ein normales Komma Ihre Anfrage
so lässt, wie Sie sie hingeschrieben haben!
|
Die
INKEY$-Funktion hingegen wird eher benutzt, um in
der Navigation in einem größeren Programm nur
eine Tastatureingabe zu erfassen, das heißt, es
wird nur ein eingebenes Zeichen der Tastatur eingelesen
(kann auch mit Shift oder Strg kombiniert werden) und
nicht auf dem Bildschirm ausgegeben, sondern nur –
wie oben – in einer Variable gespeichert!
Ein
Befehl in einem Programm würde folgendermaßen
aussehen: 'x$ =
INKEY$'
|
Mit dem
PRINT-Befehl könnte man dann das eben Erfasste
wieder ausgeben ('PRINT
x$' oder 'PRINT
"Wirklich nett..."'), jedoch ist es
wesentlich interessanter, mit den aufgenommenen
Zeichenketten auch irgendetwas zu tun, z.B. sie zu
verändern, in eine Datei zu schreiben oder aus ihnen
Neue zu generieren, aber darauf komme ich
später!
Normale
Version
Basic
- Tutorial
|