image: basic-logo.png

BASIC (1964)

John G. Kemeny & Thomas E. Kurtz

BASIC ist eine Pro­gram­mier­spra­che, die in den 1960er Jah­ren von John G. Kemeny und Thomas E. Kurtz am Dartmouth College ent­wick­elt wur­de. Sie wur­de ur­sprüng­lich für Anfänger ent­wick­elt, um das Pro­gram­mier­en zu er­ler­nen. Der Name BASIC steht für "Beginner's All-purpose Symbolic Instruction Code". BASIC wur­de in den 1970er und 1980er Jah­ren auf vielen Heimcomputern ein­ge­setzt. Es gibt viele verschiedene Versionen von BASIC, da­run­ter Micro­soft BASIC, Commo­dore BASIC und Sinclair BASIC.

Heutzutage ist BASIC weniger relevant als moderne Pro­gram­mier­spra­chen, wird aber immer noch in Bildungskontexten und von Enthusiasten ver­wen­det, um die Grundlagen des Pro­gram­mier­ens zu lehren und historische Com­putersysteme zu emulieren.

1. Hello, World!

BASIC ist eine Skript­spra­che, was bedeutet, dass der Code zur Laufzeit interpretiert wird.

Früher wur­de BASIC auf vielen Heimcomputern ein­ge­setzt, da­run­ter der Commo­dore 64, der Apple II und der Sinclair ZX Spectrum. Im Work­space kannst du BASIC-Pro­gramme z. B. mit Bywater BASIC (bwBASIC) ausführen.

Du hast zwei Möglichkeiten, BASIC-Code auszuführen:

  1. Du kannst BASIC-Code direkt in der BASIC-Shell ausführen.
  2. Du kannst BASIC-Code in einer Textdatei speichern und dann ausführen.

Möglichkeit 1: BASIC-Code in der BASIC-Shell ausführen

Öffne dazu ein Ter­mi­nal, indem du entweder StrgJ drückst oder das Panel-Symbol rechts oben drückst. Dein Fenster sollte jetzt ungefähr so aussehen:

Starte nun die BASIC-Shell, indem du bwbasic eingibst und dann Enter drückst. Du solltest eine Ausgabe wie diese sehen:

Jetzt kannst du BASIC-Code direkt in der Shell eingeben und ausführen. Schreibe einfach PRINT "Hello, world!" und drücke Enter. Du solltest die Ausgabe Hello, world! sehen.

Du kannst die BASIC-Shell wieder beenden, indem du SYSTEM eingibst und Enter drückst oder einfach StrgD drückst.

Möglichkeit 2: BASIC-Code in einer Textdatei speichern und ausführen

BASIC-Pro­gramme werden in Textdateien mit der Endung .bas geschrieben. Ein BASIC-Interpreter liest anschließend den Quelltext und führt ihn aus.

Stelle zuerst sicher, dass du keinen Ordner geöffnet hast. Um sicherzugehen, drücke einfach den Shortcut für »Ordner schließen«: StrgK und dann F. Dein Work­space sollte jetzt ungefähr so aussehen:

Quelltext schreiben

Klicke auf »New File« und wähle als Dateityp »Text File« (oder bestätige einfach mit Enter).

Schreibe nun den folgenden Code in die Datei:

1
PRINT "Hello, World!"

Da Visual Studio Code noch nicht weiß, dass es sich um BASIC-Quelltext handelt, ist dein Programm momentan noch einfarbig, aber das wird sich gleich ändern. An dem weißen Punkt erkennst du, dass deine Änderungen noch nicht gespeichert sind.

Drücke nun StrgS, um die Datei zu speichern. Gib hello.bas ein – der vollständige Pfad zu deiner Datei lautet dann /workspace/hello.bas.

Sobald du die Datei gespeichert hast, wird sie automatisch als BASIC-Datei erkannt und die Syntax wird hervorgehoben.

Skript ausführen

Um unser Programm auszuführen, müssen wir den BASIC-Interpreter aufrufen und ihm den Da­tei­na­men unseres Programms übergeben.

Öffne dazu ein Ter­mi­nal, indem du StrgJ drückst und gib folgenden Befehl ein:

bwbasic hello.bas
Du musst nicht den vollständigen Da­tei­na­men schreiben. Schreib einfach bwbasic he und drücke Tab, um den Da­tei­na­men automatisch zu hello.bas vervollständigen zu lassen. Du kannst danach ganz normal weiterschreiben.

