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!
Druckerfreundliche
Version
Basic
- Tutorial
|