John G. Kemeny & Thomas E. Kurtz
BASIC ist eine Programmiersprache, die in den 1960er Jahren von John G. Kemeny und Thomas E. Kurtz am Dartmouth College entwickelt wurde. Sie wurde ursprünglich für Anfänger entwickelt, um das Programmieren zu erlernen. Der Name BASIC steht für "Beginner's All-purpose Symbolic Instruction Code". BASIC wurde in den 1970er und 1980er Jahren auf vielen Heimcomputern eingesetzt. Es gibt viele verschiedene Versionen von BASIC, darunter Microsoft BASIC, Commodore BASIC und Sinclair BASIC.
Heutzutage ist BASIC weniger relevant als moderne Programmiersprachen, wird aber immer noch in Bildungskontexten und von Enthusiasten verwendet, um die Grundlagen des Programmierens zu lehren und historische Computersysteme zu emulieren.
BASIC ist eine Skriptsprache, was bedeutet, dass der Code zur Laufzeit interpretiert wird.
Früher wurde BASIC auf vielen Heimcomputern eingesetzt, darunter der Commodore 64, der Apple II und der Sinclair ZX Spectrum. Im Workspace kannst du BASIC-Programme z. B. mit Bywater BASIC (bwBASIC) ausführen.
Du hast zwei Möglichkeiten, BASIC-Code auszuführen:
Möglichkeit 1: BASIC-Code in der BASIC-Shell ausführen
Öffne dazu ein Terminal, 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-Programme 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 Workspace sollte jetzt ungefähr so aussehen:
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.
Um unser Programm auszuführen, müssen wir den BASIC-Interpreter aufrufen und ihm den Dateinamen unseres Programms übergeben.
Öffne dazu ein Terminal, indem du StrgJ drückst und gib folgenden Befehl ein:
bwbasic hello.bas
bwbasic he
und drücke Tab, um den Dateinamen automatisch zu hello.bas
vervollständigen zu lassen. Du kannst danach ganz normal weiterschreiben.
Das Programm sollte die Nachricht Hello, World!
im Terminal ausgeben:
Um BASIC zu beenden, gib SYSTEM
ein und drücke Enter oder drücke einfach StrgD.
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
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.
Im zweiten Beispiel wollen wir eine Zahl in ihre Primfaktoren zerlegen. An diesem Beispiel kannst du sehen, wie man in BASIC Benutzereingaben verarbeitet und Schleifen verwendet. 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?
Im dritten Beispiel wollen wir eine Liste von 10 Zufallszahlen sortieren. Dafür verwenden wir den Bubblesort-Algorithmus, der zwar nicht besonders effizient ist, aber sehr einfach zu verstehen und zu implementieren. Der Bubblesort-Algorithmus 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 verwendet, Funktionen verwendet 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.
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, Bibliotheken und Youtube sind voll von Material für dich. Viel Spaß beim Programmieren!