Das Programm sollte die Nachricht Hello, World! im Ter­mi­nal ausgeben:

Um BASIC zu beenden, gib SYSTEM ein und drücke Enter oder drücke einfach StrgD.

Fehler finden und beheben

Wenn du einen Fehler im Code machst, wird Python eine Fehlermeldung ausgeben. Versuche zum Beispiel, statt PRINT das Wort PRIN zu schreiben:

PRIN "Hello, World!"

Speichere die Datei und führe das Skript erneut aus:

bwbasic hello.bas
Nutze die Pfeiltaste hoch , um den letzten Befehl erneut einzugeben. So kannst du schnell dein Programm testen, nachdem du es verändert hast.

BASIC sollte eine Fehlermeldung ausgeben, die dir hilft, den Fehler zu finden:

Es lohnt sich, die Fehlermeldungen genau zu lesen, um den Fehler zu finden und zu beheben. Achte auf die Zeilennummer (in diesem Beispiel 1) und den Text, der dir sagt, was falsch ist. Denke daran, den Fehler wieder zu beheben, bevor du das nächste Beispiel ausprobierst.

2. Primfaktorzerlegung

Im zweiten Beispiel wollen wir eine Zahl in ihre Primfaktoren zerlegen. An diesem Beispiel kannst du sehen, wie man in BASIC Be­nut­zer­ein­ga­ben verar­bei­tet und Schleifen ver­wen­det. Erstelle eine neue Datei mit StrgAltN und schreibe den folgenden Code hinein:

1
2
3
4
5
6
7
8
9
PRINT "Enter a number:"
INPUT N
PRINT "Prime factors of " + STR$(N) + ":"
FOR I = 2 TO N
  WHILE N MOD I = 0
    PRINT I
    N = N / I
  WEND
NEXT I

Speichere die Datei unter dem Namen factor.bas und führe sie aus:

Das Programm hat die Zahl 123 in ihre Primfaktoren zerlegt und ausgegeben. Probiere aus, was passiert, wenn du die Zahl 3000000000 eingibst. Was könnte der Grund dafür sein?

3. Bubblesort

Im dritten Beispiel wollen wir eine Liste von 10 Zufallszahlen sortieren. Dafür verwenden wir den Bubblesort-Al­go­rith­mus, der zwar nicht besonders effizient ist, aber sehr einfach zu verstehen und zu implementieren. Der Bubblesort-Al­go­rith­mus funktioniert, indem er die Liste mehrmals durchläuft und benachbarte Elemente vertauscht, wenn sie in der falschen Reihenfolge sind.

An diesem Beispiel kannst du sehen, wie man in BASIC Arrays ver­wen­det, Funk­tio­nen ver­wen­det und Schleifen verschachtelt.

Erstelle eine neue Datei und schreibe den folgenden Code hinein:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
DIM arr(10)
RANDOMIZE TIMER
FOR i = 1 TO 10
    arr(i) = INT(RND * 100)
NEXT i
PRINT "Original array:"
FOR i = 1 TO 10
    PRINT arr(i);
NEXT i
FOR i = 1 TO 9
    FOR j = 1 TO 10 - i
        IF arr(j) > arr(j + 1) THEN
            temp = arr(j)
            arr(j) = arr(j + 1)
            arr(j + 1) = temp
        END IF
    NEXT j
NEXT i
PRINT
PRINT "Sorted array:"
FOR i = 1 TO 10
    PRINT arr(i);
NEXT i
PRINT

Speichere das Skript unter dem Namen bubblesort.bas und führe es aus:

Das Programm hat eine Liste von 10 Zufallszahlen sortiert. Versuche, den Quelltext so zu verändern, dass statt 10 Zahlen 100 oder mehr Zahlen sortiert werden.

4. Zusammenfassung

In diesem Kapitel hast du an drei Beispielen gesehen, wie man ein einfaches BASIC-Skript schreiben und ausführen kann. Das ist natürlich nur ein erster Eindruck. Um BASIC wirklich zu beherrschen, musst du noch viel mehr lernen – am besten, indem du eigene Skripte schreibst und ausprobierst. Die Buchhandlungen, Bib­lio­theken und Youtube sind voll von Material für dich. Viel Spaß beim Pro­gram­mier­en!